這題很有趣
首先那些邊權都為0的,就是完全圖的生成樹個數,為nn
−2按照二進位制從最高位開始做
每次按照0/1分制,會得到兩棵生成樹,一棵全是這位為0,一棵全是這位為1
然後選一條最短的邊連線兩邊,這個用字典樹搞定
然後就沒了
#include
#include
#include
#include
#define fo(i,a,b) for(ll i=a;i<=b;i++)
#define fd(i,a,b) for(ll i=a;i>=b;i--)
#define n 101000
#define ll long long
#define mo 1000000007
using namespace std;
ll e[35],ans,b[n],c[n],t[n*10][3],tot=1,mx,a[n],n,dc,jc[n];
void ins(ll x)
else
}}ll pd(ll x)
else
}dc=t[u][0];
return ans;
}ll mi(ll x,ll y)
ll dg(ll l,ll r,ll k)
ans+=ans4;
return (ans3*ans5)%mo;
}int main()
Noip2017提高組 乳酪
noip 2017 提高組 不怎麼難啦 思路如下 首先先寫乙個函式判斷兩個洞是否相連,即兩洞之間距離是否小於等於球直徑 注意是直徑 struct dong dong p 1001 bool pd dong a,dong b 第二個難點在於如何判斷是否可以穿過乳酪,對此我們可以模擬老鼠鑽洞 run函式...
NOIP2017提高組 列隊
noip2017提高組 day2 t3 sylvia 是乙個熱愛學習的女孩子。前段時間,sylvia 參加了學校的軍訓。眾所周知,軍訓的時候需要站方陣。sylvia 所在的方陣中有 n m 名學生,方陣的行數為 n,列數為 m 為了便於管理,教官在訓練開始時,按照從前到後,從左到右的順序給方陣中的學...
NOIP 2017 提高組 寶藏
傳送門 參與考古挖掘的小明得到了乙份藏寶圖,藏寶圖上標出了 n nn 個深埋在地下的寶藏屋,也給出了這 n nn 個寶藏屋之間可供開發的 m mm 條道路和它們的長度。小明決心親自前往挖掘所有寶藏屋中的寶藏。但是,每個寶藏屋距離地面都很遠,也就是說,從地面打通一條到某個寶藏屋的道路是很困難的,而開發...