03 2018 档案
摘要:首先,容易得到判断一个子串为“good k d sequence”的方法: 子串中没有重复元素,且所有元素模d相等。 记mx为除以d的最大值,mn为除以d的最小值,则$mx mn 为避免出现重复元素,线段树上二分时有限制。 特判$d=0$的情况。 时间复杂度$O(nlogn)$。 cpp inclu
阅读全文
摘要:一个显然的结论是最终树的形态必然是一条链。具体证明只要考虑选定树上的某一条链,然后把其他部分全部接在它后面,这样答案一定不会变劣。 那么,一开始的想法是考虑每一位的最后出现位置,但这并不容易实现。注意到最终序列是单调递减的。我们在统计答案之前,把公共位先统计掉,即始终都是1的位。这样,剩下的位的最终
阅读全文
摘要:对树上的路径进行操作是十分难处理的事情。一开始的思路主要针对于$a_i using namespace std; const int TOT = 1 1; for (int i = 0 ; i j 1)&1) tmp ^= j; res[i] = tmp; } for (int i = 1 ; i
阅读全文
摘要:这道题的数位dp是很显然的。然而,本题不仅要计数还要保证最优化,这使得我们难以得到一个简单的dp状态表示方式。 遗憾的是考虑dp状态数的直接减少是一个错误的思考方向。本人在此浪费了几个小时的时间。 注意到虽然是最优化,但决策数是非常少的,仅有O(logn)级别。同时,我们可以很容易地判断一个解是不是
阅读全文

浙公网安备 33010602011771号