7.16模拟赛总结
Posted Flame♡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.16模拟赛总结相关的知识,希望对你有一定的参考价值。
感觉只有脱离求学阶段之后,这种”早上起来觉得痛苦的一天又开始了,晚上睡前觉得痛苦的一天终于结束了,然后躺在床上想的都是今晚再长一点,明天最好永远不要到来“的状态才能结束
今天的考试策略不好
时间安排
8.00-10.30
还是我年轻了 我一看T1:这不sb贪心! 然后又看看2:这不奶牛题原题? 看看3 感觉是个ds套字符串算法
然后我T1疯狂贪心 我的第一种贪心跑不过小样例 我非常难蚌 第二个大样例跑到220
然后我又改了一版 我的第一种贪心跑过去了 第二个才跑到22
我:well 原来sb竟是我自己
10.30-11.40
写T3 sam+前缀和 询问O(1)
10.40-…
吃了个饭 想着回来写人均会写的T2暴力 结果发现:蚌埠著了 我不会 嘎 然后最后没时间打T1的dp了
题目分析
T1
乱贪 用堆维护
upd
脑子冷静下来后想一想会写那个搜索 记忆化一下 复杂度是 3 9 ∗ 4 2 3^9*4^2 39∗42
痛失36分 唉 考试策略太不好了 一直在贪心贪心贪心
T2
不会暴力剪枝 鲨了我算了
upd
1.暴力剪枝 (正在学
2.没注意到的不含? 的部分分(望天
28分
上面感觉能拿48,感觉非常不好
T3
考虑搞出sam 然后处理出每个字串的答案 然后前缀min处理它包含的答案
upd:
有一个和sam相关的部分分:
考虑从对于每个询问 然后从 l l l 开始沿着dag走 然后答案就是到根的一条路径上的min
然后某个点的occ相同 一定会取这个点len最小的
考虑答案的两部分组成: 首先是occ 这个东西可以dfs后缀树的时候维护出来(子树内下标个数和)
然后考虑 ∑ a \\sum a ∑a 我们考虑得到它的任何一个出现位置就好 具体来说 只要dfs 把子树内的位置给他就好(这个我是真的想不到)
这样每个点的答案就确定了 然后再dfs一下维护出来每个点到根的min
这样是 ∑ i = 1 q ( r i − l i + 1 ) \\sum\\limits_i=1^q(r_i-l_i+1) i=1∑q(ri−li+1)
然后考虑再多拿一点部分分: 套个莫队
加上第一档暴力一共53
总结 今天要是能把暴力打出来 就可以冲榜10了)
不过最后这个我是真想不到
但把其他暴力打到 48+10+14感觉也还行了)
暑期编程PK赛 得CSDN机械键盘等精美礼品!以上是关于7.16模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章