Sample Input

3 1
1 10
2 10
10 3
2 3 1000

Sample Output

13

最小割,把模块看做点,建源点s和汇点t,以下(a,b,c)表示从a向b连一条容量为c的边
记在核A上的执行的模块集合为S,在核B上的执行的模块集合为T,花费的总和为

对于,这是该模块在A核花费的费用,连一条(i,t,Ai)的边

对于,这是该模块在A核花费的费用,连一条(s,i,Bi)的边

对于,这是ai模块在A核,bi模块在B核的费用,连一条(ai,bi,wi)的边

对于,这是ai模块在B核,bi模块在A核的费用,连一条(bi,ai,wi)的边
#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
const int INF=;
int r,c,d;int n,m;
struct data{
int next,to,cap;
}g[];
int iter[],h[],level[],k=,head,tail,q[];
inline int read(){
int x; bool f; char c;
for (f=; (c=getchar())<''||c>''; f=c=='-');
for (x=c-''; (c=getchar())>=''&&c<=''; x=(x<<)+(x<<)+c-'');
return f?-x:x;
}
void add(int from,int to,int cap)
{
g[++k].next=h[from];h[from]=k;g[k].to=to;g[k].cap=cap;
g[++k].next=h[to];h[to]=k;g[k].to=from;g[k].cap=;
}
void bfs(int s)
{
memset(level,,sizeof(level));
head=tail=;q[tail++]=s;level[s]=;
while(head!=tail)
{
int u=q[head++];
for(int i=h[u];i;i=g[i].next)
{
if(!level[g[i].to]&&g[i].cap)
{
level[g[i].to]=level[u]+;q[tail++]=g[i].to;
}
}
} }
int dfs(int u,int t,int f)
{
if(u==t)return f;
int used=,w;
for(int &i=iter[u];i;i=g[i].next)
{
if(g[i].cap&&level[g[i].to]==level[u]+)
{
w=f-used;w=dfs(g[i].to,t,min(w,g[i].cap));
if(w)
{
g[i].cap-=w;g[i^].cap+=w;used+=w;if(used==f)return f;
}
}
}
return used;
}
int dinic(int s,int t)
{
int flow=;
for(;;)
{
for(int i=;i<=n+;i++)iter[i]=h[i];
bfs(s);if(!level[t])return flow;
flow+=dfs(s,t,INF);
}
}
int main()
{
n=read();m=read();int S=,T=n+;
for(int i=;i<=n;i++)
{
int a=read(),b=read();
add(S,i,b);add(i,T,a);
}
for(int i=;i<=m;i++)
{
int a=read(),b=read(),w=read();
add(a,b,w);add(b,a,w);
}
printf("%d",dinic(S,T));
return ;
}

 

[poj_3469]多核CPU的更多相关文章

  1. linux top命令查看内存及多核CPU的使用讲述

    查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt top命令 经常用来监控l ...

  2. paip.提升性能--多核cpu中的java/.net/php/c++编程

    paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http ...

  3. linux多核cpu下的负载查看

    linux下使用top命令或uptime命令 单核cpu下,负载超过0.7即意味着瓶颈,多核cpu下按核数*0.7计算负载 如2核,1.4可能即意味着负载较吃力了 查看核数 grep 'model n ...

  4. 记录一个多核CPU负载不均衡问题(动态绑定进程到指定cpu:taskset -pc $CPU $PID)

    昨晚和一位读者朋友讨论了一个问题:在一台多核 CPU 的 Web 服务器上,存在负载不均衡问题,其中 CPU0 的负载明显高于其它 CPUx,进一步调查表明 PHP-FPM 的嫌疑很大.话说以前我曾经 ...

  5. <转>如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    原文链接:http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB) ...

  6. 如何利用多核CPU来加速你的Linux命令

    原文出处: rankfocus   译文出处: 外刊IT评论 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能 ...

  7. 浅谈多核CPU、多线程、多进程

    1.CPU发展趋势 核心数目依旧会越来越多,依据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的桌面PC有望在2017年末2018年初达到24核心(或者16核32线程),我们如何来面对这突如其 ...

  8. 转摘--如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或 ...

  9. 【转】多核CPU运行模式

    多核CPU运行模式主要有以下三种: •非对称多处理(Asymmetric multiprocessing,AMP)——每个CPU内核运行一个独立的操作系统或同一操作系统的独立实例(instantiat ...

随机推荐

  1. kivy学习一:安装kivy模块

    现在是看脸的时代,一个程序没有一个漂亮的UI,就像一个深闺中的美女没人欣赏. 当然作为一个小小.............白,没有那么高的要求,当前要先有脸是不? 首选python自家的模块tkinte ...

  2. caioj:1682: 【贪心】买一送一

    题目描述 [题意]    CH最近在网上发现干草买一送一的一笔交易,他每买一捆尺寸为A的干草,就可以免费获赠一捆尺寸为 B (1 ≤ B < A)的干草,注意B < A.    然而,这个 ...

  3. C语言指针篇(一)指针与指针变量

    指针 1. 什么是指针?    2. 指针可不可怕? 3. 指针好不好玩? 4. 怎么学好指针?     C语言是跟内存打交道的语言,指针就是内存地址.指针无处不在,指针并不可怕,相反,等你学到一定程 ...

  4. 不同级域名中的 Cookie 共享

    HTTP 响应头中 Set-Cookie 行未指定 domain 时则设置访问的域名 seliote.com 可以设置 seliote.com(也可以写成 .seliote.com 意思一样) 与 w ...

  5. 从Wireshark看TCP连接的建立与关闭

    TCP是一种面向连接.可靠的协议.TCP连接的建立与断开,都是需要经过通信双方的协商.用一句话概括就是:三次握手say hello(建立连接):四次握手say goodbye(断开连接).要了解TCP ...

  6. mysql安装与基本管理,mysql密码破解

    一.MySQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是 ...

  7. android stadio 快捷键最好的材料 android stadio大全 最牛逼的android stadio快捷键

    一: .nn .if .for .toast .instanceof .switch 这些都是可以直接点的,一个变量然后.for ,如果这个这个变量是个集合,都可以.for 二: 关闭所有窗口 ctr ...

  8. Mac下安装Angular报错处理

    安装 Angular CLI 命令: sudo npm install -g @angular/cli 打印如下错误:(权限问题) gyp WARN EACCES user "root&qu ...

  9. Pycharm的使用一

    一.编辑器的选择 Python 的学习过程少不了集成开发环境(IDE)或者代码编辑器,这些 Python 开发工具帮助开发者加快使用 Python 开发的速度,提高效率. 高效的代码编辑器或者 IDE ...

  10. (D)spring boot使用注解类代替xml配置实例化bean

    bean经常需要被实例化,最常见的就是new一个呗,Bean bean = new Bean(),方便好用还快捷. 然而在我们刚开始学习写i项目的时候却发现,new不好用哦,并且也不报错,根本不知道怎 ...