为啥没有人评论
Xiejiadong edited 6 年,4 月前
ultmaster: 难度顺序又反了。难度顺序与题目顺序不怎么有关,已经成为月赛特色了。
Xiejiadong: 三个 C 题,一致通过还是我的最签到。
Claris: 怎么这么简单啊?难度顺序递减的啊?
两分钟比赛结束的选手:??????
# | Tag | Idea | Developer | Tester |
---|---|---|---|---|
A | 小学数学 | Xiejiadong | Xiejiadong | oxx1108 |
B | 蒙特卡洛模拟 | ultmaster | ultmaster | Xiejiadong oxx1108 |
C | 组合数学 DP | Xiejiadong | Xiejiadong | oxx1108 |
D | 想法 乱搞 | oxx1108 | Xiejiadong | ultmaster |
E | 二分答案 贪心 | Xiejiadong | Xiejiadong | oxx1108 |
F | 后缀平衡树 | Xiejiadong | Xiejiadong | zerol |
温暖的签到。
已知最大的和最小的,那么和最大的情况一定是除了一个最小的,其余全部是最大的;相反地,和最小的情况一定是除了一个最大的,其余全部都是最小的。
显然,我们可以通过一些调整,取到从和的最小到最大这整个区间里所有的数。
题面有误导性(向 Xuzhou 学习的)。这个题是「C 语言程序设计基础常见期末考题」之「蒙特卡洛模拟」。
精度要求只有
对不是 0 的部分,显然
那么
出题人:听说大家都不会做随机题啊?得加强随机题训练啊?
野鸡验题人:随机试了发,发现样例一误差有点大,误以为是因为 rand()
是假随机所以过不了……
ultmaster:看样子,大家随机确实不大行啊。
可以发现,询问很多,但是主串
我们可以枚举第一个位置
假设当前枚举到的一个位置
显然,
预处理完成以后,对于所有的询问都可以
但是我们发现询问给出的
std 写的又丑又长,常数还巨大,为了避免卡常,可能把暴力也放过去了。
ultmaster:写了个复杂度
存在多解是骗人的。
显然,如果存在平方项,那么这个项一定两边都出现了,将出现的平方项所包含的数全部标记添加到两边。
剩余的数一定属于且尽属于一边,那么用 DFS 或者并查集乱搞一下,把他们分开就可以了。
如果没想清楚可能会很难写,想清楚了就很水了。(其实难度和
如果写得不优雅去掉平方项后一边为空的可能会错。
要求包含关键点的最大联通块最小,自然考虑二分答案。
假设我们现在二分的值为
我们假设
这个
如果结点
如果结点
野鸡验题人:二分答案后, DFS 维护当前子树最大可以再放容量/当前子树未被覆盖的总和即可。
我们把这个问题拆分成两个问题解决。
首先考虑一个字符串的不同子串个数怎么计算,这个应该算是模板题了。
其次就是一个字符串重复多次的时候怎么计算。
这样一来,我们就可以结合这两部分的算法,得出总的解法了。
或者直接计算前
那就来评论一下吧~