上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 发现是求[ice的和]与[fire的和]的较小值的最大值。ice的和,是一个单调不下降的函数,fire的和,是一个单调不上升的函数。两者较小值的最大值,显然在它们相交的地方取到。二分相交的地方。用数据结构分别维护ice和fire,时间复杂度O(nlog^2n)。直接在线段树上二分,复杂度O(nlogn),但是常数较大。用树状数组上倍增的技巧代替线段树上二分,就可以了 阅读全文
posted @ 2020-06-26 19:43 duyiblue 阅读(596) 评论(1) 推荐(1) 编辑
摘要: D是贪心。难点在于把树的形态和生成方法搞明白。E也是贪心,思路是从边界入手,考虑什么人能被放到最后,然后把这些删掉,继续考虑即可。F是个博弈题,而且是多轮游戏,这比较特别,但处理的方法也是个套路,算是学到了。重点还是在于搞清楚单轮游戏,什么情况下能赢,什么情况下能输。需要仔细的分析。 阅读全文
posted @ 2020-06-24 14:41 duyiblue 阅读(501) 评论(0) 推荐(2) 编辑
摘要: day1 T1 爆零是我万万没想到的!今年省选,算是翻车了。day2 180,我自己觉得是正常发挥了,但还是比不少人低。大家都很厉害!不过这也是很好的经历。可以看出,我水平还有很大的进步空间。随着升入高二,我要应该更珍惜时间,努力提升水平。争取明年省选成功! 阅读全文
posted @ 2020-06-21 16:43 duyiblue 阅读(2676) 评论(9) 推荐(15) 编辑
摘要: 考虑预处理出s的每个子串是不是t的子串。发现对于一个左端点i,是t子串的右端点是从i开始的一段连续的区间,我们记这样的最大右端点为R[i]。对t建SAM,可以通过在SAM上跳求出R[1...n]。然后对于询问l,r。分r<=R[i]和r>R[i]两类讨论。那么相当于一个二维的区间最大值查询。通过离线去掉一维,另一维用线段树维护即可。 阅读全文
posted @ 2020-06-18 17:46 duyiblue 阅读(420) 评论(1) 推荐(2) 编辑
摘要: 先求严格上升的这些序列的权值之和,再乘以n!就是答案了。DP。设f[i]表示所有长度为i的,严格上升的序列,的权值和。考虑在f[i-1]后面加一个数,转移到f[i],那么要求新加入的数不能和前面任意一个数相同,且必须是最大的。先不管是不是最大的,最后再除以i就行。不能相同这个条件可以容斥。最后发现需要预处理自然数幂的和,用求逆,把NTT换成暴力乘就行。 阅读全文
posted @ 2020-06-16 17:24 duyiblue 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 把枚举位置改成枚举值,那么只要判断,值域序列上,两侧,对应的位置里有没有一个小于pos[i],一个大于pos[i]。大于、小于分别看做01,那么就是要判断01序列有没有不相等的值。可以用bitset或哈希。 阅读全文
posted @ 2020-06-14 23:43 duyiblue 阅读(469) 评论(3) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2020-06-14 23:13 duyiblue 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-06-09 23:09 duyiblue 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 核心性质:单独一个点,假如固定每个操作的数目,则得到的草呈矩形,且形状不会应操作顺序变化而变化。所以最后的结果与操作顺序无关。同时发现当向上、下次数总和一定时,若无上下边界,则草地形状一样。考虑枚举向上、向下次数分别为多少,计算所需的向左、向右次数。然后优化为枚举向上、向下次数之和,做扫描线,用单调队列维护。 阅读全文
posted @ 2020-06-07 23:29 duyiblue 阅读(688) 评论(0) 推荐(2) 编辑
该文被密码保护。 阅读全文
posted @ 2020-06-03 23:27 duyiblue 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 条件相当于求不能走原图里的边的方案数。把它容斥成,求必须走至少i条原图里边的方案数。先做状压DP,求出把原图,划分为x条链的方案数。链之间是完全图,完全图的哈密尔顿路径数量是x!,要乘上容斥系数,取决于不合法的边数。因为有n个图,相当于做n次背包,也就是自己卷自己的卷积。我们转成点值,然后快速幂,最后IDFT回去即可。 阅读全文
posted @ 2020-06-03 22:20 duyiblue 阅读(164) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2020-06-03 22:13 duyiblue 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 集合内两两距离小于等于x,等价于集合里深度最大的点,到所有其他点距离均小于等于x。把所有点按深度排序。依次枚举一个点作为深度最大的点,然后将它标记。我们每次要求所有已标记的点中到当前点距离小于等于x的点的数量。可以用点分树+树状数组统计。统计出这个后,做一遍FFT求出答案 阅读全文
posted @ 2020-06-01 18:17 duyiblue 阅读(322) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-05-30 22:46 duyiblue 阅读(5) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-05-30 22:34 duyiblue 阅读(0) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页