题目链接

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
inline int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
} /********************************************************************/ #define inf 0xffffff
#define T 2001
const int maxn = 2e6+;
const int Maxn = 2e3+;
int a, b;
int ans1, ans2;
int head[Maxn], q[Maxn], dis[Maxn], from[Maxn];
bool vis[Maxn]; struct node
{
int to, from, Next;
int v, c;
}e[maxn];
int cnt = ; int gcd(int x, int y){
if(y == ) return x;
else return gcd(y, x%y);
} void add_edge(int u, int v, int w, int c){
e[++cnt].to = v; e[cnt].from = u; e[cnt].Next = head[u]; head[u] = cnt;
e[cnt].v = w; e[cnt].c = c;
} void insert(int u, int v, int w, int c){
add_edge(u, v, w, c);
add_edge(v, u, , -c);
} //是否满足条件
bool check(int x, int y){
if(x < y) swap(x, y);
int t = int(sqrt(x*x-y*y));
return (gcd(y, t) == && x*x-y*y == t*t);
} bool spfa(){
for(int i = ;i <= T;i++){
dis[i] = -inf;
}
int t = , w = ;
dis[] = ; q[] = ; vis[] = ;
while(t != w){
int now = q[t]; t++;
if(t == T) t = ;
for(int i = head[now];i;i = e[i].Next){
if(e[i].v && e[i].c+dis[now] > dis[e[i].to]){
dis[e[i].to] = e[i].c + dis[now];
from[e[i].to] = i;
if(!vis[e[i].to]){
vis[e[i].to] = ;
q[w++] = e[i].to;
if(w == T) w = ;
}
}
}
vis[now] = ;
}
if(dis[T] == -inf) return false;
return true;
} void dfs(){
int x = inf;
for(int i = from[T];i;i = from[e[i].from]){
x = min(e[i].v, x);
}
for(int i = from[T];i;i = from[e[i].from]){
ans2 += x*e[i].c;
e[i].v -= x;
e[i^].v += x;
}
} int main(){
a = read(); b = read();
for(int i = a;i <= b;i++){
for(int j = a;j <= b;j++){
if(check(i, j) && i != j){
insert(i, j+, , i+j);
}
}
}
for(int i = a;i <= b;i++){
insert(, i, , );
insert(i+, T, , );
}
while(spfa()) dfs();
for(int i = ;i <= cnt;i += ){
if()
}
return ;
}

[Cqoi2014]危桥 (两遍网络流)的更多相关文章

  1. Luogu3163 [CQOI2014]危桥 ---- 网络流 及 一个细节的解释

    Luogu3163 [CQOI2014]危桥 题意 有$n$个点和$m$条边,有些边可以无限次数的走,有些边这辈子只能走两次,给定两个起点和终点$a_1 --> a_2$(起点 --> 终 ...

  2. BZOJ 3504: [Cqoi2014]危桥 [最大流]

    3504: [Cqoi2014]危桥 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1407  Solved: 703[Submit][Status] ...

  3. bzoj千题计划137:bzoj [CQOI2014]危桥

    http://www.lydsy.com/JudgeOnline/problem.php?id=3504 往返n遍,即单向2*n遍 危桥流量为2,普通桥流量为inf 原图跑一遍最大流 交换b1,b2再 ...

  4. 3504: [Cqoi2014]危桥

    3504: [Cqoi2014]危桥 链接 分析: 首先往返的可以转化为全是“往”,那么只要将容量除以2即可. 然后S向a1连边容量为an(除以2之前为2*an),S向a2连边容量为an,b1,b2向 ...

  5. Magic Potion(最大流,跑两遍网络流或者加一个中转点)

    Magic Potion http://codeforces.com/gym/101981/attachments/download/7891/20182019-acmicpc-asia-nanjin ...

  6. BZOJ.3504.[CQOI2014]危桥(最大流ISAP)

    BZOJ 洛谷 这种题大多是多源多汇跑网络流.往返\(a_n/b_n\)次可以看做去\(a_n/b_n\)次,直接把危桥能走的次数看做\(1\). 先不考虑别的,直接按原图建模:危桥建双向边容量为\( ...

  7. AC日记——[CQOI2014]危桥 洛谷 P3163

    题目描述 Alice和Bob居住在一个由N座岛屿组成的国家,岛屿被编号为0到N-1.某些岛屿之间有桥相连,桥上的道路是双向的,但一次只能供一人通行.其中一些桥由于年久失修成为危桥,最多只能通行两次.A ...

  8. [CQOI2014]危桥

    题目描述 Alice和Bob居住在一个由N座岛屿组成的国家,岛屿被编号为0到N-1.某些岛屿之间有桥相连,桥上的道路是双 向的,但一次只能供一人通行.其中一些桥由于年久失修成为危桥,最多只能通行两次. ...

  9. BZOJ3504 CQOI2014危桥(最大流)

    如果只有一个人的话很容易想到最大流,正常桥连限流inf双向边,危桥连限流2双向边即可.现在有两个人,容易想到给两起点建超源两汇点建超汇,但这样没法保证两个人各自到达自己要去的目的地.于是再超源连一个人 ...

  10. 3504. [CQOI2014]危桥【最大流】

    Description Alice和Bob居住在一个由N座岛屿组成的国家,岛屿被编号为0到N-1.某些岛屿之间有桥相连,桥上的道路是双 向的,但一次只能供一人通行.其中一些桥由于年久失修成为危桥,最多 ...

随机推荐

  1. 学习完Spring MVC体会

    学习完spring mvc感觉很不错,万事开头难,付出定有回报,坚持必将成功

  2. Arc073_F Many Moves

    传送门 题目大意 有$n$个格子从左到右依次挨着,一开始有两枚棋子分布在$A,B$某一个或两个格子里,有$m$个操作,第$i$次操作要求你把其中一个棋子移到$X_i$上,移动一个棋子的代价是两个格子之 ...

  3. E比昨天更多的棒棒糖(Easy+Hrad)(华师网络赛)(DP||母函数||背包优化)

    Time limit per test: 2.0 seconds Memory limit: 512 megabytes 唐纳德先生的某女性朋友最近与唐纳德先生同居.该女性朋友携带一 baby.该 b ...

  4. bzoj 2553: [BeiJing2011]禁忌 AC自动机+矩阵乘法

    题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=2553 题解: 利用AC自动机的dp求出所有的转移 然后将所有的转移储存到矩阵中,进行矩阵 ...

  5. RenderMonkey基本使用方法

    http://www.cnblogs.com/mixiyou/archive/2009/10/05/1578208.html 楔子: 差不多从年中开始由于工作需要,开始研究Direct3D,这是继大二 ...

  6. Poj 3903 Stock Exchange(LIS)

    一.Description The world financial crisis is quite a subject. Some people are more relaxed while othe ...

  7. 一个能获取如果hash或search是中文的内容小例子

    代码: (function () { var url = "http//baidu.com#a=你好&b=world"; var url1 = "http//ba ...

  8. ng2-升级脚手架到最新版本

    //先卸载,后安装 npm uninstall -g @angular/cli npm cache clean npm install -g @angular/cli@latest

  9. 常见的CSS和HTML面试题

    1. 常用那几种浏览器测试?有哪些内核(Layout Engine)? 浏览器:IE,Chrome,FireFox,Safari,Opera. 内核:Trident,Gecko,Presto,Webk ...

  10. shell脚本备份系统的方法

    linux自动备份shell(使用全备份,增量备份策略) 在cron里设置,每周日晚12点执行(每周日全备份,其余时间增量备份)#vi backup.sh #!/bin/bash # definewe ...