一直沒想到怎麼做因為複雜度標程也是卡過去的估計= =
如果按照一條直線出資料的話那就是
20 * (5e4 + 1000) * (5e4 + 1000) / 2 * log(5e4)
很明顯爆掉了。。。
但是事實就是只要遍歷最短路的就完事了
#include
#include
#include
#include
#define x first
#define y second
using
namespace std;
const
int n =
1e3+
10,m =
1e5+10;
int head[n]
,to[m]
,last[m]
,w[m]
,cnt,shang[m]
,sha[m]
;void
add(
int a,
int b,
int c)
typedef pair<
int,
int> pii;
int flag[n]
,dist[n]
;void
dij(
int f));
dist[1]
=0;while
(q.size()
));if
(f)}}}
}int
main()
dij(1)
;int minn =0;
for(
int i = n; i !=-1
; i = shang[i])if
(minn !=
0x3f3f3f3f
) cout << minn << endl;
else cout <<-1
<< endl;
}return0;
}
hdu 3986 最短路 列舉)
思路 先spfa求出最短路,然後列舉刪除最短路上的邊,每次刪除一條邊,就求一次最短路,然後去最大的那個就行了。可以重邊的問題沒考慮完善,wa了好多次啊!1 include2 include3 include4 include5 using namespace std 6const int maxn ...
hive 去掉重複資料,僅顯示需要一條
select count 1 count distinct student no from select cj.student no if cj.kpi year 2018 08 2018年8月前 kpi year as contract year row number over partition...
上一條記錄下一條記錄
select top 1 from 表 where id 當前id order by id desc select top 1 from 表 where id 當前id order by id desc 上一條記錄 select top 1 blogid from gcc bloginfo wher...