題目:
題意:2*n個人(n<=14),分兩組,求競爭值最大和。兩人 i, j 的競爭值指 i , j 在不同隊時的a[i][j],對於乙個人要算出與他不同隊伍的所有人的競爭值之和。
思路:先把所有人都放b隊,每次選乙個放a隊。
**:
#include #define ll long long
using namespace std;
const int maxn = 30;
ll ans, sum[maxn];
int n, a[maxn][maxn];
vectorv;
void dfs(int pos, ll res)
if(pos>n || v.size()>n/2) return ;
ll tmp = sum[pos];
for(auto it : v) tmp = tmp - a[pos][it] - a[it][pos];
v.push_back(pos); dfs(pos+1, res+tmp);
v.pop_back(); dfs(pos+1, res);
}int main()
2019牛客暑期多校訓練營(第二場)
題意 題解 c 版本一 include using namespace std typedef long long ll const int mod 1e9 7 ll power ll a,ll b a是底數,b是次冪 return ans ll phi ll n 求尤拉函式值 返回值為多少個與n互...
2019牛客暑期多校訓練營(第二場)
有2 n個人,平均分為兩隊,當i和j不在同一隊時,獲得權值vij v vi j 求權值總和的最大值 暴力!暴力!暴力!首先劃分28個人有c 2814 c c2 814 種情況,約為4e7,然後計算權值總和本來需要14 14的複雜度,這樣肯定會t,因此需要想辦法優化這個14 14,於是我在翻別人的 的...
2020牛客暑期多校訓練營(第二場) A
時間限制 c c 3秒,其他語言6秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 given n strings s 1,s 2,cdots,s ns1 s2 sn now define f s,t as the maximum i t...