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

好像是有二分性质 不好意思 没听懂)

这个题犯了好几个错:

  1. 没开LL
  2. 有一个部分分输出的内容打错了
  3. sort之后 答案也要sort)

T3

考虑把所有区间内元素按权值排序 贪心的考虑 肯定是先向前面没补的位置填 再填后面

搞个栈模拟一下

upd

这个题做的很不好的就是 我的暴力做法没有可扩展性

以后需要想一个可扩展的暴力做法

如果能写出来那个 n n   l o g n n\\sqrt n~logn nn  logn 的莫队+线段树做法就比较好

正解的一个巧妙思路是先证明答案在区间内有单调性

然后在用一个线段树维护目前所有更新的询问(所有询问互不包含)

当把一个询问解决后 再把新的 满足要求的询问放上去

以上是关于7.13模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章

jzoj4624NOIP2016A组模拟7.13KMP数学字符串匹配

NOIP2016A组模拟7.13亚瑟王之宫

7.13

6.11模拟赛总结

7.15模拟赛总结

7.25模拟赛总结