注意二分初始值

https://www.cnblogs.com/NaVi-Awson/p/7252243.html

#include<cstdio>
#include<algorithm>
using namespace std;
const int N=50000+5,M=100000+5;
int n,m,need;struct edge{int x,y,z,cor;}a[M]; int mid,sum;
bool cmp(edge p,edge q){if(p.z+p.cor*mid==q.z+q.cor*mid) return p.cor<q.cor;return  p.z+p.cor*mid<q.z+q.cor*mid;                               }int f[N];
int find(int x){if(f[x]==x) return x;return f[x]=find(f[x]);}inline bool check(){for(int i=1;i<=n;i++)  f[i]=i;sort(a+1,a+m+1,cmp);int cnt=0,link=0; sum=0;for(int i=1;i<=m;i++){int r1=find(a[i].x),r2=find(a[i].y);if(r1==r2) continue;f[r1]=r2;    link++;sum+=a[i].z; cnt+=a[i].cor;if(link==n-1) break;}return  cnt>=need;}
int main(){scanf("%d%d%d",&n,&m,&need);    for(int i=1;i<=m;i++) {scanf("%d%d%d%d",&a[i].x,&a[i].y,&a[i].z,&a[i].cor);a[i].x++; a[i].y++; a[i].cor=1-a[i].cor;}int l=-105,r=105,ans=0;    while(l<=r){mid=(l+r)/2;if(check()) ans=sum,l=mid+1;else                r=mid-1;} printf("%d",ans);
return 0;}


转载于:https://www.cnblogs.com/YuXiaoze/p/10679528.html

【带权二分】bzoj2654 tree相关推荐

  1. 洛谷P2619 [国家集训队2]Tree I(带权二分,Kruscal,归并排序)

    洛谷题目传送门 给一个比较有逼格的名词--WQS二分/带权二分/DP凸优化(当然这题不是DP). 用来解决一种特定类型的问题: 有\(n\)个物品,选择每一个都会有相应的权值,需要求出强制选\(nee ...

  2. P4383 [八省联考2018]林克卡特树lct 树形DP+凸优化/带权二分

    $ \color{#0066ff}{ 题目描述 }$ 小L 最近沉迷于塞尔达传说:荒野之息(The Legend of Zelda: Breath of The Wild)无法自拔,他尤其喜欢游戏中的 ...

  3. 洛谷.4383.[八省联考2018]林克卡特树lct(树形DP 带权二分)

    题目链接 \(Description\) 给定一棵边带权的树.求删掉K条边.再连上K条权为0的边后,新树的最大直径. \(n,K\leq3\times10^5\). \(Solution\) 题目可以 ...

  4. LibreOJ #2478.「九省联考 2018」林克卡特树 树形dp+带权二分

    题意 给出一棵n个节点的树和k,边有边权,要求先从树中选k条边,然后把这k条边删掉,再加入k条边权为0的边,满足操作完后的图仍然是一棵树.问新树的带权直径最大是多少. n,k≤3∗105n,k≤3∗1 ...

  5. P2619 [国家集训队]Tree I(WQS二分/带权二分/最小生成树)

    P2619 [国家集训队]Tree I 给定一个n个点,m条边的无向图,每条边有一个颜色黑色或者白色,求解恰好有k条白色边的最小生成树. 那么看到恰好选择k个的最优性问题,我们可以利用WQS二分解决, ...

  6. KM算法--带权二分匹配

    http://acm.hdu.edu.cn/showproblem.php?pid=2255 问题概述:有n个人,n个房子,每个人对每个房子出价都不同,你是村长,你如何分配房子才能获得最高收益? 输入 ...

  7. 洛谷P4072 [SDOI2016]征途(带权二分,斜率优化)

    洛谷题目传送门 一开始肯定要把题目要求的式子给写出来 我们知道方差的公式\(s^2=\frac{\sum\limits_{i=1}^{m}(x_i-\overline x)^2}{m}\) 题目要乘\ ...

  8. WQS二分 学习笔记 + 例题([BZOJ2654]Tree、[联考2018]林克卡特树)

    目录 问题类型 WQS二分思路 形象地说 板题 题意 & 解法 CODE 省选题 题意 & 解法 CODE 问题类型 形如"恰好取 k 个--时的最优答案(并非具体方案)&q ...

  9. BZOJ2654: tree 二分答案+最小生成树

    Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...

  10. BZOJ2654:tree(最小生成树,二分)

    Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...

最新文章

  1. 【c语言】蓝桥杯入门训练 圆的面积
  2. [JDBC技术]3.JDBC数据库连接池实例
  3. 额外篇 | ggplot (上)
  4. 可真有你的!EasyEdge模型压缩新姿势……
  5. 算法设计与分析(第三周)递归/迭代求Fibonacci前n项 【以及递归算法速度慢的原因】
  6. DELL服务器T410进行系统修复,ibm T410 BIOS修复过程-BIOS维修网站www.biosrepair.com
  7. 乐山市计算机学校的董事长是,乐山市计算机学校干部主题教育
  8. AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清
  9. 应届毕业生面试软件测试工程师时应注意什么?
  10. Django视图系统
  11. leetcode笔记--7 Find the Difference
  12. python编程else是什么意思_Python编程
  13. 彻底卸载SQL Server
  14. 第一篇,从0开始安装Ubuntu
  15. Android仿拼多多拼团堆叠头像
  16. B站韩顺平老师Linux笔记(截止到85集)
  17. python3 全局变量_Python3基础 当函数中的局部变量与全局变量同名了,各管各的...
  18. VBA打开已加密的Excel文件
  19. STM32控制ESP8266透传到私有HTTP服务器(Json数据格式)
  20. Sentinel降级策略

热门文章

  1. Postman 把response的值自动放到变量里
  2. scala 基础入门
  3. Cping (cmd shell )版本
  4. hadoop 3.x 配置历史服务器
  5. maven工程的多环境配置方案(profile)
  6. DevExpress导出Excel样式设置
  7. MySQL入门第三天(下)——存储过程与存储引擎
  8. File类和时间类的两道综合练习
  9. QT5.3.2与VS2013 fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突_(解决方案)...
  10. APP图标右上角数字的实现