bzoj1877 晨跑
Description
Input
Output
两个数,第一个数为最长周期的天数,第二个数为满足最长天数的条件下最短的路程长 度。
Sample Input
1 2 1
1 3 1
2 4 1
3 4 1
4 5 1
4 6 1
2 5 5
3 6 6
5 7 1
6 7 1
Sample Output
- //Serene
- #include<algorithm>
- #include<iostream>
- #include<cstring>
- #include<cstdlib>
- #include<cstdio>
- #include<cmath>
- using namespace std;
- const int maxn=400+10,maxm=8e4+10,INF=0x3f3f3f3f;
- int n,m,S,T;
- int aa;char cc;
- int read() {
- aa=0;cc=getchar();
- while(cc<'0'||cc>'9') cc=getchar();
- while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();
- return aa;
- }
- struct Node{
- int x,y,cap,flow,w;
- Node(){}
- Node(int x,int y,int cap,int w):x(x),y(y),cap(cap),w(w){}
- }node[maxm];
- int fir[maxn],nxt[2*maxm],e=1;
- void add(int x,int y,int z,int w) {
- node[++e]=Node(x,y,z,w); nxt[e]=fir[x];fir[x]=e;
- node[++e]=Node(y,x,0,-w); nxt[e]=fir[y];fir[y]=e;
- }
- int from[maxn],zz[maxn],dis[maxn];
- bool vis[maxn];
- bool spfa() {
- int s=1,t=0,x,y,z;
- memset(dis,0x3f3f3f3f,sizeof(dis));
- memset(zz,0,sizeof(zz));
- zz[++t]=S;vis[S]=1;dis[S]=0;
- while(s<=t) {
- x=zz[s%maxn];
- for(y=fir[x];y;y=nxt[y]) {
- z=node[y].y;
- if(node[y].flow>=node[y].cap||dis[z]<=dis[x]+node[y].w) continue;
- dis[z]=dis[x]+node[y].w;from[z]=y;
- if(!vis[z]) {
- vis[z]=1; t++;
- zz[t%maxn]=z;
- }
- }
- s++;vis[x]=0;
- }
- return dis[T]!=INF;
- }
- int now,rs1=0,rs2=0;
- int MCMF() {
- while(spfa()) {
- now=1; rs1++;
- for(int i=T;i!=S;i=node[from[i]].x) {
- node[from[i]].flow+=now;
- node[from[i]^1].flow-=now;
- rs2+=node[from[i]].w*now;
- }
- }
- return rs1;
- }
- int main() {
- n=read();m=read();
- int x,y,z;S=n+1;T=n;
- for(int i=2;i<n;++i) add(i+n,i,1,0);
- add(1+n,1,INF,0);add(n+n,n,INF,0);
- for(int i=1;i<=m;++i) {
- x=read();y=read();z=read();
- add(x,y+n,1,z);
- }
- printf("%d ",MCMF()); printf("%d",rs2);
- return 0;
- }
bzoj1877 晨跑的更多相关文章
- BZOJ-1877 晨跑 最小费用最大流+拆点
其实我是不想做这种水题的QWQ,没办法,剧情需要 1877: [SDOI2009]晨跑 Time Limit: 4 Sec Memory Limit: 64 MB Submit: 1704 Solve ...
- bzoj1877 晨跑(费用流)
1877: [SDOI2009]晨跑 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 2138 Solved: 1145 Description Elax ...
- [SDOI2009][bzoj1877] 晨跑 [费用流]
题面: 传送门 思路: 一个点只能走一回,路径不能相交...... 显然可以转化为网络流的决策来做 我们构建一个网络,令其最大流等于最大的跑步天数即可 怎么构造呢? 对于每个点只能走一次的限制,可以考 ...
- 【BZOJ1877】晨跑(费用流)
[BZOJ1877]晨跑(费用流) 题面 Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在 ...
- 【BZOJ1877】[SDOI2009]晨跑 最小费用最大流
[BZOJ1877][SDOI2009]晨跑 Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现 ...
- bzoj1877: [SDOI2009]晨跑
挺裸的最小费用最大流... #include<cstdio> #include<queue> #include<cstring> #include<iostr ...
- 【bzoj1877】[SDOI2009]晨跑 费用流
题目描述 Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个十字路口和M条街 ...
- BZOJ1877:[SDOI2009]晨跑——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1877 https://www.luogu.org/problemnew/show/P2153 Ela ...
- 【费用流】BZOJ1877[SDOI2009]-晨跑
[题目大意] Elaxia每天从寝室出发跑到学校,保证寝室编号为1,学校编号为N. Elaxia的晨跑计划是按周期(包含若干天)进行的,由于他不喜欢走重复的路线,所以在一个周期内,每天的晨跑路线都不会 ...
随机推荐
- hashMap 源码解读理解实现原理和hash冲突
hashMap 怎么说呢. 我的理解是 外表是一个set 数组,无序不重复 . 每个set元素是一个bean ,存着一对key value 看看代码吧 package test; import jav ...
- IO流18 --- RandomAccessFile实现数据的读写操作 --- 技术搬运工(尚硅谷)
RandomAccessFile实例化时,需要设置读写模式 示例:复制文件 @Test public void test16() throws IOException { RandomAccessFi ...
- 设置div背景图片填满div
可以设置div的样式为 background:url('+UPLOAD_PATH+data.url+') no-repeat; background-size: 100%;width:100%;hei ...
- hadoop2.2 window下报错的问题(winutils.exe)
在windows下开发hadoop一直正常,但把hadoop集群升级到2.0版本以上,在eclipse下执行程序会报打不到winutils.exe的错误,这是因为hadoop2.2没有发布winuti ...
- Latex报错: Could not start the command: xelatex.exe -synctex=1 -interaction=nonstopmode?
Latex报错: Could not start the command: xelatex.exe -synctex=1 -interaction=nonstopmode 网上还有很多说出Could ...
- Leetcode434.Number of Segments in a String字符串中的单词数
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" ...
- windows 和 mac 文件夹共享问题汇总
目标:windows上的文件夹,共享给MAC,mac可以将文件复制到windows上来 windows设置共享文件夹,然后在mac上访问 假设win的ip地址是10.10.27.11,则mac上远程方 ...
- Java review-basic2
1.Implement a thread-safe (blocking) queue: Class Producer implements Runable{ Private final Blockin ...
- Python当前进程信息 (os包)
Python当前进程信息 (os包) 我们在Linux的概念与体系,多次提及进程的重要性.Python的os包中有查询和修改进程信息的函数.学习Python的这些工具也有助于理解Linux体系. (o ...
- http方式nginx 访问不带www的域名301重定向跳转到www的域名帮助seo集中权重
比如我需要吧gucanhui.com重定向301跳转到www.gucanhui.com 需要在nginx的con发文件中加入一段 server { listen ; server_name gucan ...