当前位置: 首页 > news >正文

题解:P10383 「HOI R1」杂分选约

学生零太强大了。


考虑到题目保证了 \(p, q \le 3 \times 10^9\)。记值域 \(V = 3 \times 10^9\)

则我们声称,取一个大质数 \(P > V^2\),然后求出 \(\left(\prod \limits_{i = 1}^n a_i\right)\left(\prod \limits_{i = 1}^m b_i\right)^{-1} \equiv x \pmod {P}\)。则如果找到了 \(x \cdot y^{-1} \equiv x \pmod {P}\),则我们求得的 \(x, y\) 就是最终的答案。

由定义 \(\frac{p}{q} \equiv \frac{x}{y} \pmod {P}\)

那么 \(py \equiv qx \pmod {P}\),即 \(py - qx = kP, k \isin \N\)

显然 \(py - qx < V^2, kP > V^2\),因此 \(py - qx = 0\),即 \(\frac{p}{q} = \frac{x}{y}\)

现在要解同余方程 \(\frac{p}{q} \equiv x \pmod {P}\)。可以转化为 \(p \equiv qx \pmod {P}\)

那么可以 BSGS。设一个阈值 \(B\),假设 \(q = aB + b\),那么 \(p \equiv aBx + bx \pmod {P}\)。我们接下来先枚举 \(a\),将 \(aBx\) 使用一个数据结构存下来。

接下来我们枚举 \(b\),想要知道对于这个 \(b\) 有没有满足条件的 \(a\)。然后由于 \(aBx < 2P\),所以 \(aBx + bx \isin [0, V]\)\([P, P+V]\),也就是查询是否存在 \([0, V - bx] \cup [P - bx, P + V - bx]\) 的范围内是否存在我们已经存好的 \(aBx\)

我们可以把 \(aBx\) 排序一下,然后在上面二分,就可以得到是否有在给定范围内的 \(aBx\) 了。

那么这道题就做完了,理论上 \(B = \sqrt V\),复杂度可以到达 \(O(n + \sqrt V \log V)\)。实际上 \(B = 10^4\) 较快。

要卡常,快读是贺 Purslane 的。

#include<bits/stdc++.h>
#define endl '\n'
#define N 1000006
using namespace std;
using i64=long long;
using i128=__int128;
constexpr i128 MOD=(i128)9000000000000000041;
constexpr int B=1e4,iB=3e5;
int n,m,_,tot;
i128 t,ma=1,mb=1,val,ival,num[iB+6];
inline void write(i128 k)
{if(k<0)putchar('-'),k=-k;int nnum[40],ttp=0;while(k)nnum[++ttp]=k%10,k/=10;if(!ttp)nnum[++ttp]=0;while(ttp)putchar(nnum[ttp--]^48);
}
class IO_helper{ // by purslane
private:static const int L = 1 << 16;char in_buf[L], *in_st, *out_st;char _getc(){if (in_st == out_st){out_st = (in_st = in_buf) + fread(in_buf, 1, L, stdin);if (in_st == out_st) return EOF;}return *in_st++;}
public:template <typename IntType>IO_helper &operator>>(IntType &x){bool ok=0;char c; while ((c = _getc()) < '0' || c > '9')ok|=c=='-';for (x = 0; c >= '0' && c <= '9'; c = _getc())x = x * 10 + c - '0';x=(ok?-x:x);return *this;}
} IO;
i128 qpow(i128 x,i128 y=MOD-2)
{i128 ret=1;for(;y;y>>=1,x=x*x%MOD)if(y&1)ret=ret*x%MOD;return ret;
}
i128 gcd128(i128 x,i128 y) {return y?gcd128(y,x%y):x;}
int check(i128 p)
{i128 q=ival*p%MOD;if(p&&q&&p<=3e9&&q<=3e9){i128 g=gcd128(p,q);p/=g,q/=g,write(p),putchar(32),write(q),putchar(10);return 1;}return 0;
}
int lb(i128 x)
{int l=1,r=tot,ret=tot+1;while(l<=r){int mid=l+r>>1;if(num[mid]>x)ret=mid,r=mid-1;else l=mid+1;}return ret;
}
main()
{IO>>n>>m>>_;for(int i=1;i<=n;i++)IO>>t,ma=ma*t%MOD;for(int i=1;i<=m;i++)IO>>t,mb=mb*t%MOD;val=ma*qpow(mb)%MOD,ival=qpow(val);for(int i=0;i<iB;i++)num[++tot]=i*B*val%MOD;sort(num+1,num+1+tot);for(int i=0,it;i<B;i++){i128 b=(MOD-i*val%MOD)%MOD;it=lb(b);if(it<=tot&&check((i*val+num[it])%MOD))return 0;it=lb(0);if(it<=tot&&check((i*val+num[it])%MOD))return 0;}write(val),printf(" 1\n");return 0;
}
http://www.jsqmd.com/news/480570/

