杭電多校2020 2 Lead of Wisdom

2021-10-08 14:33:59 字數 1403 閱讀 1046

題意:n件物品,每種物品有乙個種類ti

四個屬性 ai , bi , ci , di

每個種類最多選一件物品,求 四個屬性分別求和 再與100相加 最後 乘積

思路:dfs 種類i物品數量不超過50 跳過沒有的種類

(沒過

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include #include #include #include #include #include #include using namespace std;

#define gc getchar()

#define mem(a) memset(a,0,sizeof(a))

//#define sort(a,n,int) sort(a,a+n,less())

#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);

typedef long long ll;

typedef unsigned long long ull;

typedef long double ld;

typedef pairpii;

typedef char ch;

typedef double db;

const double pi=acos(-1.0);

const double eps=1e-6;

const int inf=0x3f3f3f3f;

const int maxn=1e5+10;

const int maxm=100+10;

const int n=2e5+10;

const int mod=1e9+7;

int len = 51;

struct items[n][n];

ll ans[n],nxt[n];

int main()

int x=k+1;

for(int i=k;i;i--)

int p = 1;

int a , b , c , d;

a = b = c = d = 0;

int s1 = 0;

for(int i = 0;i < ans[p] || ans[p] == 0;i++)

return 0;

}p += 1;

a += s[p][i].a;

b += s[p][i].b;

c += s[p][i].c;

d += s[p][i].d;

} cout << sum;

}}

2020杭電多校

hdu 6836 對於一張圖,每個生成樹的權值為所有邊按位與的結果,求生成樹期望權值。樸素解法 暴力求出每乙個生成樹,累積權值和,然後除生成樹總數。int型別只有31位,既然是與的結果,對於每一條生成樹所有的邊該位都應該是1,按位列舉每一位,求出該位為1的生成樹權值大小,將結果累積到答案裡。incl...

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

2020杭電多校七(Game)

hdu6850 題解 從外層依次刪去最遠的點對,最後刪到只剩餘乙個點的時候判斷該點是否第乙個點,是的話就必敗,否則就必勝,因為如果先手一開始處於最遠點對上的點的時候,那麼每次先手均可在本層走走遠點對距離,那麼後手要想走就必須走更遠的距離,那麼後手就只能向上一層走,但是當後手向上走的時候他一定會位於最...