摘要: 概要:就是用来维护区间信息,然后各种秀智商游戏。技巧及注意:一定要注意标记的下放的顺序及影响!考虑是否有叠加或相互影响的可能!和平衡树相同,在操作每一个节点时,必须保证祖先的tag已经完全下放。size值的活用:主席树就是这样来的。支持区间加减,例题和模板:主席树01(就是更新和不更新等这种对立操作... 阅读全文
posted @ 2014-09-28 23:24 iwtwiioi 阅读(1044) 评论(0) 推荐(0)
摘要: 概要:对于维护信息具有单调性的性质或者问题可以转化为具有单调性质的模型的题,我们可以考虑用单调栈或单调队列。技巧及注意:技巧很多,只要能将问题转化为单调性问题,就好解决了。当维护固定长度的单调区间,我们考虑用单调队列,如【BZOJ】3314: [Usaco2013 Nov]Crowded Cows(... 阅读全文
posted @ 2014-09-28 18:24 iwtwiioi 阅读(590) 评论(0) 推荐(1)
摘要: 概要:判重的时候可以用手写hash,也可以用stl中的map,手写hash的好处是快,解决冲突的方案较好,map慢。但是手写hash要求的空间高,而且有时处理得不好的话会wa。注意及技巧:注意的是,hash的函数一定要写好,但是写好又爆空间。一般采用元素个数作为基数然后乘上递增的这个基数的幂作为权重... 阅读全文
posted @ 2014-09-28 17:52 iwtwiioi 阅读(339) 评论(0) 推荐(0)
摘要: 概要:可以用匈牙利或者网络流(听说Dinic是O(sqrt(V)*E),isap我不知道,大概一样吧。)应用:最大匹配、最小点覆盖、最大独立集、最小路径覆盖、二分图完美匹配等。技巧及注意:匈牙利是O(nm)的,比网络流慢。KM比网络流慢。(还是写网络流吧。。。)一些知识:二分图在X集和Y集元素不同时... 阅读全文
posted @ 2014-09-28 14:14 iwtwiioi 阅读(388) 评论(0) 推荐(0)
摘要: 复杂度:O(n*α(n)) 其中α(x),对于x=宇宙中原子数之和,α(x)不大于4 。(对于nocow里的复杂度我也是醉了)概要:并查集就是一个数组和一行话。应用:图的连通、集合操作、生成树的合并等技巧及注意:并查集是个好东西。维护区间+前缀和:对于一些连续的区间,我们要判断这些区间是否合法,带修... 阅读全文
posted @ 2014-09-28 13:48 iwtwiioi 阅读(423) 评论(0) 推荐(0)
摘要: 概要:最短路是个神奇的东西,通过三角不等式,我们可以拓展出很多最短路的延伸。而求最短路的算法一般我用三种,dijkstra、spfa、floyd,第一个用于点少边多的,第一个用于点多边少的,第三个是多源最短路。应用:差分约束系统、一般约束条件、最短路等。技巧及注意:差分约束:根据三角不等式d(v)0... 阅读全文
posted @ 2014-09-28 07:01 iwtwiioi 阅读(1021) 评论(0) 推荐(1)
摘要: 算法:最小生成树的算法有:Prim(O(nlgn)),Kruskal(O(nlg**n)),Prim在某些场合很好用,某些场合必须用。。。Kruskal的话最快。。技巧及应用:当看到要求连通一个图的最小代价,显然最小生成树,例如【BZOJ】1601: [Usaco2008 Oct]灌水(kruska... 阅读全文
posted @ 2014-09-28 06:10 iwtwiioi 阅读(299) 评论(0) 推荐(1)
摘要: 概要:在一些递推式中,我们发现好像不能在优化了(例如斐波那契数列普通递推是O(n)的),但是这个特殊的递推式我们可以用矩阵来实现O(logn)(忽略了矩阵自身计算的O(n^3))。而矩阵乘法运算是a[i, k]*b[k, j]=c[i, j],从这个式子可看出朴素是n^3的(当然那些神算法我不会),... 阅读全文
posted @ 2014-09-28 06:00 iwtwiioi 阅读(652) 评论(0) 推荐(1)