相关文章:

  • 舟山亲子游二日游必住的酒店,舟山亲子主题度假酒店推荐 - 工业品网
  • 北京劳力士/上海积家/南京欧米茄维修哪里好?六大城市高端腕表养护全攻略 - 时光修表匠
  • 2026年空气能热水器品牌权威榜单发布:五大品牌技术实力与节能效果深度排位赛 - 品牌推荐
  • 【开源】基于51单片机的温湿度检测报警系统 - 少年
  • 2026年诚信PVDF工厂揭秘:行业前五如何靠品质赢得市场? - 企业推荐官【官方】
  • 小型粉碎机品牌众多,三创作为源头厂家排名怎样 - mypinpai
  • 鑫澜古建铝代木性价比高吗,2026年古建铝代木市场分析 - 工业品网
  • 绿色采暖时代加速:2026年主流空气能热水器品牌市场竞争力与格局解析 - 品牌推荐
  • MySQL迁移到金仓的集合类型支持实践:CREATE TYPE + SET 的兼容实现
  • 2026年苏州性价比高的家装公司盘点,说说苏州全屋定制装修 - 工业设备
  • 智能建筑入口全面升级:2026年主流自动门品牌市场竞争力与行业格局解析 - 品牌推荐
  • 剖析苏州室内装修,品牌推荐及个性化需求满足情况和报价探讨 - 工业品牌热点
  • 2026年广州价格优惠的衬衣定制厂家推荐,哪家服务周到 - mypinpai
  • 2026年行业内口碑好的彩印包装生产厂家有哪些,工业纸箱/彩印包装/纸箱/纸盒/农产品纸箱,彩印包装源头厂家口碑推荐 - 品牌推荐师
  • 2026年大型项目选型必看:自动门品牌精准适配指南与核心场景实测分析 - 品牌推荐
  • 2026徐州空间榜样装饰设计公司价格贵吗,成本控制揭秘 - 工业推荐榜
  • 2026年自动门品牌深度测评:基于极端环境适应性与智能集成的五维对比 - 品牌推荐
  • 聊聊2026年徐州有实力的装修公司推荐榜,费用怎么算 - 工业设备
  • 剖析上海AI录音笔品牌,芯连芯价格贵不贵? - myqiye
  • 分析2026年舟山亲子主题度假酒店性价比排名,选哪家不踩雷 - 工业品牌热点
  • 2026年万渠水泥制品好用吗,河南地区使用体验分享 - 工业品牌热点
  • 2026年3月自动门品牌决策咨询评测报告 - 品牌推荐
  • 国产openclaw重磅来袭,阿里 CoPaw vs 腾讯 WorkBuddy 安装部署全攻略
  • 周末安排生成器,输入预算,人数,偏好,自动推荐活动方案,告别选择困难。
  • 2026年危废暂存间领域,这些公司表现亮眼,防爆危废间/危废间/危废暂存间,危废暂存间制作厂商排行 - 品牌推荐师
  • 2026年不错的戒网瘾学校推荐,重庆冠毅教育育人模式怎么样 - 工业推荐榜
  • 消耗4000万Token后,我发现了OpenClaw的“吞金“真相(附完整优化方案)
  • 2026年苏州热门的GEO推广代理公司推荐,苏州蓝戈链企性价比高值得选 - myqiye
  • 兰州装修公司排名前十强施工质量对比——紫兰装饰德系工艺,匠心打造 - 装修热点在线
  • 2026年用户口碑最佳的自动门品牌推荐:五大品牌项目案例与稳定表现对比 - 品牌推荐