- 博客(11)
- 问答 (1)
- 收藏
- 关注
原创 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
480
原创 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
384
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
320
原创 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
400
原创 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
414
原创 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
329
原创 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
353
原创 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
646
原创 ACM暑期集训——专题一[DFS]
#include#includeint 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,所以只要打到40int visited[21],a[21];void dfs(int num)//深搜{ int i;
2016-07-21 15:11:21
674
原创 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
633
空空如也
ACM 最小生成树的代码 大家帮忙看一看!!
2016-07-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人