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