算法
文章平均质量分 73
浩1001
这个作者很懒,什么都没留下…
展开
-
背包九讲
背包九讲目录 第一讲 01背包问题 第二讲 完全背包问题 第三讲 多重背包问题 第四讲 混合三种背包问题 第五讲 二维费用的背包问题 第六讲 分组的背包问题 第七讲 有依赖的背包问题 第八讲 泛化物品 第九讲 背包问题问法的变化 附:USACO中的背包问题 前言本篇文章是我(dd_engi)正在进行中的一个雄心勃勃的写作计划的一部分,这个计划的内容是写作一份较为完善的NOIP难度的动态规划总结,名...转载 2018-05-03 21:22:23 · 70 阅读 · 0 评论 -
最短路径Dijkstra的两种实现方法
1、Dijkstra单源最短路,邻接矩阵形式(权值是非负)/* 单源最短路径,Dijkstra算法,邻接矩阵形式,复杂度为O(n^2) 求出源beg到所有点的最短路径,传入图的顶点数,和邻接矩阵cost[][] 返回个点的最短路径dist[],路径pre[].pre[i]记录beg到i路径上的父结点,pre[beg]=-1 可更改路径权类型,但是权值必须为非负*/const int ...原创 2018-05-08 19:09:47 · 358 阅读 · 0 评论 -
乘法逆元、逆元应用、求逆元(费马小定理,扩展欧几里得)
乘法逆元对于缩系中的元素,每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n)一个数有逆元的充分必要条件是gcd(a,n)=1,此时逆元唯一存在 逆元的含义:模n意义下,1个数a如果有逆元x,那么除以a相当于乘以x。逆元的应用当求解公式:(a/b)%m 时,因b可能会过大,会出现爆精度的情况,所以需变除法为乘法:设c是b的逆元,则有b*c≡1(mod m);则(a/b)%m = (a...原创 2018-05-26 20:51:30 · 802 阅读 · 0 评论 -
素数分解和合数筛选
根据唯一分解定理,任何一个数都可以分解成若干个素数的乘机,代码如下://factor[i][0]存放分解的素数//factor[i][1]存放对应分解的素数出现的次数//fatCnt存放分解出的素数的个数(相同出现的只算一次)#include <iostream>#include <cstring> using namespace std; const...原创 2018-08-05 21:43:33 · 744 阅读 · 0 评论