【周总结】2017-7-24~2017-7-30
这个礼拜集训貌似学了挺多东西的:
-
图论
-
流流流
-
计算几何(只是随便水水)
-
字符串(基本没怎么练)
图论
- 拓扑排序,貌似挺水的,然而题目都是和一些奇怪的东西结合,没怎么做;
- 最短路:貌似学会了堆优化的Dijkstra,然而还是喜欢SPFA(似乎比较慢);然后还写了几道拆点(分层图)最短路,感觉有点像DP;
- 生成树:生成树貌似看了挺多的(没写几道),有部分要和二分之类的联系起来,比如最优比率生成树,顺带提高了枚举答案的姿势;貌似部分图也可以转化为生成树。
网络流
- 最大流学了Dinic,貌似很快啊(尤其二分图);
- AC了一道特种的最小割(平面图最大流转最短路);
- 学习了最大流最小割这套理论,写了一堆得最小割建图;
- 费用流写了道一年没写的EK;
- 志愿者招募(NOI2008) 学了一种奇特的构图,有下限无上限的最小费用最大流,就是先用目标挖坑,然后用可选条件填坑,建完图后跑最小费用最大流,然而交了好几发一直WA(直到现在也没AC,惨啊!)。
计算稽几何
- 增长了数学姿势(初中生惨案),各种向量、点乘、叉乘;
- 判断直线相交(向量积);
- 判断向量顺逆时针(向量积);
- Graham求凸包,就是先把点极角排序,然后用向量积判断顺逆时针(即角度是否超过180°),然后用一个栈维护。
字符串
- hash,注意生日攻击,讲道理是很实用的工具;
- KMP,复习了一下原理;
- AC自动
鸡机,乱七八糟的,没怎么懂,似乎是trie+KMP; - 后缀数组,貌似还好理解,就是利用都是后缀的性质,利用倍增,用一组长度为n的子串的rank来维护出长度为2n的子串的rank,慢慢合并;
- 还有一堆自动机等待学习。。。
没了。。。。。。