模板
CoderCat.
大
展开
-
模板_快速幂+蒙哥马利快速幂模_二分思想_logn
一、积模分解公式 对于正整数X, Y, M, (X*Y)%M=((X%M)*(Y%M))%M 二、快速幂算法 如求2^7, 一般情况需要进行7次乘法运算,即1*2*2*2*2*2*2*2 可以将2*2结果保留下来: (2*2)*(2*2)*(2*2)*2=4*4*4*2 再把4*4保留下来(4*4)*(4*2) *************************************...原创 2018-04-25 17:29:19 · 372 阅读 · 0 评论 -
拉宾米勒测试判素数
费马小定理 N为任意正整数,P为素数且N不能被P整除(显然N和P互质), 则(N^(P-1)) % P == 1 ********************************************************************************************************** 所以如果N小于P,则N和P肯定互质。 那么随机抽取N <...原创 2018-04-25 19:14:25 · 376 阅读 · 0 评论 -
洛谷P1719_最大加权矩阵和模板
#include #include #include using namespace std; const int maxn = 122; const int INF = 2147483640; int dp[maxn], temp[maxn]; int a[maxn][maxn]; int n; int solve(); int main() { scanf("%d",原创 2018-04-30 17:58:40 · 293 阅读 · 0 评论 -
【模板】洛谷P2015_树形dp(带边权)_链式前向星+dfs
多叉树均可 边权,取q条边使权值最大 (1)dfs求该节点u的子节点个数(==边的总数) (2)枚举u的含当前v的子树所保留的边数,和不含v的子树保留的边数 (3)在过程中更新答案原创 2018-05-06 13:25:18 · 315 阅读 · 0 评论 -
【模板】洛谷P1352_树形dp_拓扑排序实现
拓扑排序,从下往上解,并同时记录更新答案 #include #include #include using namespace std; const int maxn = 6010; int happy[maxn];//i的快乐值 int fa[maxn], son[maxn];//父亲的编号和儿子的个数 int dp[maxn][2];//i加与不加的快乐值最大值。1表示加,0不加原创 2018-05-05 18:26:58 · 264 阅读 · 0 评论 -
hdu1811_并查集+拓扑排序
题目大意:有n个点(编号0~n-1),有m个关系,“>”、“<”或者“=”。若这n个点能形成固定的链式大小关系,就输出”OK”,如果关系有冲突,则输出”CONFLICT”,如果关系不全,则输出”UNCERTAIN”。PS:坑点,”CONFLICT”优先于”UNCERTAIN”,所以判断到”UNCERTAIN”条件时,别急着输出”UNCERTAIN”,而是置一个”UNCERTAIN”的f...原创 2018-06-21 21:47:19 · 223 阅读 · 0 评论 -
CodeForces - 450B 矩阵快速幂
#include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; const int maxs = 2; const int mod = 1e9+7; struct Matrix { int a[maxs][maxs]; Matrix() {memset(a, 0, sizeof(a));} vo...原创 2018-07-26 22:16:12 · 113 阅读 · 0 评论