CSU 1249 竞争性酶抑制剂和同工酶
1249: 竞争性酶抑制剂和同工酶
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 109 Solved: 49
Description
Input
Output
每组测试数据输出一行。所需抑制剂的最小总量。
Sample Input
- 5 6
- 2 1 2
- 3 5 1
- 2 3 7
- 1 5 3
- 3 4 4
- 4 5 5
- 2 5
- 3 4
- 1 3 7
- 2 3 5
- 1 3 6
- 1 2 3
- 1 3
- 3 2
- 1 2 2
- 1 3 4
- 2 3
- 150 0
- 1 150
Sample Output
- 7
- 16
- 0
- 0
HINT
Source
解题:很明显最小割
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <cmath>
- #include <algorithm>
- #include <climits>
- #include <vector>
- #include <queue>
- #include <cstdlib>
- #include <string>
- #include <set>
- #include <stack>
- #define LL long long
- #define pii pair<int,int>
- #define INF 0x3f3f3f3f
- using namespace std;
- const int maxn = ;
- struct arc{
- int to,flow,next;
- arc(int x = ,int y = ,int z = -){
- to = x;
- flow = y;
- next = z;
- }
- };
- arc e[maxn<<];
- int head[maxn],d[maxn],cur[maxn];
- int tot,S,T,n,m;
- void add(int u,int v,int flow){
- e[tot] = arc(v,flow,head[u]);
- head[u] = tot++;
- e[tot] = arc(u,,head[v]);
- head[v] = tot++;
- }
- bool bfs(){
- queue<int>q;
- memset(d,-,sizeof(d));
- d[T] = ;
- q.push(T);
- while(!q.empty()){
- int u = q.front();
- q.pop();
- for(int i = head[u]; ~i; i = e[i].next){
- if(e[i^].flow && d[e[i].to] == -){
- d[e[i].to] = d[u] + ;
- q.push(e[i].to);
- }
- }
- }
- return d[S] > -;
- }
- int dfs(int u,int low){
- if(u == T) return low;
- int tmp = ,a;
- for(int &i = cur[u]; ~i; i = e[i].next){
- if(e[i].flow && d[e[i].to]+==d[u]&&(a=dfs(e[i].to,min(e[i].flow,low)))){
- e[i].flow -= a;
- e[i^].flow += a;
- low -= a;
- tmp += a;
- if(!tmp) break;
- }
- }
- if(!tmp) d[u] = -;
- return tmp;
- }
- int dinic(){
- int ans = ;
- while(bfs()){
- memcpy(cur,head,sizeof(head));
- ans += dfs(S,INF);
- }
- return ans;
- }
- int main() {
- int u,v,w;
- while(~scanf("%d %d",&n,&m)){
- memset(head,-,sizeof(head));
- for(int i = tot = ; i < m; ++i){
- scanf("%d %d %d",&u,&v,&w);
- add(u,v,w);
- }
- scanf("%d %d",&S,&T);
- printf("%d\n",dinic());
- }
- return ;
- }
CSU 1249 竞争性酶抑制剂和同工酶的更多相关文章
- csu 1812: 三角形和矩形 凸包
传送门:csu 1812: 三角形和矩形 思路:首先,求出三角形的在矩形区域的顶点,矩形在三角形区域的顶点.然后求出所有的交点.这些点构成一个凸包,求凸包面积就OK了. /************** ...
- CSU 1503 点到圆弧的距离(2014湖南省程序设计竞赛A题)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1503 解题报告:分两种情况就可以了,第一种是那个点跟圆心的连线在那段扇形的圆弧范围内,这 ...
- CSU 1120 病毒(DP)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1120 解题报告:dp,用一个串去更新另一个串,递推方程是: if(b[i] > a ...
- CSU 1116 Kingdoms(枚举最小生成树)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1116 解题报告:一个国家有n个城市,有m条路可以修,修每条路要一定的金币,现在这个国家只 ...
- CSU 1113 Updating a Dictionary(map容器应用)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1113 解题报告:输入两个字符串,第一个是原来的字典,第二个是新字典,字典中的元素的格式为 ...
- CSU 1333 Funny Car Racing (最短路)
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1333 解题报告:一个图里面有n个点和m条单向边,注意是单向边,然后每条路开a秒关闭b秒 ...
- CSU 1337 搞笑版费马大定理(2013湖南省程序设计竞赛J题)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1337 解题报告:虽然x和y的范围都是10^8,但是如果a 是大于1000的话,那么a^3 ...
- CSU 1328 近似回文词(2013湖南省程序设计竞赛A题)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 解题报告:中文题题意就不说了.还好数据不大,只有1000,枚举回文串的中心位置,然 ...
- hdu 1249 三角形
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1249 part=3*s*(s-1)+2 #include<stdio.h> #includ ...
随机推荐
- error C2504: 未定义基类
出错的情况为: type.h 文件中定义了一个结构体,但只给出了声明 namespace pcl { struct CSDDSignature; } 其定义在type.hpp文件中给出 namespa ...
- pic16F1938
1.中断自动保存寄存器:W.STATUS.BSR.FSR和PCLATH,而且如果中断中需要改变这些寄存器,在Bank31中修改这些寄存器的影子寄存器即可. 2.RAM有1024字节,分为N个bank, ...
- Vue-cli 3.0 构建项目
Vue-cli是vue的一个脚手架,我们可以通过它来构建我们的前端项目 vue-cli3环境配置 //1. 安装nodeJS(已经集成npm) 首先需要安装node环境,可以直接到中文官网http:/ ...
- Map的5种遍历方式
public class MapF { public static void main(String[] args) { Map<String, Integer> tempMap = ne ...
- 【BZOJ4071】【APIO2015】巴邻旁之桥
题意: Description 一条东西走向的穆西河将巴邻旁市一分为二,分割成了区域 A 和区域 B. 每一块区域沿着河岸都建了恰好 1000000001 栋的建筑,每条岸边的建筑都从 0 编号到 1 ...
- HDU-2896 病毒侵袭 字符串问题 AC自动机
题目链接:https://cn.vjudge.net/problem/HDU-2896 题意 中文题 给一些关键词和一个字符串,问字符串里包括了那几种关键词 思路 直接套模版 改insert方法,维护 ...
- Bedrock Linux 0.7.3 发布
Bedrock Linux是一种元分发,允许用户利用其他通常互斥的Linux发行版的功能,并让它们无缝地一起工作.该项目发布了其0.7.x系列,Bedrock Linux 0.7.3的更新. 新的更新 ...
- Angular 快速上手
本文系 Angular 快速上手学习笔记 安装 CLI npm install -g @angular/cli 创建工作空间和初始应用 ng new my-app 启动开发服务器 cd my-app ...
- Unity shader UI的3D效果
原创,转载请标明出处 1.效果 scene视图中的效果: game视图中效果: 2.核心思想:改变UI的顶点坐标 3.好处:可以用正交相机来实现3D效果. 4.Shader 实现 // Unity b ...
- 【codeforces 340B】Maximal Area Quadrilateral
[题目链接]:http://codeforces.com/problemset/problem/340/B [题意] 给你n个点,让你在这里面找4个点构成一个四边形; 求出最大四边形的面积; [题解] ...