把所有点拆成两个,将符合条件的两个点x,y连上边,流量为1,费用为-(x+y)。

做一遍最小费用最大流,最后ans div 2即可。

 Program bzoj2661;
const INF=;
var last,next,p,cost,cap,q:array[..] of longint;
flag1,flag2:array[..] of boolean;
a,c,i,j,x,y,t,s,sum:longint;
b:array[..] of longint;
pd:array[..] of boolean;
d,ps:array[..] of longint;
function gcd(x,y:longint):longint;
begin
if y= then exit(x) else exit(gcd(y,x mod y));
end;
procedure add(x,y,f,c:longint);
begin
inc(sum); next[sum]:=last[x]; last[x]:=sum;
p[sum]:=y; q[sum]:=x; cost[sum]:=c; cap[sum]:=f;
end;
procedure adt(x,y,f,c:longint);
begin
add(x,y,f,c); add(y,x,,-c);
end;
procedure spfa;
var i,j,l,r:longint;
begin
for i:= to t do d[i]:=INF;
fillchar(pd,sizeof(pd),false);
l:=; r:=; pd[s]:=true; b[]:=s; d[s]:=;
while l<=r do
begin
i:=last[b[l]];
while i<> do
begin
if (cap[i]>) and (d[p[i]]>d[b[l]]+cost[i]) then
begin
d[p[i]]:=d[b[l]]+cost[i];
ps[p[i]]:=i;
if not pd[p[i]] then
begin
inc(r);
b[r]:=p[i];
pd[p[i]]:=true;
end;
end;
i:=next[i];
end;
pd[b[l]]:=false;
inc(l);
end;
end;
procedure minCmaxF;
var x,i,j,cc,f,min:longint;
begin
f:=; cc:=;
while true do
begin
spfa;
if d[t]=INF then
begin
writeln(f div ,' ',-cc div );
exit;
end;
min:=INF;
x:=t;
while x<>s do
begin
if cap[ps[x]]<min then min:=cap[ps[x]];
x:=q[ps[x]];
end;
x:=t;
while x<>s do
begin
dec(cap[ps[x]],min);
inc(cap[ps[x] xor ],min);
x:=q[ps[x]];
end;
cc:=cc+min*d[t];
f:=f+min;
end;
end;
begin
readln(a,c);
s:=;
for i:=a to c do
for j:=a to c do if (i<>j) then
begin
x:=trunc(sqrt(abs(i*i-j*j)));
if x*x<>abs(i*i-j*j) then continue;
if gcd(i,j)<> then continue;
add(i,j+c,,-(i+j));
end;
for i:=a to c do add(,i,,);
for i:=a to c do add(i+c,c*+,,);
s:=; t:=*c+;
minCmaxF;
end.

BZOJ2661 连连看 (费用流)的更多相关文章

  1. [BZOJ2661][BeiJing wc2012]连连看 费用流

    2661: [BeiJing wc2012]连连看 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1349  Solved: 577[Submit][ ...

  2. BZOJ 2661: [BeiJing wc2012]连连看 费用流

    2661: [BeiJing wc2012]连连看 Description 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规则是,给出一个闭 ...

  3. 【费用流】bzoj2661 [BeiJing wc2012]连连看

    将每个数拆点,互相连边,然后满足条件的数对之间互相连边,跑最大费用流,答案是流量和费用分别除以2. 一定要i->j.j->i都连上,否则可能会出现一个数在一边被选择了,在另一边的另一个匹配 ...

  4. BZOJ_2661_[BeiJing wc2012]连连看_费用流

    BZOJ_2661_[BeiJing wc2012]连连看_费用流 Description 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规 ...

  5. hdu-5988 Coding Contest(费用流)

    题目链接: Coding Contest Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Ot ...

  6. POJ2195 Going Home[费用流|二分图最大权匹配]

    Going Home Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22088   Accepted: 11155 Desc ...

  7. BZOJ3130: [Sdoi2013]费用流[最大流 实数二分]

    3130: [Sdoi2013]费用流 Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 960  Solved: 5 ...

  8. 洛谷 1004 dp或最大费用流

    思路: dp方法: 设dp[i][j][k][l]为两条没有交叉的路径分别走到(i,j)和(k,l)处最大价值. 则转移方程为 dp[i][j][k][l]=max(dp[i-1][j][k-1][l ...

  9. Codeforces 730I [费用流]

    /* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给两行n个数,要求从第一行选取a个数,第二行选取b个数使得这些数加起来和最大. 限制条件是第一行选取了某个数的条件下,第二行不能选取对应位置的数. ...

  10. zkw费用流+当前弧优化

    zkw费用流+当前弧优化 var o,v:..] of boolean; f,s,d,dis:..] of longint; next,p,c,w:..] of longint; i,j,k,l,y, ...

随机推荐

  1. struts过滤器和拦截器的区别

    拦截器的工作原理:当接收到一个httprequest ,a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDisp ...

  2. UML类图关系大全

    UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法.在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...

  3. mustache模板技术

    一.简介Web 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,通常是标准的 HTML 文档.当然不同的开发语言有不同模板引擎,如 Javascript 下的 Hog ...

  4. java入门第四步之应用服务器的安装(Tomcat)【转】

    首先打开myeclipse,在myeclipse菜单栏下面有两个按钮: 左边的按钮是进行项目的部署的(即将项目部署到服务器上),右边的按钮是进行服务器的启动的,如果你安装了tomcat服务器,那你就可 ...

  5. java入门第一步之完成jdk的安装(window)【转】

    为了面向更多的人类,我决定重温我的java起步: 要进行java开发第一步就是进行java环境的安装,也就是jdk的按装: 1.由于java被oracle收购了,我们下载jdk也就去oracle的官网 ...

  6. [整]常用的几种VS编程插件

    通过这些编程插件,你可以方便快捷的完成编程的各项任务,以下分别作下简单介绍,欢迎讨论交流. Visual Assist(强烈推荐)网址:http://www.wholetomato.com/功能:VA ...

  7. (转)虚拟机的桥接模式和NAT模式区别

    不管是虚拟机的桥接还是NAT都是占用实机网络的.只不过两种方式有些差异,在通过IP或者拨号连接限速的网络中,差异就很明显了     举个不太恰当但简单的例子,一个百兆的网卡你可以把它想象成一个100车 ...

  8. ASP.NET MVC 输出字符串

    @{Output.Write("<h1>输出字符串</h1>");}

  9. Opencv的基础结构与内容

  10. BPM与OA,选择好烦恼!

    企业在信息化建设的过程中 难免遭遇BPM和OA之争, 难!难!难! 选择BPM吧, 有人觉得你“打肿脸充胖子”: 选择OA嘛, “行业大哥”们已经在BPM的路上越走越远… 其实, OA和BPM从某种意 ...