链接:https://loj.ac/problems/search?keyword=SDOI2015
其实也没什么感想。。
最大的感想就是质量没有SDOI2018的高
忽然意识到SDOI2018的总结还没有写。。那么就先咕着吧
大部分题比较简单,但也有还行的。。
做起来也比较顺利。。
就这样吧
下文的题目顺序按我觉得难度递增
「SDOI2015」寻宝游戏
一棵树给一些点集,要距离总和
以前见过了。。被PP上课玩出来
就按dfs搞搞就好了,set维护一下前驱后继即可
「SDOI2015」星际战争
二分一下答案
用网络流验证即可
可以直接跑实数,也可以把权*
,跑整数
我觉得用列不等式,跑线性规划的判解也行
「SDOI2015」排序
分析一下,我们把操作大的往前移,方案一定是存在的
更进一步地,可以看成顺序无关,只要按一定顺序考虑每一个方案,最后乘一个阶乘就好了
然后从小到大考虑每一个操作,我们可以知道,在决策了前
个操作的时候,合法的条件是分组是连续的
于是猜想合法的不多,直接爆搜
就按这个剪枝
发现拿了80分
考虑判的时候太慢了,可以在暴力枚举交换点的时候先判掉一些,然后就可以过了
「SDOI2015」约数个数和
在SDOI2018有超级加强版。。
只要知道那个结论就是傻逼题了。。
「SDOI2015」道路修建
本来想按堵塞的交通来做的。。
然后想了一下发现情况有点多,就丢了
想了一下
每一列一定要选一个,但是似乎没什么用
再考虑一下分成左右两个能不能合并
我们现在要考虑的,是两条连接两列的两条边,也就是a和b
然后小的一个一定要选
大的一个,选了一定会出现环,我们要在环上选择最小的
因为左右两边一开始都是合法的
因此这条边的意义在于把其中一边的上下两个点连通
于是我们只需要找到,在未连接之前,两侧的连接上下两点的最短路径就可以了
显然只需要维护第一条树边就好了,因为资瓷合并,因此左边和右边都要
不难发现这个环的形状是横…横竖横…横
横的最小最小值可以维护,竖的话暴力询问就好了
查询最小我另外开了一个线段树。。
之后翻了一下题解,发现并没有这个必要,只需要为维护左右边界的时候顺便维护就好了
如果按我的SB方法,写个线段树查询就是log^2的,正常的人就是log的
A了之后仔细翻了一下,发现还是有按堵塞的交通来做的。。
具体看这里
有点麻烦我就不写了。。感觉这种做法情况一多容易漏。。
「SDOI2015」序列统计
唯一不会的题。。
主要是姿势没有想到
乘法卷积可以换位原根变成加法卷积很妙
本来想过变加法。。但是发现我的姿势里变加法只有取对数。。发现并没有什么用
然后就没什么了。。
有关原根的还是经常想不到。。以后尽量往这方面想想
然后循环卷积其实就是卷积完以后加回去,记得清0