ACM 算法
EADing_7
这个作者很懒,什么都没留下…
展开
-
ACM暑期集训——专题一[DP最大子序列]
#include #include using namespace std; int main(){ int i,j,t,n,k=1,num; scanf("%d",&t); num=t; while(t--){ int max=-10000,sum=0,begin=0,end=0,pos=0; int a[100000]; scanf("%d",&n); for原创 2016-08-07 23:03:55 · 313 阅读 · 2 评论 -
ACM暑期集训——专题一[DFS回溯法]
八皇后 #include #include using namespace std; int num=0,t=0; int m[100]; int n; void dfs(int N){ int i,j; if(N==n){ num++; } else{ for(i=0;i<n;i++){ //遍历每行寻找合适位置 int s=1; m[N]=i;原创 2016-08-06 21:25:42 · 283 阅读 · 0 评论 -
ACM暑期集训——专题二[最短路Bellman-Ford算法]
#include #include using namespace std; int map[1002][1002]={0}; struct side{ int x,y,v; }; int main(){ int i,j,N,M,n,x,y,v,k=1,l; scanf("%d",&n); while(n--){ scanf("%d %d",&N,&M); int d[10原创 2016-07-25 22:05:50 · 351 阅读 · 0 评论 -
ACM暑期集训——专题二[最短路Floyd算法]
#include #include using namespace std; int main(){ int i,j,k,M,N,x,y,v; while(scanf("%d %d",&N,&M)&&N!=0&&M!=0){ int map[102][102]={0},max=100000; int d[102][102]; for(i=1;i<=M;i++){ sca原创 2016-07-25 12:29:24 · 381 阅读 · 0 评论 -
ACM暑期集训——专题一[最短路Dijkstra算法]
#include #include using namespace std; int map[1005][1005]={0}; int main(){ int T,N,i,j,begin,end,value; while(scanf("%d %d",&T,&N)!=EOF){ int d[1005],v[1005]={0},num=1; d[1]=0; for(i=2;i<1原创 2016-07-23 19:38:57 · 293 阅读 · 0 评论 -
ACM暑期集训——专题一[优先队列]
#include #include #include using namespace std; int main(){ int n,k,i,num; char c; while(scanf("%d %d",&n,&k)!=EOF){ priority_queue, greater > q; for(i=0;i<k;i++){ cin>>c; cin>>num;原创 2016-07-21 15:09:34 · 600 阅读 · 0 评论 -
ACM暑期集训——专题一[DFS]
#include #include int prime[40]={0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0},n;//素数打表,因为n最大是20,所以只要打到40 int visited[21],a[21]; void dfs(int num)//深搜 { int i;原创 2016-07-21 15:11:21 · 639 阅读 · 0 评论 -
ACM暑期集训——专题一[BFS]
#include #include #include using namespace std; struct node{ int x,step; }; queue Q; int v[200500]; int k; void bfs(){ int x,step; while(!Q.empty()){ node tmp=Q.front(); Q.pop(); x=tmp原创 2016-07-21 15:12:18 · 612 阅读 · 0 评论 -
ACM暑期集训——专题一[最小生成树prim算法]
#include #include using namespace std; int main(){ int i,j,begin,end,value,n,m,k; while(scanf("%d",&n)&&n!=0){ int map[105][105]={0},min; int v[55]={0},a[55]={0}; int val=0,num=1; scanf(原创 2016-07-23 16:37:22 · 318 阅读 · 0 评论 -
ACM 算法详细分类
比较全面的ACM算法分类原创 2016-03-28 23:26:00 · 588 阅读 · 0 评论 -
ACM训练——KMP+next数组
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3336 题目要求计算一个字符串的所有前缀字符串在整个字符串中出现的次数。 采用next数组来计算最大前后缀字符串,累加next的值(注意:在累加时,只加下个位置不满足next递归规律的位置的next值) 当k,j位置所对应的字符不同时,k不需要退回初始位置,只需要退回next[k]原创 2016-10-25 17:53:33 · 438 阅读 · 0 评论