博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ2395:[Balkan 2011]Timeismoney——题解
阅读量:7047 次
发布时间:2019-06-28

本文共 1643 字,大约阅读时间需要 5 分钟。

有n个城市(编号从0..n-1),m条公路(双向的),从中选择n-1条边,使得任意的两个城市能够连通,一条边需要的c的费用和t的时间,定义一个方案的权值v=n-1条边的费用和*n-1条边的时间和,你的任务是求一个方案使得v最小

参考:

参考说的太详细了,还配了图,读不懂的应该不存在吧,已经没什么好说的了。

#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;const int N=250;const int M=1e4+5;const int INF=1e9;inline int read(){ int X=0,w=0;char ch=0; while(!isdigit(ch)){w|=ch=='-';ch=getchar();} while(isdigit(ch))X=(X<<3)+(X<<1)+(ch^48),ch=getchar(); return w?-X:X;}struct node{ int u,v,c,t,w;}e[M];struct point{ int x,y;};int n,m,fa[N];point ans=(point){INF,INF};inline bool cmp(node a,node b){ return a.w
tmp||(maxn==tmp&&ans.x>now.x))ans=now; return now;}inline point getmag(point a,point b){ point s; s.x=b.x-a.x;s.y=b.y-a.y; return s;}inline int multiX(point a,point b){ return a.x*b.y-b.x*a.y;}void work(point l,point r){ for(int i=1;i<=m;i++) e[i].w=e[i].t*(r.x-l.x)+e[i].c*(l.y-r.y); sort(e+1,e+m+1,cmp); point mid=kruscal(); if(multiX(getmag(mid,l),getmag(mid,r))>=0)return; work(l,mid);work(mid,r);}int main(){ n=read(),m=read(); for(int i=1;i<=m;i++){ e[i].u=read(),e[i].v=read(); e[i].c=read(),e[i].t=read(); } for(int i=1;i<=m;i++)e[i].w=e[i].c; sort(e+1,e+m+1,cmp); point p1=kruscal(); for(int i=1;i<=m;i++)e[i].w=e[i].t; sort(e+1,e+m+1,cmp); point p2=kruscal(); work(p1,p2); printf("%d %d\n",ans.x,ans.y); return 0;}

+++++++++++++++++++++++++++++++++++++++++++

+本文作者:luyouqi233。               +

+欢迎访问我的博客: +

+++++++++++++++++++++++++++++++++++++++++++

转载于:https://www.cnblogs.com/luyouqi233/p/9063508.html

你可能感兴趣的文章
iOS边练边学--UINavigationController导航条的使用
查看>>
redmine一键安装包下载链接
查看>>
C#开发微信门户及应用(32)--微信支付接入和API封装使用
查看>>
translucent 属性
查看>>
android listView嵌套gridview的使用心得
查看>>
[ES7] Descorator: evaluated & call order
查看>>
安卓动态调试七种武器之离别钩 – Hooking(上)
查看>>
从P6 EPPM 8 R3 到P6 EPPM 16 R1 有哪些改变?
查看>>
Android Studio2.0 教程从入门到精通Windows版 - 安装篇
查看>>
Linux 系统磁盘满处理方法
查看>>
Java HashMap Demo
查看>>
yaml官方介绍
查看>>
three.js模型
查看>>
网络流24题 餐巾计划问题
查看>>
基于 Android NDK 的学习之旅-----序言
查看>>
asio制作使用ssl通信的证书
查看>>
.Net Core MVC 网站开发(Ninesky) 2.2、栏目管理功能-System区域添加
查看>>
一款MVC5+EF+Bootstrap搭建的后台通用管理系统模板
查看>>
Java使用reids,以及redis与shiro集成
查看>>
zyupload四种不同的PHP上传demo
查看>>