跟上一题几乎一样。。。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
#define rep(i,n) for(int i=1;i<=n;i++)
#define clr(x,c) memset(x,c,sizeof(x))
#define op() clr(head,0);pt=edges;
#define qwq(x) for(edge *o=head[x];o;o=o->next)
int read(){int x=0;char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) x=x*10+c-'0',c=getchar();return x;
}
const int nmax=1605;
const int maxn=100000;
const int inf=0x7f7f7f7f;
struct edge{int to,cap,cost;edge *next,*rev;
};
edge edges[maxn],*pt,*head[nmax],*p[nmax];
int d[nmax],a[nmax];bool inq[nmax];
queue<int>q;
void add(int u,int v,int d,int w){pt->to=v;pt->cap=d;pt->cost=w;pt->next=head[u];head[u]=pt++;
}
void adde(int u,int v,int d,int w){add(u,v,d,w);add(v,u,0,-w);head[u]->rev=head[v];head[v]->rev=head[u];
}
int mincost(int s,int t){int cost=0;while(1){clr(d,0x7f);d[s]=0;clr(inq,0);inq[s]=1;q.push(s);a[s]=inf;while(!q.empty()){int x=q.front();q.pop();inq[x]=0;qwq(x) if(d[o->to]>d[x]+o->cost&&o->cap>0){int to=o->to;d[to]=d[x]+o->cost;a[to]=min(a[x],o->cap);p[to]=o;if(!inq[to]) q.push(to),inq[to]=1;}}if(d[t]==inf) break;cost+=d[t]*a[t];int x=t;while(x!=s) p[x]->cap-=a[t],p[x]->rev->cap+=a[t],x=p[x]->rev->to;}return cost;
}
int main(){op();int n=read(),m=read(),tmp,u,v,w,s=0,t=n+n+1;rep(i,n) tmp=read(),adde(s,n+i,1,tmp),adde(s,i,1,0),adde(n+i,t,1,0);rep(i,m){u=read(),v=read(),w=read();u>v?adde(v,u+n,1,w):adde(u,v+n,1,w);}printf("%d\n",mincost(s,t));return 0;
}

  

1927: [Sdoi2010]星际竞速

Time Limit: 20 Sec  Memory Limit: 259 MB
Submit: 1875  Solved: 1162
[Submit][Status][Discuss]

Description

  10年一度的银河系赛车大赛又要开始了。作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的
梦想,来自杰森座α星的悠悠也是其中之一。赛车大赛的赛场由N颗行星和M条双向星际航路构成,其中每颗行星都
有一个不同的引力值。大赛要求车手们从一颗与这N颗行星之间没有任何航路的天体出发,访问这N颗行星每颗恰好
一次,首先完成这一目标的人获得胜利。由于赛制非常开放,很多人驾驶着千奇百怪的自制赛车来参赛。这次悠悠
驾驶的赛车名为超能电驴,这是一部凝聚了全银河最尖端科技结晶的梦幻赛车。作为最高科技的产物,超能电驴有
两种移动模式:高速航行模式和能力爆发模式。在高速航行模式下,超能电驴会展开反物质引擎,以数倍于光速的
速度沿星际航路高速航行。在能力爆发模式下,超能电驴脱离时空的束缚,使用超能力进行空间跳跃——在经过一
段时间的定位之后,它能瞬间移动到任意一个行星。天不遂人愿,在比赛的前一天,超能电驴在一场离子风暴中不
幸受损,机能出现了一些障碍:在使用高速航行模式的时候,只能由每个星球飞往引力比它大的星球,否则赛车就
会发生爆炸。尽管心爱的赛车出了问题,但是悠悠仍然坚信自己可以取得胜利。他找到了全银河最聪明的贤者——
你,请你为他安排一条比赛的方案,使得他能够用最少的时间完成比赛。

Input

  第一行是两个正整数N,M。第二行N个数A1~AN,其中Ai表示使用能力爆发模式到达行星i所需的定位时间。接下
来M行,每行3个正整数ui,vi,wi,表示在编号为ui和vi的行星之间存在一条需要航行wi时间的星际航路。输入数据
已经按引力值排序,也就是编号小的行星引力值一定小,且不会有两颗行星引力值相同。

Output

  仅包含一个正整数,表示完成比赛所需的最少时间。

Sample Input

3 3
1 100 100
2 1 10
1 3 1
2 3 1

Sample Output

12

HINT

  说明:先使用能力爆发模式到行星1,花费时间1。然后切换到高速航行模式,航行到行星2,花费时间10。之

后继续航行到行星3完成比赛,花费时间1。虽然看起来从行星1到行星3再到行星2更优,但我们却不能那样做,因

为那会导致超能电驴爆炸。N≤800,M≤15000。输入数据中的任何数都不会超过106。输入数据保证任意两颗行星

