摘要:
( ̄▽ ̄)" #include #include #include #include #include using namespace std; const int INF=10e8; const int MAXN=1010; int k,minn; int cost[MAXN][MAXN],lowcost[MAXN],lc[MAXN]; bool vis[MAXN]; void Rever... 阅读全文
摘要:
( ̄▽ ̄)" #include #include #include #include #include #include using namespace std; const int INF=10e7; const int MAXN=510; int f,n,m,w,s,e,t; int lc[MAXN],cntNode[MAXN]; bool vis[MAXN]; struct edge {... 阅读全文
摘要:
( ̄▽ ̄)" #include #include #include #include #include #include #include #include using namespace std; const int MAXN=40; int n,m; double Vcur[MAXN],R[MAXN][MAXN]; bool vis[MAXN]; int cntNode[MAXN]; cha... 阅读全文
摘要:
( ̄▽ ̄)" #include #include #include #include #include #include #include using namespace std; const int eps=1e-7; const int MAXN=110; int N,M,S; double V,Vcur[MAXN],R[MAXN][MAXN],C[MAXN][MAXN]; bool vis... 阅读全文
摘要:
( ̄▽ ̄)" 第一种解题方法:dij变形 //无向图最短路,dij的变形(有点像prim) //题意:从起点1到终点n,找出一条路,该条路的最小负重是最大的 #include #include #include #include #include #include #include #include #include #include using namespace std; typedef lo... 阅读全文
摘要:
( ̄▽ ̄)" #include #include #include #include #include #include #include using namespace std; const int INF=30; //infÓÃ15£¬10e8¶¼wa£¬ÓÃ20£¬30²Åac const int MAXN=110; int lc[MAXN][MAXN]; void floyd_out... 阅读全文
摘要:
( ̄▽ ̄)" #include #include #include #include using namespace std; const int INF=10e8; const int MAXN=110; int k,minn; int c[MAXN][MAXN],lc[MAXN],level[MAXN],X[MAXN]; bool vis[MAXN]; int dij(int n) { ... 阅读全文
摘要:
( ̄▽ ̄)" //这道题WA的惨烈,又跪在n,m同时为0输入结束这个点上 //以后用n+m或者n||m,不要再用n&&m判了 #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int MAXN=100010;... 阅读全文
摘要:
( ̄▽ ̄)" //不知道为什么,用scanf输入char数组的话,字符获取失效 //于是改用cin>>string,就可以了 //这题字符的处理比较麻烦,输入之后转成数字,用到函数get(char),get_num(string,int) //最后字符的输出是反向输出的,用到函数get_char(int) //这道题也算是到无向图输出欧拉路的模板题,判有无欧拉路用到函数ok() #include ... 阅读全文
摘要:
( ̄▽ ̄)" //这题对序号输出有要求,较小的序号优先输出,所以用到优先队列 //优先队列是优先弹出值最大的,所以最后要反向输出结果,才是正确的output #include #include #include #include #include #include #include #include #include using namespace std; typedef long long l... 阅读全文
摘要:
( ̄▽ ̄)" #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int INF=10e7; const int MAXN=110; int cost[MAXN][MAXN]; int lowcost[MAXN... 阅读全文
摘要:
( ̄▽ ̄)" #include #include using namespace std; int fa[30010]; void makeSet(int n) //初始化,n个元素,处于单独集合 { for(int i=0;i<n;i++) fa[i]=i; } int findSet(int x) //找到该点的粑粑 { return fa[x]=fa[x]... 阅读全文
摘要:
( ̄▽ ̄)" //dijkstra算法, //只是有效边(即能从i楼到j楼)的边权都为1(代表次数1); //关于能否到达目标楼层b,只需判断最终lowtime[b]是否等于INF即可。 #include #include using namespace std; const int INF=10e7; const int MAXN=210; int k,minn; int K[MAXN]; in... 阅读全文
摘要:
( ̄▽ ̄)" //求每条通路中的最大跳跃距离(即最大的两点间距)中的最小值(所谓minimax), //即为frog distance, //且青蛙跳到任意点, //因此用的是稍作改变的folyd算法, //folyd算法用于求解任意两点之间的最短路; #include #include #include #include using namespace std; double lowcost[2... 阅读全文
摘要:
( ̄▽ ̄)" //dijkstra算法; //这题建邻接矩阵的时候有坑(先读入边后读入点),还有重边; #include #include using namespace std; const int INF=10e7; const int MAXN=2010; int k,minn; int cost[MAXN][MAXN]; int lowcost[MAXN]; bool vis[MAXN];... 阅读全文
摘要:
( ̄▽ ̄)" #include #include using namespace std; const int INF=10e7; const int MAXN=1010; int k,minn; int cost[MAXN][MAXN]; int lowcost[MAXN]; bool vis[MAXN]; void dij(int n,int start) { for(int i=1... 阅读全文