当前位置: 代码迷 >> 综合 >> 2020 ICPC·小米邀请赛 决赛
  详细解决方案

2020 ICPC·小米邀请赛 决赛

热度:22   发布时间:2023-10-29 04:22:58.0

游记什么的没空写了,虽然有许多很有趣的事情想写
但是出去旅游拉下了一大堆作业。。
以前高中写游记可以心安理得占用训练时间
但现在不是了。。至少现在ddl要到了
简单总结一下:
1.还是现场赛有意思
2.小米举办的真不错,体验极佳欢迎大家去小米实习

现场只有3T,BGK,最后E给我打傻了。。
更正一下看过的题

I

可以发现,我们不可能出现被打2A的情况
如果出现了,那么改为每天回答问题一定更优
那么就变成了,要么每天回答问题,要么选一个大于K的子段忽略掉
简单DP就可以了

J

物理没学好我人傻了
原话照搬:
有两种策略
一种策略是每一本书都尽可能地往右伸,让整体中心落在下面一本书的边缘
第二种策略是把所有书堆在下面一本书的左边缘,让下面一本书可以往右伸得更长
上面的质量是不变的
不管怎么堆都是在等效重心对下面的书产生相同的力
而等效重心最远就只能放在下一本书的左边缘
然后 DP 这玩意
DP[s] 表示已经考虑了 s 这个集合了,右边缘能超出整体重心多远即可

E

当时死在了开头有1的情况
有空再想想

D

太久没做字符串,只会sam数字串自闭了
开局就知道了转化为第一次出现为0,别的为上一个出现的距离,然后就没做了。。
先考虑字串怎么数?
后缀排序,减去重复的
重复的就是相邻两个串的LCP。。
标解是O(26nlogn)O(26nlogn)O(26nlogn)但我没懂sa怎么搞这玩意。。
说一个暴力的做法
但可以用二分hash暴力实现后缀排序,因为hash值最多改变26。。
复杂度O(26nlog2n)O(26nlog^2n)O(26nlog2n)
因为一旦修改一定是最小的
因此可以根据断点一段一段判断,这样这个26的常数就期望非常小了。。可以通过