省選專練ZJOI2012旅遊

2021-08-16 21:01:25 字數 716 閱讀 2437

stl在開o2後自然是大水題。

考點:樹的直徑。

第一二次構圖。

把每乙個三角塊相鄰的建邊。

怎麼建?stl-你都做到這個題了map hash兩個值鐵定會吧。

但是zjoi沒有那麼好心,不過你也有70分了。

於是這樣:把兩點建邊。排個序。

相同的時候連起來。

樹的直徑。

很多人求複雜了。

樹的直徑一遍dfs就可以,不需要兩遍bfs。

#includeusing namespace std;

const int n= 500000;

struct ********a[n];

map,int > hash;

int n;

struct nodee[n*4];

int cnt=0;

int first[n]=;

void add(int u,int v)

//queueq;

int dis[n]=;

int rd[n]=;

void spfa()

if(hash.count(a))

if(hash.count(a))

if(hash.count(a))

else

}// cout

dfs(1,0);

cout<}

省選專練ZJOI2012小藍的好友

第一考慮容斥原理。然後掃瞄線掃過去,用一棵可持久化平衡樹treap維護搞。陳老師的說的很不錯。include include include include includeusing namespace std inline void read long long x while ch 0 ch 9...

省選專練ZJOI2005午餐

這是個好題 考察dp優化,dp,貪心,01揹包變種。好首先對吃飯時間從大到小排序,因為一隊人打飯時長總和一樣。dp i,j 表示前i個人,第一組用j的時間。放第乙個揹包 dp i j min max dp i 1 j a i w j a i v 放第二個揹包 dp i j min max dp i ...

ZJOI2012一試 旅遊 題解 最長鏈 bfs

題目大意 小白和小藍到t國旅遊,t國是乙個凸 n 邊形,包含 n 2 個城市,城市組成了關於 t 國的乙個三角剖分,兩人的旅遊路線可以看做是連線 n 個頂點中不相鄰兩點的線段,求旅遊路線能經過的最多的城市的數量?解題報告 如果判斷是否經過乙個城市,其實就是判斷連線n個頂點中不相鄰兩點的線段 即旅遊路...