- 博客(18)
- 收藏
- 关注
原创 codeVS 1031 质数环
1031 质数环 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold题解题目描述 Description一个大小为N(N输入描述 Input Description只有一个数N,表示需求的质数环的大
2017-04-22 16:49:24 348
原创 数论
数论目录:1、素数 (1)暴力求解法 (2)一般筛法 (3)线性筛法2、唯一分解定理3、费马小定理4、欧拉函数5、欧几里得算法 (1)递归 (2)递推6、扩展欧几里得 (1)求同余方程(2)求乘法逆元 (3)求线性方程ax+by=c7、快速幂8、中国剩余定理素数 (1)暴力求解法
2017-04-21 20:49:53 436
原创 [置顶]图论算法大集锦(持续更新中)
1.图的存储: (1)邻接矩阵: #include#include#include#define MAXN 0x7fffffff//没有路径(边的长度为极限); #define maxn 9999//数据边的最大值; #define MAX 0x7fffffff/3//两极限边相加可能超过int 大小; using namespace std;
2017-04-21 19:02:27 347
原创 素数
1、素数 (1)暴力求解法 根据素数的概念,没有1和其本身没有其他正因数的数。所以只需枚举比这个数小的数,看能整除即可;#include#include#includeusing namespace std;bool determine(int number){if(n2)return false;if(!n%2)return fals
2017-04-21 19:02:19 384
原创 生成随机数
#include #include #include #include using namespace std; #define MAX 100000int main(int argc,char*argv[]) { srand((unsigned)time(NULL));//srand()函数产生一个以当前时间开始的随机种子.应该放在for等循环语
2017-04-21 19:02:13 158
原创 病毒&烦人的幻灯片
《病毒》传送门《烦人的幻灯片》传送门 病毒描述 有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字母替换成其它字母,但并不改变顺序,也不会增加和删除字母。 现在怎么恢复原来的文档呢!小y很聪明,他在其他没有感染病毒的机器上,生成了一个由若干单词构成的字典,
2017-04-21 19:02:10 1326
原创 最小生成树Prim算法Kruskal算法
Prim算法采用与Dijkstra、Bellamn-Ford算法一样的“蓝白点”思想;白点代表已经进入最小生成树的点,蓝点代表未进入最小生成树的点。算法分析 & 思想讲解:Prim算法每次都将一个蓝点 U 变成白点,并且此蓝点 U 与白点相连的最小边权还是当前所有蓝点中最小的。这样就相当于向生成树中添加了n-1次最小的边,最后得到的一定是最小生成树。我们通过对下图最小生成树的求解模
2017-04-21 19:02:01 220
原创 并查集
#include#includeusing namespace std;int Ancestors[1500];//存储祖先节点; int ances(int i)//搜寻祖先节点; { if(Ancestors[i]!=i) Ancestors[i]=ances(Ancestors[i]); return Ancestors[i]
2017-04-21 19:01:56 176
原创 tarjan算法和Kosaraju算法
tarjan算法和Kosaraju算法是求有向图的强连通分量的算法;#include#includeusing namespace std;int map[100][100],nmap[100][100];int visit[100];int time1[100];int post[100];int n,m,num=0,postid=0;void dfs
2017-04-21 19:01:51 379
原创 图的遍历[DFS][BFS]
#include#include#include#include#includeusing namespace std;int m,n,maxn=0x7fffffff;int s[1500][1500];bool visit[1500]={false};queueint>str;void BFS(int );void DFS(int );
2017-04-21 19:01:46 204
原创 括弧匹配检验
#include#includestring>#includeusing namespace std;string s;stackint>str;int main(){ cin>>s; for(int i=0;ii) { if(s[i]=='(')str.push(1); if(s[i]=='['
2017-04-21 19:01:31 666
原创 求逆序对
---恢复内容开始---在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。对于不同的排名结果可以用逆序来评价它们之间的差异。考虑1,2,…,n的排列i1,i2,…,in,如果其中存在j,k,满足 j j > ik, 那么就称(ij,ik)是这个排列的一个逆序。一个排列含有逆序的个数称为这个
2017-04-21 19:01:26 594
原创 NOI openjudge 1792.迷宫
一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(为#),则看成无法办到。输入第1
2017-04-21 19:01:23 573
原创 八皇后
这是一个很经典的搜索题目;在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。输入无输入。输出按给定顺序和格式输出所有八皇后问题的解(见Sample Output)。皇后能吃掉同一行,同一列,同一对角线的角色;所以要把八个皇后放在8*8的棋盘上,保证任意皇后并不能互相吃;在这个问题中有92个解;要求依次输出;可以扩展成n皇后问题,以及各种改版的八皇后问题;下面是一般八
2017-04-21 19:01:18 881
原创 核电站
#includeusing namespace std;long long s,f[50][50];int n,m;int main(){ cin>>n>>m; f[1][0]=1; f[1][1]=1; for(int i=2;i) { for(int j=0;j) f[i][0]+=f[i
2017-04-21 19:01:14 434
原创 02:不吉利日期
总时间限制: 1000ms 内存限制: 65536kB描述在国外,每月的13号和每周的星期5都是不吉利的。特别是当13号那天恰好是星期5时,更不吉利。已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。(w=1..7)输入输入有一行,即一月一日星期几(w)。(1 输出输出有一到多行,每行一个月份,表示该月的13日是星期五
2017-04-21 19:01:09 960
原创 177. [USACO Jan07] 有限制的素数
#include#include#include#includeusing namespace std;int s=0,a,b,c,z[4000005]={1,1,0,0};int h(int s){ while(s>0) { if(s%10==c) return 1; s/=10; } return 0;}int main(){ freopen("qpr
2017-03-16 09:27:00 441
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人