摘要:
题意: 给你一棵树,求树中最长的xor路径。(n#include #include #define N 305000using namespace std;int first[N],next[N],v[N],w[N],W[N],trie[N*10][2];int xx,yy,zz,... 阅读全文
摘要:
题意: 让你从小到大输出给的字符串中既是前缀又是后缀的子串的长度。 思路: 先要了解这个东西: KMP中next数组表示的含义:记录着字符串匹配过程中失配情况下可以向前多跳几个字符,它描述的也是子串的对称程度。那么我们可以用next数组来乱搞怎么个乱搞法呢? 前缀的next[len... 阅读全文
摘要:
题意: 求s到e恰好经过n边的最短路 思路: 这题已经被我放了好长时间了。 原来是不会矩阵乘法,快速幂什么的也一知半解现在终于稍微明白了点了其实就是把矩阵乘法稍微改改 改成能够满足结合律的矩阵“加法”,也就是floyd的步骤。 我就直接把集训队论文放上来吧。。。。(证明它满... 阅读全文
摘要:
题意: 让你用矩阵来找Fibonacci数 思路: 不用矩阵快速幂会TLE,只能学一下啦 (其实也不难)// by SiriusRen#include using namespace std;struct matrix{ int a[2][2]; void init()... 阅读全文
摘要:
题意: 如果给出的单词能够首尾相接,请按字典序输出单词,中间要加’.’ 否则输出三个”*”. 思路: 欧拉回路 记得按字典序排序哦~ 加边的时候要倒着加。(邻接表遍历的时候是反着的)记得清空vis数组(因为这个无脑错误WA了好长时间。。。。。)随便搞搞 就能过了。 数据不是很... 阅读全文
摘要:
背景NOIP2014提高组第二题描述无向连通图G有n个点,n-1条边。点从1到n依次编号,编号为i的点的权值为Wi ,每条边的长度均为1。图上两点(u, v)的距离定义为u点到v点的最短距离。对于图G上的点对(u, v),若它们的距离为2,则它们之间会产生Wu×Wv的联合权值。请... 阅读全文
摘要:
题意:让你找最小重复串的个数加深KMP中对next数组的理解#include #include using namespace std;int next[1000500],slen;char s[1000500];void get_next(){ int i=1,j=0; ... 阅读全文
摘要:
经过上午的学习,终于对KMP有了初步的了解 这里就是在get_sum的时候进行了一下小小的变形。 (听说要写快速乘,网上copy了一份。 留着以后用吧)http://uoj.ac/problem/5 UOJ数据挺好的,重点是可以看别人的程序(也可以hack别人的程序)#includ... 阅读全文
摘要:
【题意】给定n对字符串,求每组的前一个字符串在后一个字符串之中出现了几次 一道裸的KMP这里就放个模板吧。。。。以后KMP就这么写了// by SiriusRen#include #include using namespace std;int alen,cases,blen,ne... 阅读全文