摘要: 常用算法设计和优化策略(本蒟蒻不定期更新) 下面是紫书上讲的常用算法设计策略和优化策略: 分治法:将问题分成相同的独立子问题求解。拆分出的问题必须有最优子结构性质(子问题求出的是最优解) 动态规划。本质是:对于一个问题,通过定义状态与状态间的关系来 分解问题 。利用单阶段问题之间的联系,或者同一阶段阅读全文
posted @ 2018-03-01 23:14 pechpo 阅读(41) 评论(0) 编辑
摘要: 组合数恒等式 本蒟蒻太弱了。。为了不误导。。这个博客仅供个人使用。。 排列数:在n个元素中选m个元素作为排列,排列数显然是$n^{\underline m}=\frac{n!}{(n m)!}$。 组合数:在n个元素中选出m个作为集合,不同的集合数为$\binom{n}{m}$。由于一个集合对应m个阅读全文
posted @ 2018-07-17 18:59 pechpo 阅读(3) 评论(0) 编辑
摘要: 数(数学) 给出n( include include using namespace std; typedef long long LL; //////Miller Rabin素数判定////// const LL m=7, A[m]={2, 3, 5, 7, 11, 13, 17}; LL fmu阅读全文
posted @ 2018-07-16 18:35 pechpo 阅读(3) 评论(0) 编辑
摘要: 线性筛素数(欧拉筛) 欧拉筛为啥是$O(n)$的呢?我们先来看看代码。 c++ include using namespace std; const int maxn=10000000; int n, m, prime[maxn], isnt_prime[maxn], tot; void get_p阅读全文
posted @ 2018-07-15 16:56 pechpo 阅读(6) 评论(0) 编辑
摘要: Miller Rabin素数测试 给出一个小于1e18的数,问它是否为质数?不超过50组询问。 "hihocoder" 我是真的菜,为了不误导他人,本篇仅供个人使用。 首先,一个1e18的数,朴素$O(\sqrt{n})$素数判定肯定爆炸。怎么办呢? 我们知道,对于素数p,只要a不是p的倍数,一定有阅读全文
posted @ 2018-07-15 16:37 pechpo 阅读(5) 评论(0) 编辑
摘要: 咕咕(数位dp+AC自动机) 若一个字符串的字符集合是0~m 1,那么称它为m进制字符串。给出n个m进制字符串$s_i$,每个字符串的权值为$v_i$。对于另一个m进制字符串$S$,设$s_i$在S中的出现次数是$cnt_i$,那么$s_i$对$S$的价值的贡献就是$v_i cnt_i$。因此,$V阅读全文
posted @ 2018-07-14 16:11 pechpo 阅读(5) 评论(0) 编辑
摘要: AC自动机 AC自动机比kmp要强,可以解决多模式匹配问题。 假设我们有n个模式串$s_i$,我们可以把它们放到Trie树T中,根据Trie来匹配哪个串被选择(到一个点表示这个点代表的字符被选择了)。但是,有可能遇到失配的情况,失配时该怎么办呢? 如图,假设现在模式串和原串匹配到abcd,原串的下一阅读全文
posted @ 2018-07-13 20:09 pechpo 阅读(7) 评论(0) 编辑
摘要: 咕咕咕(凸包) 给出两个点集a和b,$|a|,|b|\le1e6$。现在构造点集c,满足$c_{ij}=a_i+b_j$,求点集c的凸包。 由于我之前还没有写过关于凸包的博客,现在来总结一发。 平面向量的叉积 我们都知道,平面向量$a$和$b$的点积是$|a||b|cos\theta$,其中$\th阅读全文
posted @ 2018-07-12 23:32 pechpo 阅读(8) 评论(0) 编辑
摘要: 三维偏序(陌上花开) 有n个元素,第i个元素有$a_i$,$b_i$,$c_i$三个属性,设$f(i)$表示满足$a_j\le a_i$且$b_j\le b_i$且$c_j\le c_i$的j的数量。对于$d\in[0, n)$,求$f(i)=d$的数量。 偏序关系,意思是并不是任意两个元素之间都有阅读全文
posted @ 2018-07-11 23:29 pechpo 阅读(12) 评论(0) 编辑
摘要: 快速莫比乌斯变换(FMT) 原文出处: "虞大的博客" 。此仅作蒟蒻本人复习用~ 给定两个长度为n的序列 $a_0, a_1, \cdots, a_{n 1}$和$b_0, b_1, \cdots, b_{n 1}$,你需要求出一个序列$c_0, c_1, \cdots, c_{n 1}$,其中$c阅读全文
posted @ 2018-07-09 20:42 pechpo 阅读(16) 评论(0) 编辑
摘要: beijing(数学题) 甲和乙随机进行2n+1场n胜球赛,赌球必须对每场球赛单独押注。由于小明是甲队的铁杆球迷,现在小明希望如果甲最终获胜,那么他获得$2^{2n 1}$元,否则乙队获胜,他失去$2^{2n 1}$元。给出所有比赛的结果,如果你是小明,请问如何对比赛押注,才能使得目标被达成。 如果阅读全文
posted @ 2018-07-06 19:54 pechpo 阅读(7) 评论(0) 编辑