好难啊。
T1
最难的题。
推式子很难推。
但是我考场上想到一种二次剩余硬解的方法。
写在上一篇博文里面了。
推式子的话。
其实这种求解的数论题要点就在于奇偶分类讨论和迭代递归思想。
包括缩小数据范围等等。
这些思路是最重要的。
式子仔细看就可以看懂的。
T2
灌水。
神奇的结论(A)掉这个题。
我们设(dp[i][j])为前(i)个木板,是否能够拼成容量为(j)的桶子。
用(bitset)来实现这个操作。
按位或和移动就可以。
转移的时候把比他大的全都转移一次就可以涵盖所有情况了。
T3
数论题。
我们考虑只含有一个质因子的情况。
这个时候我们肯定是只考虑转轴上的(i,i+n/p,i+2*n/p....)
这样可以保证段数最少,也就是扔掉的扇叶最少。
因为间隔是最大的。
如果含有两个质因子。
那么我们把(n)分成(n/p1/p2)组。
这样的任意两组之间永远没有关系。
然后每一组又两种实现方式,一种是分成(p1)段,一种是分成(p2)段。
求出两种实现需要的个数然后直接贪心即可。
复杂度(O(n))