
ACM
文章平均质量分 67
ymyfszx
这个作者很懒,什么都没留下…
展开
-
矩阵快速幂法+斐波那契数列余数
快速幂取模算法的原理为ac%b=(a%b)*(c%b)此处矩阵快速幂与之相似,但由于有了加法导致理解困难,事实上我们可以证明对于有限次四则运算该算法都是正确的,由于斐波那契数列“公比”矩阵为[1 1\n1 0],对于一开始的四个元素,必定是小于题目要求的除数,在上述代码中为100000007,故%运算符对其无影响,而对于之后得到的矩阵来说,每个元素必定由之前矩阵的元素经过有限次四则运算得到的,原创 2017-11-30 00:23:42 · 951 阅读 · 0 评论 -
费马小定理+Lucas定理 大组合数取模
#includelong long factorial[10010];long long quick(long long a,long long n,long long p);long long com(long long k,long long n);long long Lucas(long long k,long long n,long long p);void fac(int p原创 2017-12-01 22:54:42 · 402 阅读 · 0 评论 -
[并查集学习] poj1182食物链
并查集的实现:(参考挑战程序设计竞赛)int par[MAX_N];//父亲int Rank[MAX_N];//秩//初始化n个元素void init(int n){ for (int i = 0; i < n; ++i) { par[i]=i; Rank[i]=0; }}//查询树根int find(int x){...原创 2018-05-10 18:45:59 · 156 阅读 · 0 评论 -
[图初学]二分图的判定
图的表示方法:(1)邻接矩阵(2)邻接表邻接矩阵:用V*V的二维数组来表示图,g[i][j]表示顶点i和顶点j的关系,比如无向图中,可以用g[i][j]=1表示i和j有边相连,=0表示无边相连。无向图的邻接矩阵是对称矩阵,因为g[i][j]=g[j][i]。有向图可以用g[i][j]=1表示i有指向j的边,故不是对称矩阵。带权图则可以用g[i][j]表示i到j的权,若无边相连则可以将其设置为无穷大...原创 2018-05-13 20:00:33 · 5925 阅读 · 5 评论 -
[图初学之dijkstra] HDU 2066
初学堆优化的dijkstra算法,正好有道模板题HDU 2066,随便写了一下没想到过了,WA了一次还是上次的毛病,用邻接表构建无向图时没有连两遍。#include <iostream>#include <cstdio>#include <algorithm>#include <string>#include <cstring>...原创 2018-06-30 16:30:14 · 403 阅读 · 0 评论