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/ spfa();
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個頂點中不相鄰兩點的線段 即旅遊路...