7.13模拟赛总结
Posted Flame♡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.13模拟赛总结相关的知识,希望对你有一定的参考价值。
属于被吊打了
老实说 感觉今天这场特别noi (应该比较day2吧
早上过来状态特别不好 昨晚做了一晚上梦 睡眠质量特别糟糕) 感觉在梦里过了好几年
发现了自己在一些乱搞上的不足)
时间安排
8.00-10.00
看了一会T1 发现自己会 反过来的版本(是不是可以出题 写博客的时候网站上不去 寄!)
然后继续想T1 感觉应该是相对可做的一道
然后看T2 一眼过去没有想法
又看了看T3 想了一会 会一个栈的贪心维护版本 复杂度 O ( n m l o g n ) O(nmlogn) O(nmlogn)
写写写调调调
10.00-10.40
思考了一会T2 开始写 写写调调但还是犯错了)
10.40-…
又想了一会T1 真的没有任何想法(流泪) 感觉很无奈 只能先打了暴力
题目分析
T1
硬枚举
upd
巧妙做法:枚举 T T T 和 S S S 的哪个字串形成最长的匹配 然后枚举下一个失配是什么字符 最后kmp check一下
为了去重 考虑把所有字串放到trie上 复杂度是 n 3 n^3 n3
那么怎么优化呢
比如 A A B C A A A B C B AABCA~~~AABCB AABCA AABCB 两个字符串 只有最后一位不同 那么S对他们做kmp的反应的改变应该是很小的
所以我们考虑一边在trie上dfs一边做kmp
感觉缺少一些对基础算法的高妙理解 就是灵活运用 有机会的话想找一些这种题练 就并没有用很难的算法 但转换很巧妙
T2
只会n=1 n=2
upd
好像是有二分性质 不好意思 没听懂)
这个题犯了好几个错:
- 没开LL
- 有一个部分分输出的内容打错了
- sort之后 答案也要sort)
T3
考虑把所有区间内元素按权值排序 贪心的考虑 肯定是先向前面没补的位置填 再填后面
搞个栈模拟一下
upd
这个题做的很不好的就是 我的暴力做法没有可扩展性
以后需要想一个可扩展的暴力做法
如果能写出来那个 n n l o g n n\\sqrt n~logn nn logn 的莫队+线段树做法就比较好
正解的一个巧妙思路是先证明答案在区间内有单调性
然后在用一个线段树维护目前所有更新的询问(所有询问互不包含)
当把一个询问解决后 再把新的 满足要求的询问放上去
以上是关于7.13模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章