2020杭電多校七(Game)

2021-10-09 03:14:02 字數 1274 閱讀 7055

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...