随笔分类 - 做的题
摘要:写在前面的话 我从今年 月末开始断断续续地写 ARC 的题目, 月中旬的时候已经做了少量的题了,还有许多 F 没写,一方面是因为我水平太差看不懂题解,另一方面是因为一种题写多了总是有一种无聊的感觉的。所以到此为止吧,把这些日子水的题放在这篇博客中吧,以后再写 ARC 的题大概会
阅读全文
摘要:AT_agc027_f 一道比较神经的题,很好地延续了 AT 的风格。首先判一下两棵树是不是完全相同,如果是的话就直接返回 。既然两棵树不相同就枚举第一步的操作是什么,假设移动的是点 ,那么显然这个点在后面的所有移动中都不会再动了(题目中说了一个点只能被移动一次),于是可以以这个点为根把
阅读全文
摘要:P3227 一种妙的建模方法。首先可以看成是许多条链,然后每个链上只能选择一个点;转化成一条链,相邻点的边权为原图上对应点的点权加上 inf,这样一来就能保证我们只会去割掉一条边了。然后问题就变成了如何保证某两列选择的点绝对值不超过 呢,只需要从 向 连边
阅读全文
摘要:CF1647E 首先每次新增的人数是确定的,所以可以很快统计游戏进行的轮数。然后就可以倍增来找出每个位置最后存在的位置,然后就可以发现位置大概分成两类,有主的和无主的。有主的就是最后位置的数是原先十三个州中的一员,相同主的显然会构成一个集合,集合中需要满足有这个主并且其它元素大于这个主。到这一步就可
阅读全文
摘要:CF512D 首先,显然环上的点没有贡献。所以最后有用的点会形成一个森林。显然可以把每棵树当成一个物品做背包。难点在于如何统计一棵树“每次删一个叶子,指定长度的合法操作序列”,毕竟对于一个点,合法的序列可能是先删子树外的点,然后再删自己。所以可以枚举最后一个删除的点,把无根树问题转化成有根树问题。发
阅读全文
摘要:CF193D 首先把问题转化成值域上有多少个区间映射到原数列上形成的连通块数量不大于 (当然要求区间大小不为 )。枚举右端点,然后考虑有多少个左端点合法。考虑右端点挪动时对每个位置的变化量,首先可以把新点看成一个新连通块,也就是所有点都加一;然后寻找哪些点会变化,也就是当前点可能合并哪些
阅读全文