2
摘要: 来自题解 阅读全文
posted @ 2017-10-20 14:11 DDYYZZ 阅读(222) 评论(0) 推荐(0) 编辑
摘要: A:马拉车是什么? Q:是一种求回文子串(你也可以用它来去最长回文子串)的方法(速度很快) A:有什么意义? Q:证明了学好写暴力,走遍天下都不怕的道理 马拉车算法的精髓就是把之前匹配过的字符串结果放到后面来使用 小技巧 一个回文串它的对称中心可能是某个字符(aba),也可能是某两个字符之间(aa) 阅读全文
posted @ 2017-10-20 09:11 DDYYZZ 阅读(6341) 评论(1) 推荐(0) 编辑
摘要: #include #include #include #include #include #define pi acos(-1) #define rep(i,x,y) for(register int i = x; i '9'); do { x = x*10 + c - '0';c = getchar(); }while(c = '0'); x *= sign; ret... 阅读全文
posted @ 2017-10-18 16:59 DDYYZZ 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 又是毕业季2 n/k; 又是毕业季2 一开始很容易想到枚举n个数取k个的所有组合,然后分别用辗转相除法求最大公约数,但是复杂度明显不符合要求,于是必须换一种思路。 我们想到,k个数的公约数含义就是这k个数均含有某个因数,如果我们把所有数的因数全部求出来,发现有k个数均含有某个因数,那么这个数必然是这 阅读全文
posted @ 2017-10-16 14:54 DDYYZZ 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 来着——非我非非我大佬的博客 阅读全文
posted @ 2017-10-13 17:53 DDYYZZ 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 由于回文分为偶回文(比如 bccb)和奇回文(比如 bcacb),而在处理奇偶问题上会比较繁琐,所以这里我们使用一个技巧,在字符间插入一个字符(前提这个字符未出现在串里)。举个例子:s="abbahopxpo",转换为s_new="$#a#b#b#a#h#o#p#x#p#o#"(这里的字符 $ 只是 阅读全文
posted @ 2017-10-11 17:42 DDYYZZ 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 结构体什么的最优美了 来自 nyist_xiaod大佬的博客 阅读全文
posted @ 2017-10-11 17:30 DDYYZZ 阅读(130) 评论(0) 推荐(0) 编辑
摘要: tarjan的算法精髓就是dfn[]和low[]数组 dfn[i]表示在该节点被搜索的次序(时间戳) low[i]表示i或i的子树可以追溯到的最早的栈中节点 判断有强连通分量的条件就是 dfn[i]==low[i] 此时就可以判断i或i的子树是一个强联通分量 那么tarjan的算法过程是什么呢? 大 阅读全文
posted @ 2017-10-11 16:33 DDYYZZ 阅读(793) 评论(0) 推荐(0) 编辑
摘要: #include #include #define ll long long using namespace std; ll a,b,x,y; void exgcd(ll a,ll b,ll &x,ll &y) { if(!b){ x=1,y=0; }else { exgcd(b,a%b,y,x); y-=(a/b)*x;... 阅读全文
posted @ 2017-10-09 14:20 DDYYZZ 阅读(204) 评论(0) 推荐(0) 编辑
摘要: scanf在读入字符串的时候是不加&,因为数组本身就是个地址 当然如果你是在是不确定输入对不对,你就用cin,虽然慢一点,但是很稳定cin:运算符“>>”的作用是跳过空白,读入后面的非空白字符,直到遇到另一个空白字符为止,并在串尾放一个字符‘\0’。 所以在使用cin输入一个中间有空格的字符串时,会 阅读全文
posted @ 2017-10-08 10:54 DDYYZZ 阅读(266) 评论(0) 推荐(0) 编辑