description【題目分析】阿狸和桃子正在玩乙個遊戲,遊戲是在乙個帶權圖g=(v, e)上進行的,設節點權值為w(v),邊權為c(e)。遊戲規則是這樣的:
1. 阿狸和桃子輪流將圖中的頂點染色,阿狸會將頂點染成紅色,桃子會將頂點染成粉色。已經被染過色的點不能再染了,而且每一輪都必須給乙個且僅乙個頂點染色。
2. 為了保證公平性,節點的個數n為偶數。
3. 經過n/2輪遊戲之後,兩人都得到了乙個頂點集合。對於頂點集合s,得分計算方式為
由於阿狸石頭剪子布輸給了桃子,所以桃子先染色。兩人都想要使自己的分數比對方多,且多得越多越好。如果兩人都是採用最優策略的,求最終桃子的分數減去阿狸的分數。
在一次培訓中的題目,雖然是集訓隊的題目,但是被sdfzyhx直接秒掉了%%%。大概的思想就是把邊權拆開放到兩個點上,那麼選中邊,當且僅當兩個點都選,如果一人乙個,邊權無效,是可以相減抵消的。然後用乙個堆就好了
【**】
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define maxn 10005
#define inf (0x3f3f3f3f)
long
long read()
while (ch>='0'&&ch<='9')
return x*f;
}priority_queue
long> q;
long
long n,m,a[maxn],ans=0;
int main()
// prlong longf("a is "); for (long long i=1;i<=n;++i) prlong longf("%d ",a[i]); prlong longf("\n");
for (long
long i=1;i<=n;++i) q.push(a[i]);
for (long
long i=1;i<=n/2;++i)
printf("%lld\n",ans/2);
}
bzoj2563 阿狸和桃子的遊戲
題目 如果只有點或邊的話,十分簡單對吧,但是,現在都有。怎麼辦呢?我們可以吧邊權分在點上,怎麼分,一般的想法就是對半分。但這樣對不對呢?感性認識,由於是算分差,如果兩個人各選了一條邊的乙個端點,沒有影響,不然的話,選了兩個端點的人能超乙個邊權。那,這樣就是對的。排序後,輕鬆解決。include us...
bzoj2563阿狸和桃子的遊戲
bzoj2563阿狸和桃子的遊戲 題意 乙個n 偶數 點圖,節點權值為w v 邊權為c e 兩人輪流將圖中的頂點染色,已經被染過色的點不能再染了,而且每一輪都必須給乙個且僅乙個頂點染色。染完後每個人的分數為染過的點權和以及兩個端點都被染的邊權和。如果兩人都是採用最優策略的,求最終第乙個人的分數減去第...
BZOJ 2563 阿狸和桃子的遊戲
time limit 3 sec memory limit 128 mb submit 713 solved 504 submit status discuss 阿狸和桃子正在玩乙個遊戲,遊戲是在乙個帶權圖g v,e 上進行的,設節點權值為w v 邊權為c e 遊戲規則是這樣的 1.阿狸和桃子輪流將...