原来是赞同的连源,原来是反对的连汇,然后是朋友的就连在一起,这样最小割就是割掉违背和谐的吧

type
arr=record
toward,next,cap:longint;
end;
const
maxm=;
maxn=;
var
first,col,gap,d,cur:array[..maxn]of longint;
edge:array[..maxm]of arr;
esum,tot,s,t,n:longint; function min(x,y:longint):longint;
begin
if x<y then exit(x);
exit(y);
end; procedure add(j,k,l:longint);
begin
inc(esum);
edge[esum].toward:=k;
edge[esum].next:=first[j];
first[j]:=esum;
edge[esum].cap:=l;
end; procedure addedge(j,k,l:longint);
begin
add(j,k,l);
add(k,j,);
end; procedure into;
var
i,j,n,m:longint;
begin
readln(n,m);
fillchar(first,sizeof(first),);
esum:=-;
tot:=n+;
s:=n+;
t:=n+;
for i:= to n do begin
read(col[i]);
if col[i]= then addedge(s,i,)
else addedge(i,t,);
end;
while m> do begin
dec(m);
read(i,j);
if col[i]= then addedge(i,j,)
else addedge(j,i,);
end;
end; function sap(x,flow:longint):longint;
var
now,more,too,i:longint;
begin
if x=t then exit(flow);
i:=cur[x];
now:=;
while i>= do begin
too:=edge[i].toward;
if (d[x]=d[too]+) and (edge[i].cap>) then begin
more:=sap(too,min(edge[i].cap,flow-now));
dec(edge[i].cap,more);
inc(edge[i xor ].cap,more);
inc(now,more);
cur[x]:=i;
if now=flow then exit(flow);
end;
i:=edge[i].next;
end;
dec(gap[d[x]]);
if gap[d[x]]= then d[s]:=tot;
inc(d[x]);
inc(gap[d[x]]);
cur[x]:=first[x];
exit(now);
end; function maxflow:longint;
var
i,ans:longint;
begin
fillchar(d,sizeof(d),);
fillchar(gap,sizeof(gap),);
gap[]:=tot;
for i:= to n do cur[i]:=first[i];
ans:=;
while d[s]<tot do inc(ans,sap(s,maxlongint));
exit(ans);
end; begin
into;
writeln(maxflow);
end.

bzoj 1934: [Shoi2007]Vote 善意的投票 (最小割)的更多相关文章

  1. BZOJ 1934: [Shoi2007]Vote 善意的投票 最小割

    1934: [Shoi2007]Vote 善意的投票 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnl ...

  2. 最小投票BZOJ 1934([Shoi2007]Vote 善意的投票-最小割)

    上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下最小投票 1934: [Shoi2007]Vote 好心的投票 Time Limit: 1 Sec Memory L ...

  3. 【BZOJ2768】[JLOI2010]冠军调查/【BZOJ1934】[Shoi2007]Vote 善意的投票 最小割

    [BZOJ2768][JLOI2010]冠军调查 Description 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教 ...

  4. BZOJ 1934 [Shoi2007]Vote 善意的投票(最小割)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1934 [题目大意] 每个人对于投票都有自己原来的观点:1或者0, 他可以违背自己原来的 ...

  5. ●BZOJ 1934 [Shoi2007]Vote 善意的投票

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1934 题解: 题目有点迷. S向为1的点连边,为0的点向T连边,在有关系的两个点之间连双向边 ...

  6. 【刷题】BZOJ 1934 [Shoi2007]Vote 善意的投票

    Description 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己的主见,但是为了照顾一下自己朋友的想法,他们也可 ...

  7. bzoj 1934: [Shoi2007]Vote 善意的投票

    #include<cstdio> #include<iostream> #define M 100000 #include<cstring> using names ...

  8. 【bzoj2768/bzoj1934】[JLOI2010]冠军调查/[Shoi2007]Vote 善意的投票 最小割

    bzoj2768 题目描述 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关 ...

  9. B1934 [Shoi2007]Vote 善意的投票 最小割

    一开始不太会,结果看完题解就是一个建图的网络流.然后就结了. 题干: 题目描述 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人 ...

随机推荐

  1. php输出带尖括号的内容

    有这样的数组 $arr = array( 'facebook' => 'facebook', '<facebook>' => '<facebook>', ); 输出 ...

  2. c++ reference can not be reassigned

    #include <iostream> using namespace std; int main () { // declare simple variables int i; int ...

  3. Richardson成熟度模型

    Richardson Maturity Model(RMM) 迈向REST的辉煌 一个模型(由Leonard Richardson开发)将REST方法的主要元素分解为三个步骤.这些引入资源,http动 ...

  4. 编译Chromium出现warning C4819的解决办法

    编译Chromium时出现 warning C4819: The file contains a character that cannot be represented in the current ...

  5. nginx支持php配置

    location / { root /wwwroot/phptest; index index.html index.htm index.php; } location ~ \.(php|php5)$ ...

  6. hdu5698瞬间移动(杨辉三角+快速幂+逆元)

    瞬间移动 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  7. Qt-Qml-隐藏标题栏-程序依附任务栏

    最近换工作,直接欢动qml这边来了,以后可能会有更多关于qml的文章 今天第一个,qml下面怎么隐藏标题栏 第一种方法是在使用QQuickView加载qml文件的话,这里就可以使用QQuickView ...

  8. 【selenium】selenium全分享

    第一节:selenium基础 [http://note.youdao.com/noteshare?id=43603fb53593bfc15c28bc358a3fa6ec] 目录: selenium简介 ...

  9. chorme打开网页的技巧

    恢复之前关闭的网页 ctr l+ shift + t 打开之前不小心关闭的网页 临时书签 在设置书签中有 为打开的网页添加书签 的选项, 清除地址栏搜索记录 首先需要退出个人谷歌账户,账户上的搜索记录 ...

  10. 腾讯地图和百度地图的PHP相互转换

    /** * 百度地图---->腾讯地图 * @param double $lat 纬度 * @param double $lng 经度 * @return array(); */ functio ...