该文被密码保护。 阅读全文
摘要:
终于遇到了一道后缀数组不能过 一定要学SAM的题。。。 (看了半个下午+半个上午) 现在总结一下(是给我自己总结。。所以只总结了我觉得重要的 。。 看不太懂的话可以To http://blog.csdn.net/clover_hxy/article/details/53758535 图文并茂 或者 阅读全文
摘要:
就是我代码里读入之后的那一部分。 1.(一下a[]为原数组 a'[]为线性基) 线性基 中的a'[i]其实 是 原来的a[]中的某个子集(2^n个子集中的某个) 异或出来的 可能会有其他的子集与它异或和相同,a'[i]代表了 这个集合。 线性基的大小是log的,因为 a[]中异或和等于a'[i]的集 阅读全文
摘要:
为什么突然放些这么水的东西?我还是个C++小萌新,XD 【一 litTLE经验值】 1. C++里 自带pow(x,y) ,尤其是pow(x,0.333333)这种时候很有用。所以自己定义的快速幂最好别取名为pow。 2. c++的 /既有整除也有小数除。 记得用上(double) 或 加上.0 3 阅读全文
摘要:
因为本题保证两圆之间只有相包含或相离(不用担心两圆重合 因为我没有RE) 所以每个圆之间的相对位置是确定的 也就是可以按极角排序的, 所以可以按横坐标排序后 扫描同时用treap维护加圆删圆(即遇到圆的左边界加圆 遇到又边界删圆 treap中的节点是某个圆的上半部分 或某个圆的下半部分) 具体见其他 阅读全文
摘要:
后缀数组的题博客里没放进去过。。所以挖了一题写写 充实下博客 顺便留作板子。。 一个字符串S中 内容不同的子串 有 sigma{n-sa[i]+1-h[i]} (噢 这里的h[]就是大家熟知的height[]) 所以l=1,r=上述sigma 二分 答案是字典序第几大的子串。 然后 求S中第k大的子 阅读全文
摘要:
以前做过几题。。好久过去全忘了。 看来是要记一下。。。 【prufer】 n个点的无根树(点都是标号的,distinct)对应一个 长度n-2的数列 所以 n个点的无根树有n^(n-2)种 树 转 prufer数列: 每次删除编号最小的叶子节点,将与其相连的那个点 加入 prufer数列 直到树中只 阅读全文
摘要:
【最小割输出方案】 残量网络DFS,跑出S能到达的点集A,割=(A,V-A) 【最小费用任意流】(最大类似) 增广路的费用>=0时停止增广。 【顶点限流】 拆点 【费用分段递增】 拆边 【最小点割集】 图G中 删去一些点使得 '这些点的权值和最小' 且满足 '从点S走不到点T'。 将G中每个点v 拆 阅读全文
摘要:
。。恩 打了四五遍 不会也背出来了。。 BZOJ3160 【听说时限紧?转C++的优势么?】 上AC代码 fft 1 /*Problem: 3160 2 User: cyz666 3 Language: C++ 4 Result: Accepted 5 Time:1992 ms 6 Memory:1 阅读全文