首页 > 其他分享 >2023.08.10杭电多校第八场

2023.08.10杭电多校第八场

时间:2023-08-11 13:44:46浏览次数:46  
标签:2023.08 10 在模 杭电多校 ll int128 qi pi 同余

solved:3
rank:

C.Congruences

题意:对于每组数据给定M个pi和qi,pi为两两不同的质数,N为所有pi的积,问是否存在最小的正整数x使得 xpi在模N的意义下与qi同余可以推出xpi在模pi的意义下与qi同余在模N的意义下与qi同余,如果存在输出x,否则输出-1;
显然xpi在模N的意义下与qi同余可以推出xpi 在模pi的意义下与qi同余,此外,由于pi为质数,故由费马小定理可得,xpi在模pi的意义下与x同余,因此原问题可转化为给定M个pi和qi,问是否存在最小的正整数x使得x在模pi的意义下与qi同余,用中国剩余定理计算即可,注意要开int128;
又因xpi在模N的意义下与qi同余可以推出xpi在模pi的意义下与qi同余的逆命题不成立,故在算出来结果后还需对每一组pi和qi判断是否成立;
`#include<bits/stdc++.h>

define ll long long

using namespace std;
typedef __int128_t int128;
ll read(){
char ch=getchar();ll x=0,f=1;
while(ch<'0'||ch>'9'){if(ch'-') f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x10+ch-'0'; ch=getchar();}
return x
f;
}
const int maxn=1000000+11;
ll T,M,N,x;
ll p[maxn],q[maxn];
ll p2[maxn],q2[maxn],t[maxn];
ll quickpow(int128 a,ll b,ll Mod){
ll ret=1;
while(b){
if(b&1)ret=(int128)reta%Mod;
a=(int128)a
a%Mod;
b>>=1;
}
return ret;
}
int main(){
T=read();
while(T--){
M=read();
N=1;x=0;
for(int i=1;i<=M;i++){
p[i]=read();q[i]=read();
N=Np[i];q2[i]=q[i]%p[i];
}
for(int i=1;i<=M;i++)p2[i]=N/p[i];
for(int i=1;i<=M;i++){
t[i]=quickpow(p2[i],p[i]-2,p[i]);
}
for(int i=1;i<=M;i++){
x=(x+(((int128)q2[i]
p2[i])%N*t[i])%N)%N;
}
x=(x%N+N)%N;
if(x
0)x=N;
bool flag=true;
for(int i=1;i<=M;i++){
if(quickpow((int128)x,p[i],N)!=q[i]){
cout<<"-1"<<endl;
flag=false;
break;
}
}
if(flag){
cout<<x<<endl;
}
}
return 0;
}
`

标签:2023.08,10,在模,杭电多校,ll,int128,qi,pi,同余
From: https://www.cnblogs.com/burutaofan/p/17622764.html

相关文章

  • FTData063468_000001升级脚本出错,错误信息:SQL 脚本: 18.000.000.0048 DATA_DSTR_EAP_M
    一、问题:cjt15.0版本升级到18.0提示SQL脚本:18.000.000.0048DATA_DSTR_EAP_Mix_NL-11001出错:已在列上绑定了DEFAULT023-08-1019:46:39开始升级....2023-08-1019:46:39正在校验系统信息,请稍候...2023-08-1019:46:39[(000001)****]:开始升级2023-08-1019:46:39[(......
  • IEC104规约(一)协议结构阐述
    一、IEC104协议结构APDU:应用规约数据单元APCI:应用规约控制单元ASDU:应用服务数据单元 二、APCI2.1启动字符默认固定为68H,意思就是只要是IEC104协议就是以68H开头2.2APDU的长度问题起始一个apdu的总长度不会超过255个字节;在协议中的第二个字节会记录本ap......
  • 【2023-08-10】考核办法
    20:00人活着,要会享受过程,但在所有过程中都要十分尽力。                                                 ——程津培昨天公司发了年终奖,我并不知情。因为,我的两张工资......
  • 20230810比赛
    T1队列变换DescriptionFJ打算带他的N(1<=N<=30,000)头奶牛去参加一年一度的“全美农场主大奖赛”。在这场比赛中,每个参赛者都必须让他的奶牛排成一列,然后领她们从裁判席前依次走过。今年,竞赛委员会在接受队伍报名时,采用了一种新的登记规则:他们把所有队伍中奶牛名字的首字......
  • Programming abstractions in C阅读笔记:p91-p106
    《ProgrammingAbstractionsInC》学习第45天,p91-p102,完成第二章内容学习。总结如下:一、技术总结1.垃圾回收p91,"Somelanguage,includingJavasupportasystemfordynamicallocationthatactivelygoesthroughtoseewhatpartsofitareused,freeinganystorageth......
  • [刷题笔记] [JSOI2010] 连通数
    DescriptionProblem由于题目太短我直接上图罢Analysis题目描述非常简单,但是直接爆搜肯定会TLE,毕竟\(n\leq2000\)并且timelimit=300ms。我们发现如果题目保证无环直接topsort即可,问题就在环上,如何处理环呢?我们可以缩点,缩点笔记,显然我们只需要统计答案数,缩完点后就变成了......
  • 2023.8.10
    今天上午继续看科四的题,看着看着困得要死,于是直接昏睡过去,但是却做了一个很emo的梦,让我直接变得心累(可能也是最近太过于喜欢猜疑)(或者说原来本来就不相信)然后中午又开始乱猜,憋了半天还是把自己的真实想法隐晦地表达出来,好吧其实也都得到了一个很合理的解释下午继续看题,尝试了一下......
  • KEIL5新建工程0810
       在保存各种项目的文件夹内创建一个项目文件夹1新建工程到文件夹1选择芯片添加工程的必要文件(固件库)STM32程序是从启动文件开始,复制这些文件到文件夹A的新建Start文件夹下stm32f10x.h 外设寄存器描述文件(寄存器名称以及地址)system_stm32f10x.c配置时钟......
  • 有感。2023.8.10
    他比我更懂我。他道出了我学OI的意义所在。这是我一直无法企及的,即便我有着人类的思维方式,有着人类的感情。记住,成功并不仅仅取决于起点和资源,更取决于你的坚持、努力和积极的心态。祝愿你在NOIP2023中取得理想的成绩,不管结果如何,都要为自己感到骄傲,继续追求卓越,享受OI之路......
  • GAMES101笔记(04)
    本篇对应的是第七课上节课讲完了光栅化的内容,这节课讲的有深度测试,光照和着色深度测试我在学校看shader入门精要的时候有些印象,但也仅此而已了,我觉得还是要先补一下图形学的知识再去啃入门精要会好一些 深度缓存在计算机成像时,对于一个我们要输出的画面,如何确保画面上的东......