Several summaries
Summary
I 0924
T1
Got
-
长度相同,直接比较选择最短的
-
DAG适用Topo序DP
-
长度不同只能存储全部
-
str比较耗时大,str存储空间劣
Miss
转化长度不同为相同,即把字符串中的字符拆开
T2
Got
对于x转换比较少次数会变成1
Miss
可以预处理f以及对于x,phi几次后的结果,还有前缀phimax
Note
不要害怕数学,冷静思考
许多数论题目都可以预处理
记得复习筛法
T3
Got
两部分尽可能靠近是最优的
Miss
-
01背包+bitset解决
-
对于lca(u,v)=x的答案不影响子树内部(隔离性miss)
T4
Got
平衡树
Miss
模式串长度小,可以重构这段的fail,最后直接查找区间和
Note
记得如果有很小的东西,那么暴力一些部分可以考虑
其实可以用字符串hash,只需保存前后缀20个的Hash值,pushup的时候把两边的匹配加起来再枚举中间的交叉部分的Hash。这样也很简单。
II 1002
T1 xor
AC
Note
反思:实现花费了1个半小时,心态不好,一开始就慌,不清醒,导致一个坐标写错调了很久。
T2 game
Got
-
想到了使用二叉树结构建模
-
想到集合会每次被分成两部分
Miss
-
未能正确分析vector的空间复杂度
-
没有发现每次操作可以使得集合减半
Note
这道题是第三个做的。事实证明我选择的做题顺序很不明智:1-4-2-3
有的时候放弃是很重要的,在T4上磕了太久,实际上也没有一个很清晰的想法
出现这种情况的时候就应该暂时放弃。
在写了第一个暴力之后,发现小样例会MLE,直接放弃了,没有认真思考题目中集合的性质(Got2)。
总结:本题告诉我们,博弈论的题目可以从操作的规律,找到特殊的局面,然后简化问题
T3 connect
Got
删除的点必然是割点(没想到最大联通块,但这是时间损失)
Miss
优化建图
Note
Tarjan不熟练
时间不足,最开始害怕Tarjan实现不出来,所以把这个题放到最后了。最后时间不够,果然没调出来
总结:优化建图,主要是找元素之间的共性,然后建立虚点
T4 road
Got
建模:子树内和子树外
Miss
虚树计算、DP推导
Note
经验教训:切题顺序选择的很不明智,并且在没有认真审查自己思路之前就开始实现了,失败之后还没有及时放弃,导致其他题目没有时间,甚至暴力都没有时间写。
III 1003
上午T3二分答案:先有单调性,然后从题目的要求和对答案的限制出发进行验证;或者动为定,枚举某一个限制,后来
上午T4动态规划:注意状态设计要能覆盖整个状态空间的可能情况
T1 road
97pts SPFA被卡了
推基本不等式+循环确定范围
T2 turn
毕竟是推性质和分类讨论的题,就不写gotmiss了
启示:如果有这种看起来很Friendly的询问题,又能抽象出常数种情况的时候,考虑把一个询问涉及元素的在每种情况下的所有性质都列出来,可以帮助进行判定。
T3 table
数学好难。这次推了点错误的式子,浪费了一大波时间,回去想T2不香么
没有什么很大的考场策略问题。
本文来自博客园,作者:haozexu,转载请注明原文链接:https://www.cnblogs.com/haozexu/p/18281754

浙公网安备 33010602011771号