1.第一眼是优先队列,然后发现n很大。
然后再观察一下,发现就可以二分,然后套用莫比乌斯反演里面的分块。
然后卡卡常就过了。
发现一个严肃的事情,就是说long long相除(相模)都会占用很多时间。
3.
比赛的时候就觉得是dp,
但是我是这样想的:
先把数排序,然后设f[i][j]表示处理完前i个,代价为j。
转移我是想每次更新右边界,然后界内蜜汁组合数。
然后发现这完全行不通。
然后就只好打暴力了,打了暴力20分之后,又想到一种dp。
然后其实又不行。
然后又开始向额外的20分,又不行。
然后gg,整个人都不行了。
现在看来,这些都是很基础的题目了。
比赛后发现,人家都发现了可以这样dp:
f[i][j][k]表示dp到第i个,j个未完结的组,k代价。
这个可以过50分,题解法则是优化了第三维的空间。
实在是没有想到,
探究一下其中的reason:
从第一步就开始走远,想着说选出一些区间使得覆盖整条线段。
现在想来,并没有意识到未完结的区间是等价的。