19 2 18 測試題解

2021-09-11 02:06:07 字數 1987 閱讀 3234

題太水了懶得乙個乙個發

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...