題太水了懶得乙個乙個發
t1:題意就是5000000個點,10000000條邊,邊權只有1或2,求最短路
我的做法:
先bb一句,要開始考試的時候l讓我和gigo,gsy去樓下考,我說看一下題再決定,然後他說:你看,第一題是裸的最短路。又因為我懶得搬東西去樓下並且不想承受爆零/墊底的壓力,於是就留在樓上。
然後做這道題的時候。嗯...l都說了是最短路,直接上spfa,覺得可能會卡我於是用了slf優化,又寫上了dzyoの快讀,測了下極限資料大概3 4秒,應該不會被卡了
正解:把邊權為2的邊拆成兩條邊權為1的邊進行bfs。
然後好像發現我比標算跑得快
**:#includeusing namespace std;
const int rlen=1<<18|1;
inline char nc()
templateinline void read(t &x)
char ***;
const int n=5000005;
const int m=10000005;
struct edge
edge[2*m];
int tot,first[n],n,m,t;
int dis[n];
bool inque[n];
char yyy;
inline void addedge(int x,int y,int z)
inline void spfa_slf(int s,int t)
int cnt=0;
do }while(next_permutation(a+1,a+n+1));
sort(s+1,s+cnt+1);
for(int i=1;i<=cnt;i++) cout乙個無向圖,可以刪除乙個點及其出去的邊,問刪去哪些點後剩下的點是一棵樹
對於 40%的資料:n<=1000,m<=1000; 另外存在 10%的資料:m=n-1; 另外存在 20%的資料:m=n; 對於 100%
的資料:1e5
我的做法:
保險起見,分了三檔,對於m=n-1,就是一顆樹,其中葉子節點可以刪,對於m=n,相當於找出基環樹的環上的點,對於其他的,找出那些m-出度=n-2的點,然後判聯通
我以為我可以過的,結果*****了。其實不需要每次o(n)判聯通,只需要判斷這個點是不是割點即可,cnm。
分段**:
#includeconst int n=100005;
const int m=100005;
using namespace std;
templateinline void read(t &x)
int n,m,tot=1,first[n],father[n],kp,dfn[n],idx,f[n];
struct edge
edge[2*m];
vector p,ans,d;
inline void addedge(int x,int y)
inline int getfather(int x)
inline bool check(int key)
int last;
if(key==1) last=getfather(2);
else last=getfather(1);
for(int i=1;i<=n;i++)
return true;
}void solve1(int i)
if(check(i)) ans.push_back(i);
for(int u=first[i];u;u=edge[u].next) }
void dfs(int now,int fa)
if(cnt==0) ans.push_back(now);
}void dfs2(int now)
} cout《總結:
沒什麼總結,記憶猶新的就是最後幾分鐘對拍t2,結果發現出了點問題(沒有輸出),然後慌得一p,一度以為t2要爆零了,結果nm資料出錯了。
下次還是去樓下找虐吧!
7 21模擬測試題解
用nlogn求出最長不下降子串行長度然後判長度是否有n 1就行了 因為每個數只能用一次,所以前i個數所能組成的最大和為a 1 a 2 a i 若a i 1 a 1 a 2 a i 1 則因為比a 1 a 2 a i 大的下乙個數必 a i 1 所以a 1 a 2 a i 1為答案。include i...
2018 10 25 模擬測試題解
目錄問題 b 蜀傳之單刀赴會 問題 c 吳傳之火燒連營 本篇題解也發表於zwcblog作者是同乙個人 眾所周知,劉備在長阪坡上與他的一眾將領各種開掛,硬生生從曹操手中逃了出去,隨後與孫權一 燒赤壁 占有荊益 成就霸業。而曹操則在赤壁一敗後再起不能,終生無力南下。建安二十五年 220年 曹操已到風燭殘...
191024省選測試題解
t1 有n個不相交矩形障礙,求從原點走到某個目標點的最短路,目標點在x軸上 顯然矩形的右端點是沒用的,我們保留左邊即可 顯然不會往左走,dp一下是n 2n 2 n2的,用掃瞄線優化一下即可 include define pb push back define ll long long using n...