@hdu - 6598@ Harmonious Army】的更多相关文章

N个人 每个人可以是战士/法师  M个组合 每个组合两个人 同是战士+a 同是法师+c 否则+b 对于每一个u,v,a,b,c 建(S,u,a) (u,v,a+c-2*b) (v,T,c) (S,v,a) (v,u,a+c-2*b) (u,T,c) 最后答案为(2*sum(a+c)-最大流)/2 思路可以参考洛谷P1361 #include<bits/stdc++.h> using namespace std; typedef long long ll; ; ; ], nxt[MAXM <…
参考博客https://blog.csdn.net/u013534123/article/details/97142191 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=2e5+50; int S,T,From[maxn],Laxt[maxn],Next[maxn],To[maxn]; ll Cap[maxn],cnt; int vd[maxn],dis[maxn]; void…
题意: 有n个士兵,你可以选择让它成为战士还是法师. 有m对关系,u和v 如果同时为战士那么你可以获得a的权值 如果同时为法师,你可以获得c的权值, 如果一个为战士一个是法师,你可以获得b的权值 问你可以获得的最大权值是多少? 题解: 对每个士兵建立一个点x ,点x 向源点s 连一条边,向汇点t 连一条边, 分别表示选择两种职业,然后就可以先加上所有的贡献,通过两点关系用 最小割建模,如下图所示 设一条边的三种贡献为A, B, C,可以得到以下方程: 如果x,y都是法师,你可以获得C的权值,但是…
目录 @description@ @solution@ @accepted code@ @details@ @description@ n 个士兵,每个士兵可以选择加入 A 组或 B 组. 有 m 个组合技可以增加整个军队的力量:第 i 个组合技涉及到士兵 ui 与 vi,当两人同时加入 A 组力量值增加 ai,同时加入 B 组力量值增加 ci,否则力量值增加 bi. 求每种安排士兵的方案中军队的力量值最大可以为多少. Input 多组数据. 每组数据开头包含两个正整数 n(n≤500) 和 m…
题解:HDU 6598 Description Now, Bob is playing an interesting game in which he is a general of a harmonious army. There are \(n\) soldiers in this army. Each soldier should be in one of the two occupations, Mage or Warrior. There are \(m\) pairs of sold…
Harmonious Army Now, Bob is playing an interesting game in which he is a general of a harmonious army. There are n soldiers in this army. Each soldier should be in one of the two occupations, Mage or Warrior. There are m pairs of soldiers having comb…
题意: 一个军队有n人,你可以给他们每个人安排战士或者法师的职业,有m对人有组合技,组合技的信息是a,b,c,代表如果这两个人是两个战士,则组合技威力为a,一个战士一个法师,威力为b,其中b=a/4+c/3,两个法师,威力为c,求最大的威力. 题解: 这道题给出了一个最小割的清奇思路. 首先不去想边权,只想连通性,设源点为战士,汇点为法师,中间的点记为军队中的人,人和源点汇点之间连边,有组合技的人两两之间连边,简单起见,从只有两个人的情况讨论,这张图割完了只能是如下形式: (两个战士) (两个法…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6598 题意是说一个军队有n人,你可以给他们每个人安排战士或者法师的职业,有m对人有组合技,组合技的信息是A,B,C,代表如果这两个人是两个战士,则组合技威力为A,一个战士一个法师,威力为B,其中B=A/4+C/3,两个法师,威力为C,求最大的威力. 很网络流的题目,那就流呗XD 先考虑如果每个人可以选择两个职业,则威力为$sum=\sum_{i=1}^{n}(a[i]+b[i]+c[i])$ 如果不…
http://acm.hdu.edu.cn/showproblem.php?pid=6598 一开始就觉得是网络流,但是一直都不会怎么建图. 这里要考虑. 每一组边(u,v,a,b,c)建立如下的连接: (s,u,a),(s,v,a),(u,t,c),(v,t,c),(u,v,a+c-2b) 这样,看看,每次最小割把这个切断的时候,要么切断2a,使得u,v同属于t,要么切断2c,使得u,v同属于s.再或者,斜着切断三条边,合计2a+2c-2b. 那么假如最小割的值是sum,那么 (a+c)-su…
pid=3970">链接 题解:www.cygmasot.com/index.php/2015/08/17/hdu_3970 给定n  求连续整数[0,n), 中随意选一些数使得选出的数和为n的倍数的方法数 ...并不会怎样递推. . 思路: 然后这是公式:q=2%2C2%2C4%2C4%2C8%2C12%2C20%2C32%2C60&language=english&go=Search">点击打开链接 a(n) = 1/n * sum_{d divides…