的确扛过了联赛,然后貌似也做好了心理准备。

[考试反思]1217省选模拟1: 苟且

[考试反思]1217省选模拟1: 苟且

但是这。。。

再加上联赛的先天劣势。。。

先不用说翻盘,好歹省选跟别人追平,才有资格谈翻盘吧?

(然而其实就算追平了也没资格,还差十几分)

省选这个难度,追十几分。。。

最近烦心的事是真的多。。。扛过这一段,也许一切都会好起来吧。。。

 

省选模拟4个小时,并没有想象中那么漫长。

难度预估全错:T2<T1<T3。与现在所认为的难度顺序,只是大于号全部想成了小于号。。。

然后自然,时间分配就全乱了。

看到T3树论?还放在T3的位置上?啥还NPC了?大神题不敢做,然后就丢掉了唯一一个可能想出来的题。

坐在我右边的三个大神都切了我给我这一排丢人了2333

然后就一直在找T1和T2的规律。

刚开始T1还没看到保证P是质数白YY了半天。

后来在想的时候,想到指数肯定不能直接算,所以应该要用原根。然后想了一会脑子里萌生了一个想法:

不是所有的质数都有原根!

然后我就歇比了我也不知道我是怎么想的反正这个“灵光一现”就帮助T1把我切了。

T2显然是找不出来规律的,但是我花费了大量的时间。。。然后写的搜索懒得打剪枝就丢了10分。

懒得打。。。?其实我算了一下复杂度,差不多是对了就扔了,,然而并没有发现无良玩意有1000组测试数据。。。

过了一会离考试结束还有20分钟发现T1的20分暴力貌似会TLE0,急忙修改,改的时候灵感突现顺手写了个40分的不会证算法。

发现这个很适合打表,但是还有十几分钟。。?

最后就拿到了这个啥也不是的成绩。

希望明天不要这么蠢了。。。关键是要静下心来。。。

题是真的难,而且部分分的确没什么区分度(基本所有人都想的出来而且分值小),所以还是要冲着正解去不然3道题加起来才100分玩个啥啊。。。

 

T1:天空碎片

题意:求$1<=n,m<=P(P-1)$满足$n^m \equiv m^n (mod \ P)$。数据范围:$P \le 10^{12} $。答案对给定模数取模。100组测试数据。

一看到题目里那个P(P-1)就知道事情一定不简单。对于一个幂,底数可以对p取模,指数可以对(p-1)取模。

所以P(P-1)就会刚好取遍每一个底数/指数值一次,我们只要统计这样的值对P取模后有多少种放进桶里,平方后就是对答案的贡献。

 1 #include<cstdio>
 2 #define int long long
 3 int mod,x,buc[1111];
 4 main(){
 5     int t,ans;
 6     scanf("%lld%lld",&t,&mod);
 7     while(t--){ans=0;
 8         scanf("%lld",&x);
 9         for(int i=0,w=1;w=1,i<x;++i)for(int j=0;j<x-1;++j,w=w*i%x)buc[w]++;
10         buc[0]++;buc[1]--;
11         for(int i=0;i<x;++i)ans+=buc[i]*buc[i]%mod,buc[i]=0;
12         printf("%lld\n",ans%mod);
13     }
14 }
40分暴力

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-23
  • 2022-12-23
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案