【集训】jzoj 2017.7.7 noip模拟赛A 总结

来源:互联网 发布:平价凉鞋推荐知乎 编辑:程序博客网 时间:2024/06/06 19:56

今天状态较昨天好了不少。(因为题简单了)但还是差不多垫底选手。

7.7的比赛要注意:
1. 至少打完三题暴力再死磕一题! (没有题让我死磕)
2. 思考时间控制在1h, (超过20分钟左右,花在第三题上)
3. 先打暴力再打正解, (达成)
4. 记得多根据数据范围与问题想一下学过的算法。 (达成)

这次先把三题都看懂了再想题。
第一题一开始是没有头绪的,先看了K=0的部分分。然后发现可以通过枚举约数/倍数解决。
后面发现枚举倍数有被卡掉的可能。但看过的这么快还是没有打枚举约数。

第二题第一想法是缩环,但是要考虑环上跑的情况。好像挺麻烦的。 先看了第三题数学题。

第三题一开始在往化式子方向想了,发现无功而返。再观察一下,题目给了我们kp而不是直接给n,所以我将他分成k段打了个表,就发现了规律。结果因为ll*ll爆掉了GG。

所以我们需要LL*LL黑科技 快速加,一次的复杂度是Lg也就是60。
将a*b分解为a2i,2i=b

ll mult( ll A, ll B, ll Mo ) {    ll ret=0;    while (B) {        if ((B&1)>0) ret=(ret+A)%Mo;         A=(A+A)%Mo; B=B>>1;//不能直接用2^i * a 一样会爆    }    return ret;}

第二题最后有方便的倍增,因为路是唯一的。 也有几位3000byte缩环+线段树过的大爷

7.8的比赛要注意:
0. 摆好蒟蒻心态
1. 至少打完三题暴力再死磕一题!
2. 首次思考时间控制在1h, 每一题都要保证至少思考20分钟,不要把容易拿的分丢掉了。这时候暴力应该已经想好了,打完所有有分的题之后再来继续想。
3. 记得多根据数据范围与问题想一下学过的算法。

原创粉丝点击