【BZOJ 1927】 [Sdoi2010]星际竞速
Description
Input
Output
Sample Input
1 100 100
2 1 10
1 3 1
2 3 1
Sample Output
HINT
说明:先使用能力爆发模式到行星 1,花费时间 1。 
然后切换到高速航行模式,航行到行星 2,花费时间10。 
之后继续航行到行星 3完成比赛,花费时间 1。 
虽然看起来从行星 1到行星3再到行星 2更优,但我们却不能那样做,因为
那会导致超能电驴爆炸。
对于 30%的数据 N≤20,M≤50; 
对于 70%的数据 N≤200,M≤4000; 
对于100%的数据N≤800, M≤15000。输入数据中的任何数都不会超过106
。 
输入数据保证任意两颗行星之间至多存在一条航道,且不会存在某颗行星到
自己的航道。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,inf=;
struct ee{int to,next,f,w;}e[];
int S,T,cnt=,n,k,ans,f,v,w,m,u;
int head[N],dis[N],pre[N],q[N];
bool inq[N];
void ins(int u,int v,int f,int w){
e[++cnt].to=v,e[cnt].next=head[u],e[cnt].f=f,e[cnt].w=w,head[u]=cnt;
e[++cnt].to=u,e[cnt].next=head[v],e[cnt].f=,e[cnt].w=-w,head[v]=cnt;
} bool spfa(){
for (int i=;i<=T;i++) dis[i]=inf;
int h=,t=;
q[t]=S;dis[S]=;inq[S]=;
while (h!=t){
int now=q[++h];if(h==T) h=;
for (int i=head[now];i;i=e[i].next){
int v=e[i].to;
if (dis[v]>dis[now]+e[i].w&&e[i].f){
dis[v]=dis[now]+e[i].w;
pre[v]=i;
if (!inq[v]){
q[++t]=v;if (t==T) t=;
inq[v]=;
}
}
}
inq[now]=;
}
if (dis[T]==inf) return ;
return ;
} void updata(){
int tmp=T;
while (tmp!=S){
int l=pre[tmp],v=e[l].to;
e[l].f-=;e[l^].f+=;
tmp=e[l^].to;
}
ans+=dis[T];
} int main(){
scanf("%d%d",&n,&m);
S=,T=n*+;
for (int i=;i<=n;i++){
scanf("%d",&w);
ins(,i,,);
ins(,i+n,,w);
ins(i+n,T,,);
}
for (int i=;i<=m;i++){
scanf("%d%d%d",&u,&v,&w);
if (u>v) swap(u,v);
ins(u,v+n,,w);
}
while(spfa())
updata();
printf("%d",ans);
}
【BZOJ 1927】 [Sdoi2010]星际竞速的更多相关文章
- BZOJ 1927: [Sdoi2010]星际竞速
		1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 2051 Solved: 1263[Submit][Stat ... 
- BZOJ 1927: [Sdoi2010]星际竞速 费用流
		1927: [Sdoi2010]星际竞速 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ... 
- bzoj 1927 [Sdoi2010]星际竞速(最小费用最大流)
		1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 1576 Solved: 954[Submit][Statu ... 
- BZOJ 1927: [Sdoi2010]星际竞速(最小费用最大流)
		拆点,费用流... ----------------------------------------------------------------------------- #include< ... 
- BZOJ 1927: [Sdoi2010]星际竞速 [上下界费用流]
		1927: [Sdoi2010]星际竞速 题意:一个带权DAG,每个点恰好经过一次,每个点有曲速移动到他的代价,求最小花费 不动脑子直接上上下界费用流过了... s到点连边边权为曲速的代价,一个曲速移 ... 
- Bzoj 1927: [Sdoi2010]星际竞速(网络流)
		1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec Memory Limit: 259 MB Description 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大 ... 
- bzoj 1927 [Sdoi2010]星际竞速——网络流
		题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1927 每个点拆点保证只经过一次. 主要是如果经过了这个点,这个点应该向汇点流过去表示经过了它 ... 
- BZOJ.1927.[SDOI2010]星际竞速(无源汇上下界费用流SPFA /最小路径覆盖)
		题目链接 上下界费用流: /* 每个点i恰好(最少+最多)经过一次->拆点(最多)+限制流量下界(i,i',[1,1],0)(最少) 然后无源汇可行流 不需要源汇. 注: SS只会连i',求SS ... 
- bzoj 1927  [Sdoi2010]星际竞速【最小费用最大流】
		果然还是不会建图- 设\( i \)到\( j \)有通路,代价为\( w[i][j] \),瞬移到i代价为\( a[i] \),瞬移到i代价为\( a[j] \),逗号前是流量. 因为每个点只能经过 ... 
- BZOJ 1927: [Sdoi2010]星际竞速(费用流)
		传送门 解题思路 仿照最小路径覆盖问题,用费用流解决此题.最小路径覆盖问题是拆点连边后用\(n-\)最大匹配,这里的话也是将每个点拆点,源点向入点连流量为\(1\),费用为\(0\)的边,向出点连流量 ... 
随机推荐
- Linux系统root用户忘记密码解决方法
			一:在linux系统启动时(如下图),按e键 二:进入到设置页面,定位到如下行: 三:按e键,进入输入界面 四:在编辑行最后面,空格,输入single,回车后回到第二步界面,只是后面多了single ... 
- Adobe Edge Animate --使用HTML5实现手机摇一摇功能
			Adobe Edge Animate --使用HTML5实现手机摇一摇功能 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. HTML5的发展日新月异,其功能 ... 
- WampServer下修改和重置MySQL密码(转)
			转自:www.2cto.com/database/201504/387589.html WampServer安装后密码是空的, 修改一般有两种方式: 一是通过phpMyAdmin直接修改: 二是使用W ... 
- poj 2724 二分图最大匹配
			题意: 会给出M个串,我们要做的就是将这M个串给清除了.对于任意两个串,若二进制形式只有一位不一样,那么这两个串可以在一次操作消除,否则每个操作只能消除一个串. 3 3 *01 100 011 可以代 ... 
- 关于Merge的整理--Merge的使用方法和注意事项的Demo
			上一篇文章中讲到了Merge的用法和注意事项,所以本人就想,做了一个Demo进行验证下. 一.Merge的使用 (1)activity中的onCreate方法中的setContentView(R.la ... 
- NVelocity 实现简单的 CIUD
			1, NVelocity 是 一般处理程序.ashx 和 前台页面模板的桥梁. 2,我们现在建立一个简单的查询: A,新建项目,把NVelocity.dll拉入项目中,并添加对其引用 B,新建C ... 
- 消息推送SignalR
			一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ... 
- 北大ACM(POJ1753-Flip Game)
			Question:http://poj.org/problem?id=1753 问题点:穷举. #include <iostream> using namespace std; ][];/ ... 
- iOS - 数组与字典(NSArray & NSDictionary)
			1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s ... 
- HTML+CSS学习笔记 (7) - CSS样式基本知识
			HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ... 
