BZOJ1431 : MLand
考虑任意一棵生成树,它的代价是一个一次函数。
因此所有生成树的最小值随着时间变化呈现出的是一个上凸壳。
三分查找最大值即可。
时间复杂度$O(m\log m\log w)$。
#include<cstdio>
#include<algorithm>
int n,m,t1,t2,f[205],i;
struct E{int u,v,a,b;double w;void set(double t){w=a*t+b;}
}e[1205];
inline bool cmp(const E&a,const E&b){return a.w<b.w;}
int F(int x){return f[x]==x?x:f[x]=F(f[x]);}
double cal(double t){int i;for(i=0;i<m;i++)e[i].set(t);std::sort(e,e+m,cmp);for(i=0;i<n;i++)f[i]=i;double ret=0;for(i=0;i<m;i++)if(F(e[i].u)!=F(e[i].v))ret+=e[i].w,f[f[e[i].u]]=f[e[i].v];return ret;
}
int main(){scanf("%d%d%d%d",&n,&m,&t1,&t2);for(i=0;i<m;i++)scanf("%d%d%d%d",&e[i].u,&e[i].v,&e[i].a,&e[i].b);double l=t1,r=t2;for(i=100;i--;){double len=(r-l)/3,m1=l+len,m2=r-len;double f1=cal(m1),f2=cal(m2);if(f1>f2)r=m2;else l=m1;}return printf("%.3f",cal(l)),0;
}
BZOJ1431 : MLand相关推荐
- Android之Manifest文件
在Android APP开发过程中,Manifest文件举足轻重.每一个apk都要有一个Manifest文件,它配置了apk在Android系统上的基本信息. 如下 frameworks/base/p ...
- 第六章 使用Direct3D绘制
第五章主要关注渲染管道的概念和数学方面.本章重点介绍配置渲染管道所需的Direct3D API接口和方法,定义顶点和像素着色器,并将几何图形提交给绘制管道进行绘制.学完本章,您将能够绘制各种几何形状的 ...
- Directx11 Effects
effects框架是一组工具代码,用来组织着色器程序和渲染状态,使它们共同协作实现一个具体的渲染效果.比如,你可能有不同的特效用于渲染水,云,金属物体和动态的角色.每一个effect都会包含至少一个顶 ...
- mysql 游戏_批处理_mysql建立游戏排行榜!
先在服务器"server"上安装个msql服务器,并设置成以服务运行,改root密码为kkk.具体看书. 建立数据库,如:mygame,建立表:game 字段:id,数据类型为in ...
- SystemUI深度裁剪
SystemUI深度裁剪 前言 SystemUI AOSP包含了很多组件, Status bars,Navigation bars,Notification,Lockscreen,Quick sett ...
- 2020 Gartner Magic Quadrant for Analytics and BI Platforms
2020 Gartner Magic Quadrant for Analytics and BI Platforms 2020 Gartner 数据分析与BI平台魔力象限图 Published 11 ...
- 游戏排行榜实现mysql_批处理_mysql建立游戏排行榜!
先在服务器"server"上安装个msql服务器,并设置成以服务运行,改root密码为kkk.具体看书. 建立数据库,如:mygame,建立表:game 字段:id,数据类型为in ...
最新文章
- Activity与Service通信
- 怎样使用计算机上的高级共享设置密码,win7系统电脑,如何设置共享,共享计算机的用户名和密码怎样设置...
- Java编程入门(2.1):基础Java应用程序
- 1.11 多异常捕获
- 行内框可以修改的尺寸
- 记录一下Junit测试MongoDB,获取MongoTemplate
- linux天气软件,类似智能手机!Linux中安装Conky天气插件
- VS Code 0.5添加ES6支持和Git工具改进
- java 异步调用webapi_Async Await异步调用WebApi
- Eureka 配置参数说明
- ubuntu 11.10 使用 emacs-23.4 开发 erlang 整理之 安装distel
- python编程入门视频-2020年5个经典python编程入门视频教程推荐学习
- 三十三.智能驾驶之多传感器融合技术: AVOD融合方法
- 图论算法 若干定义
- Swiper的种种踩坑与解决方案
- Groovy语法介绍
- 1334172-76-7,Biotin-PEG7-amine生物素-PEG试剂,在EDC或HATU活化剂存在下与NHS酯或羧基酸反应
- 机器人鸣人是哪一集_火影:你知道火影里出现了几次机器人吗?只有十年火迷才知道...
- 政府、事业单位短信通知解决方案
- lamp mysql开机自启_CentOS 程序开机自启动方法总结