Several summaries

Summary

I 0924

T1

Got
  1. 长度相同,直接比较选择最短的

  2. DAG适用Topo序DP

  3. 长度不同只能存储全部

  4. str比较耗时大,str存储空间劣

Miss

转化长度不同为相同,即把字符串中的字符拆开

T2

Got

对于x转换比较少次数会变成1

Miss

可以预处理f以及对于x,phi几次后的结果,还有前缀phimax

Note

不要害怕数学,冷静思考

许多数论题目都可以预处理

记得复习筛法

T3

Got

两部分尽可能靠近是最优的

Miss
  1. 01背包+bitset解决

  2. 对于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
  1. 想到了使用二叉树结构建模

  2. 想到集合会每次被分成两部分

Miss
  1. 未能正确分析vector的空间复杂度

  2. 没有发现每次操作可以使得集合减半

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不香么

没有什么很大的考场策略问题。

posted @ 2023-10-05 09:03  haozexu  阅读(6)  评论(0)    收藏  举报  来源