之间至多存在一条航道,且不会存在某颗行星到自己的航道。

Source

第一轮Day2

[Submit][Status][Discuss]

转载于:https://www.cnblogs.com/fighting-to-the-end/p/5661868.html

bzoj1927: [Sdoi2010]星际竞速相关推荐

  1. BZOJ1927 [Sdoi2010]星际竞速

    标签:费用流,网络流 题目 题目传送门 Description 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的 梦想,来自杰森座α星的悠悠也是其中之 ...

  2. bzoj1927 [Sdoi2010]星际竞速 费用流

    Description 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的 梦想,来自杰森座α星的悠悠也是其中之一.赛车大赛的赛场由N颗行星和M条双向星 ...

  3. P2469 [SDOI2010]星际竞速

    P2469 [SDOI2010]星际竞速 题意: 有n个点,m个边,边是单向边(只能从小编号点到大编号点),你也可以花费ai直接到达点i.问将1~n所有点都经过一边最小费用是多少? 题解: 最小费用最 ...

  4. (费用流)洛谷P2469 [SDOI2010]星际竞速

    洛谷P2469 [SDOI2010]星际竞速 思路: 可以看出这是最小路径覆盖问题,最小路径覆盖=n−=n-=n−最大匹配数.所以这题就是最小费用最大流. 建图: 1.源点SSS向每个入点iii建(S ...

  5. 【BZOJ 1927】 [Sdoi2010]星际竞速

    Description 10 年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一, 夺得这个项目的冠军无疑是很多人的梦想,来自杰森座 α星的悠悠也是其中之一. 赛车大赛的赛场由 N 颗行星和 ...

  6. bzoj 1927: [Sdoi2010]星际竞速

    题意: 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的 梦想,来自杰森座α星的悠悠也是其中之一.赛车大赛的赛场由N颗行星和M条双向星际航路构成,其中 ...

  7. C++之路进阶——codevs2313(星际竞速)

    2313 星际竞速 2010年省队选拔赛山东  时间限制: 3 s  空间限制: 128000 KB  题目等级 : 大师 Master 题目描述  Description 10 年一度的银河系赛车大 ...

  8. [BZOJ1927]星际竞速(费用流)

    Description 题意:给定n个点m条边的无向图,只能从编号小的到编号大的,且要求经过所有点刚好一次,而且可以从任意点瞬移到i号点并花费代价Ai,求最小代价. n<=800,m<=1 ...

  9. BZOJ 1927 星际竞速

    http://www.lydsy.com/JudgeOnline/problem.php?id=1927 思路:把一个点拆成两个点, S->i 费用0,流量1 (代表这个点可以移动到其他点所必备 ...

最新文章

  1. Python:Resquest模块
  2. web前端技术分享之页面元素水平居中
  3. 工业镜头选型计算公式_工业冷水机组制冷量的计算公式是什么?
  4. C#中的线程(三) 使用多线程
  5. react实现汉堡_利用 React 高阶组件实现一个面包屑导航
  6. 边工作边刷题:70天一遍leetcode: day 11-3
  7. 都是打工的,为啥职场中存在着那么多勾引斗角?
  8. wincc服务器设置位置,wincc客户端访问服务器设置
  9. 关于《微习惯》的记录
  10. 远程给Linux系统更新安装RTX2080ti显卡驱动
  11. 万字干货!《增长黑客》背后的逻辑
  12. 华为又要给员工分红了!预计每股 1.61 元,网友:点赞任正非
  13. Apache Dubbo详解
  14. AI黑科技:目前最流行的人工智能换脸软件(FakeAPP/Faceswap/Openfaceswap/Deepfacelab)的简介、对比之详细攻略
  15. 雷达的工作原理示意图_雷达的工作原理是什么?
  16. 计算机网络机房自查报告,银行机房自查报告
  17. 有趣的灵魂用有趣的屏保SadMac.saver
  18. Codeforces 545 C Woodcutters(贪心/DP)
  19. 联想服务器改为win7系统,联想电脑怎么把Win10系统改为win7系统?
  20. 安装gtsam遇到的错误

热门文章

  1. 转:一个简单的基于WEB的QTP自动化测试框架-SAFFRON
  2. EOSIO Dawn 4.0 发布
  3. 如果成为一名高级安卓开发_什么是高级开发人员,我如何成为一名开发人员?
  4. nvm npm不是内部命令_npm作弊表-最常见的命令和nvm
  5. redis主从复制、高可用和集群
  6. html中的两种标记,如何在html选项标记中实现两种不同的对齐?
  7. php自动计算增长率,如何写sql计算增长率?
  8. 1143 Lowest Common Ancestor(建树与不建两种思路)
  9. leetcode--移除元素--python
  10. 系列四、SpringMVC响应数据和结果视图