「聯賽模擬測試35」題解
阿新 • • 發佈:2020-11-21
T1:組合
很容易發現,這題需要建個圖
建圖方法是把每個串的首尾相連,能反過來就建雙向邊
由於每個串都要用上,所以第一問就是判斷是否存在尤拉路,第二問就是尤拉路徑
考場前80打了個 \(O(n^2)\) 帶回溯的暴搜,後20口胡了一個 \(O(nlogm)\) 的最長路路徑記錄
然後本地得了45分,聯考oj得了25,原因:
1.
2.
其實一遍DFS就能找出尤拉路徑(沒寫過。。)
判是否存在尤拉路的以前考過兩次,不寫了,貼個尤拉路的
void DFS1(int u,int id){ // for(int x=now[u];x;x=e[x].next){ while (now[u]) { int x = now[u]; now[u] = e[x].next; int v=e[x].to; if(black[x])continue; black[x]=1; if(opt==1)black[x^1]=1; DFS1(v,e[x].id); //sta[++top]=e[x].id; } if(id)sta[++top]=id; }
T2:小W的魔術
沙雕題,十幾分鍾就推出來了
先往大致方向蒙個柿子
用計算器驗證驗證
然後就出來了
不會的建議練習打表
ans=((qpow(26,n)-qpow(26,n-m)-qpow(26,n-m-1)*25%mol*m%mol)%mol+mol)%mol;
這個部分分干擾性極大
T3:小Y的圖
智障題,然而考試時沒衝,腦子裡只有T1
把貨車運輸改成建最小生成樹就行
T4:小L的數
不會,割了