摘要:
题意:给你一个包含n个数的序列A和一个数m,序列B中的数是序列A经过异或得到的,比如:b[i]=a[1]^a[2]^…..^a[i]。现在让你求经过m次异或后,序列B的值。 思路:这题其实和杨辉三角形有关。 首先我们打个表可以得到 我们知道杨辉三角形 我们可以看到一个规律,我们单独把a提出来,每一行
阅读全文
posted @ 2017-08-16 16:48
gggyt
阅读(204)
推荐(0)
编辑
摘要:
题意: 给出一个二部图,U、V分别是二部图的两个点集,其中,U中每个点会有两条边连到V中两个不同的点。 完美匹配定义为:所有点都成功匹配。 思路:已知一定是完美匹配了呀(也一定存在),我们先把度数为一的匹配了(用拓扑把度数为一的找出来),那么剩下的图中左右各有m个点,每个点度数都不小于2,且左边每个
阅读全文
posted @ 2017-08-14 19:12
gggyt
阅读(208)
推荐(0)
编辑
摘要:
题意:告诉你两个圆环,求圆环相交的面积。
阅读全文
posted @ 2017-08-12 20:37
gggyt
阅读(176)
推荐(0)
编辑
摘要:
bitset是STL里的二进制容器,可以看成bool数组,但是可以直接进行按位与或。 定义:bitset<length>a bitset也可以像数组一样直接赋值,如b[0]=1 常用:
阅读全文
posted @ 2017-08-11 19:03
gggyt
阅读(160)
推荐(0)
编辑
摘要:
/* gyt Live up to every day */ #include #include #include #include #include #include #include #include #include #include #include #include #define PI acos(-1) using namespace std;...
阅读全文
posted @ 2017-08-11 10:33
gggyt
阅读(171)
推荐(0)
编辑
摘要:
题意:给你n个字符串,再给你一个大的字符串A,问你着n个字符串在正的A和反的A里出现多少个? 其实就是AC自动机模板题啊( ╯□╰ ) 正着query一次再反着query一次就好了
阅读全文
posted @ 2017-08-09 19:20
gggyt
阅读(262)
推荐(0)
编辑
摘要:
KMP算法简而言之就是告诉你一个字符串是否包含另一个字符串。 对于是否包含一个字符串,大部分人想做的就是挨个判断,但是这样并不是很优,所以就有了KMP。 当你对A(被匹配)字符串和B(匹配)字符串进行匹配时,如果匹配到不匹配,那么我们要做的就是把匹配字符串B往后移,但是移动多少呢? 其实我觉得这就是
阅读全文
posted @ 2017-08-09 19:04
gggyt
阅读(129)
推荐(0)
编辑
摘要:
AC自动机是著名的多模匹配算法之一。常见的例子就是给出n个单词,再给你包含m个字符的文章,问你有多少个单词在文章中出现过。 其实AC自动机是以字典树和KMP的基础上实现的。 首先要构造一个Tire,然后再在上面构造失配然后再匹配。 失配(fail)指针:使当前字符失配时跳转到具有最长公共前后缀的字符
阅读全文
posted @ 2017-08-09 18:49
gggyt
阅读(162)
推荐(0)
编辑
摘要:
"Well, it seems the first problem is too easy. I will let you know how foolish you are later." feng5166 says. "The second problem is, given an positiv
阅读全文
posted @ 2017-08-07 20:05
gggyt
阅读(191)
推荐(0)
编辑
摘要:
容斥:奇加偶减 全错位排序(公式):f(n)=(n-1)(f(n-1)+f(n-2)) ( f(1)=0, f(2)=1 ) f(n)=nf(n-1)+(-1)^(n) 或者f(n)=nf(n-1)+(-1)^(n-2) 组合数 海伦公式: (公式中a,b,c分别为三角形三边长,p为半周长,S为三角
阅读全文
posted @ 2017-08-07 15:03
gggyt
阅读(221)
推荐(0)
编辑