
sdut 2498【aoe 网上的关键路径】
View Code
发布日期:2021-05-09 04:14:01
浏览次数:10
分类:博客文章
本文共 1290 字,大约阅读时间需要 4 分钟。
代码超时怎么破:
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 int mapx[10000][10000],ve[10001],vl[10001],h[10001],m,k; 10 stack zhan; 11 queue e; 12 queue l; 13 void tuopu(); 14 void gengxin(); 15 int main() 16 { 17 while(cin>>m>>k) 18 { 19 memset(mapx,0,sizeof(mapx)); 20 memset(h,0,sizeof(h)); 21 memset(ve,0,sizeof(ve)); 22 memset(vl,0,sizeof(vl)); 23 int i,u,v,countx; 24 for(i=1; i<=k; i++) 25 { 26 cin>>u>>v>>countx; 27 mapx[u][v]=countx; 28 h[v]++; 29 } 30 tuopu(); 31 gengxin(); 32 } 33 } 34 void tuopu() 35 { 36 int i,flag=0,j; 37 while(flag=!flag) 38 { 39 for(i=1; i<=m; i++) 40 { 41 if(h[i]==0) 42 { 43 flag=0; 44 h[i]=-1; 45 zhan.push(i); 46 for(j=1; j<=m; j++) 47 if(mapx[i][j]!=0) 48 h[j]--; 49 //更新 ve数组 50 int y=0; 51 for(j=1; j<=m; j++) 52 { 53 if(mapx[j][i]!=0) 54 { 55 if(mapx[j][i]+ve[j]>y) 56 { 57 y=mapx[j][i]+ve[j]; 58 } 59 } 60 } 61 ve[i]=y; 62 } 63 } 64 } 65 /*while(!zhan.empty()) 66 { 67 cout< <<" "; 68 zhan.pop(); 69 } 70 cout< vl[i]-mapx[x][i]) 93 y=vl[i]-mapx[x][i]; 94 } 95 } 96 vl[x]=y; 97 zhan.pop(); 98 } 99 //验证输出vl数组100 /*for(i=1;i<=m;i++)101 cout< <<" ";102 cout<
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月14日 18时53分48秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CF600E Lomsat gelral 树上启发式合并
2021-05-09
洛谷 P6851 【onu】贪心
2021-05-09
联赛模拟测试20 B. Walk (建图)
2021-05-09
联赛模拟测试22 D. 简单计算
2021-05-09
联赛模拟测试23 D. 真相 思维题
2021-05-09
NOIP2020游记
2021-05-09
莫队学习笔记
2021-05-09
怎样更好地理解并记忆泰勒展开式?(转载)
2021-05-09
牛顿迭代学习笔记
2021-05-09
P3714 [BJOI2017]树的难题 点分治+线段树合并
2021-05-09
插头DP学习笔记
2021-05-09
Scala中的空
2021-05-09
.NET Framework 4.7 安装
2021-05-09
Python基础4(模块 异常)
2021-05-09
k8s之PV、PVC、StorageClass详解
2021-05-09
一文带你认识Docker
2021-05-09