摘要:
G. Old Floppy Drive 维护一个前缀和 再维护一个单调的前缀和 因为我们后面的数花费更大 只有贡献更大的时候才会有用 这样就好做了 对于每个查询我们知道他最少的轮数肯定时单调的减去最后一个数/一轮的值上取整 但是前面会有数比他花费少一点 记住我们前面是具有单调性的 我们直接二分出这个 阅读全文
posted @ 2022-11-09 17:28
ycllz
阅读(22)
评论(0)
推荐(0)
摘要:
D. Genius's Gambit 构造 要是a>=k的构造很好想出来 但是a+b-1>k&&k>a时 其实也可以构造出来 我们考虑让中间的一些1经过减法变成0 然后到高位时再与低位的1相减 例如: 11111100000 10111100001 这样我们最多就可以得到a+b-2个1了! 最后注意 阅读全文
posted @ 2022-11-09 16:29
ycllz
阅读(38)
评论(0)
推荐(0)
摘要:
C. 1D Sokoban 我们左右两边其实是一样的 我们就针对右边讨论 左边转化成整数就是右边一样的了 对于我们第一个箱子 我们枚举第一个箱子到每一个特殊点 这样显然包含最优解 考虑反例 要是我们这个箱子不放在一个特殊点 而是放在一个特殊点前面一些位置 我们显然应该把就近的特殊点全部覆盖掉 所以我 阅读全文
posted @ 2022-11-09 15:05
ycllz
阅读(19)
评论(0)
推荐(0)
摘要:
B. Up the Strip 考虑dp dp[i]表示当前i位置的cnt 考虑转移 我们对于第一个操作显然只用维护一个后缀和即可 dp[i]+=s[i+1] 对于第二个操作 也很简单 我们知道i的值 z除一个数j下取整等于i z的范围就是 [ij,ij+j) 然后我们就会发现这是一个调和级数 最后 阅读全文
posted @ 2022-11-09 03:04
ycllz
阅读(20)
评论(0)
推荐(0)
摘要:
A. Binary Literature 我们观察发现 就是找两个串要是最长公共子序列大于等于n的 我们就一定可以构造出一个出来 但是传统的最长公共子序列是n2的 我们考虑一些特殊的性质 我们发现他只是一个01串 01串的匹配可以说是非常大 三个01串 一定可以找到两个的0或者1 有大于等于n个的0 阅读全文
posted @ 2022-11-09 01:06
ycllz
阅读(19)
评论(0)
推荐(0)

浙公网安备 33010602011771号