hdu6850
題解:從外層依次刪去最遠的點對,最後刪到只剩餘乙個點的時候判斷該點是否第乙個點,是的話就必敗,否則就必勝,因為如果先手一開始處於最遠點對上的點的時候,那麼每次先手均可在本層走走遠點對距離,那麼後手要想走就必須走更遠的距離,那麼後手就只能向上一層走,但是當後手向上走的時候他一定會位於最遠的點對上的點,此時主動權又在先手的手裡
#include
using
namespace std;
typedef
long
long ll;
const ll mod=
998244353
;struct nodep[
2005];
int vis[
2005];
ll d[
2005][
2005];
ll mp[
2005][
2005];
int n;
ll dis
(int i,
int j)
struct pk};
pk b[
2005
*2005];
int cnt=0;
voidko(
)sort
(b+1
,b+1
+cnt)
;int m=n;
int l=1;
ll pre;
while
(l<=cnt)
pre=b[l]
.w;while
(l<=cnt)
if(b[l]
.w==pre)
else
l++;}
if(m==1)
else
return;}
}printf
("yes\n");
}inline ll read()
while
(ch>=
'0'&&ch<=
'9')
if(flag)
return x;
return
~(x-1)
;}intmain()
for(
int i=
1;i<=n;i++)if
(n%2==0
) cnt=0;
for(
int i=
1;i<=n;i++)}
ko();
}return0;
}
2020杭電多校
hdu 6836 對於一張圖,每個生成樹的權值為所有邊按位與的結果,求生成樹期望權值。樸素解法 暴力求出每乙個生成樹,累積權值和,然後除生成樹總數。int型別只有31位,既然是與的結果,對於每一條生成樹所有的邊該位都應該是1,按位列舉每一位,求出該位為1的生成樹權值大小,將結果累積到答案裡。incl...
2020杭電多校第7場 1007 Game
原題鏈結 題意 有乙個二維平面,上面有n個點,在第乙個點上有一顆石頭。現在有兩個人做遊戲,他們輪流移動石頭,第一次移動的時候可以將石頭移動到平面上的其他任何的點上。之後的每次移動,可以將石頭移動到比上次移動距離更遠的點上。當輪到某人時,他無法再移動石頭,則判他為輸。做法 我們先考慮第一步 當前是第乙...
Tetrahedron(2020杭電多校)
題意 給你直角四面體的三邊a,b,c,三者兩兩垂直,問a,b,c從 1,n 隨機挑選,求三者交點到底面的距離的平方的逆元。直角四面體有條結論是1 h2 1 a2 1 b2 1 c2 然而比賽的時候沒想到怎麼算期望,捂臉。演算法 e 1 h2 e 1 a2 e 1 b2 e 1 c2 3 e 1 a2...