【最小生成树+贪心】BZOJ1821: [JSOI2010]Group 部落划分 Group
Description
Solution
对于每一条边,要么在部落内要么在部落外,对于边权较小的边,应该让它在部落内。
于是按边权排序,用kruskal连接,直到小于k个连通块。
Code
- #include<cstdio>
- #include<algorithm>
- #include<cmath>
- #define ll long long
- using namespace std;
- const int maxn=;
- struct edge{
- int u,v;
- ll w;
- bool operator<(const edge&a)
- const{return w<a.w;}
- }e[maxn*maxn];
- int x[maxn],y[maxn],p[maxn];
- int find(int x){return p[x]==x?x:p[x]=find(p[x]);}
- int n,m,k,cnt;
- ll dist(int a,int b){
- return (ll)(x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]);
- }
- int main(){
- scanf("%d%d",&n,&k);
- for(int i=;i<=n;i++)
- scanf("%d%d",&x[i],&y[i]);
- for(int i=;i<=n;i++) p[i]=i;
- for(int i=;i<=n;i++)
- for(int j=i+;j<=n;j++){
- m++;
- e[m].u=i,e[m].v=j;
- e[m].w=dist(i,j);
- }
- sort(e+,e+m+);
- cnt=n;
- for(int i=;i<=m;i++){
- int a=find(e[i].u),b=find(e[i].v);
- if(a!=b){
- cnt--;
- p[a]=b;
- if(cnt<k){
- printf("%.2lf",sqrt(e[i].w));
- break;
- }
- }
- }
- return ;
- }
秒之。话说最近1A率好高,果然是我刷的题太水?
【最小生成树+贪心】BZOJ1821: [JSOI2010]Group 部落划分 Group的更多相关文章
- [BZOJ1821][JSOI2010]Group 部落划分 Group 最小生成树 贪心
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2943 Solved: 1390[S ...
- [Bzoj1821][JSOI2010]Group 部落划分 Group(并查集)(二分答案)
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2949 Solved: 1392[S ...
- 1821: [JSOI2010]Group 部落划分 Group
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1308 Solved: 627[Su ...
- 洛谷 1821: [JSOI2010]Group 部落划分 Group
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2596 Solved: 1221[S ...
- 【BZOJ】1821: [JSOI2010]Group 部落划分 Group(最小生成树+贪心)
http://www.lydsy.com:808/JudgeOnline/problem.php?id=1821 这题裸题. 本题要求最短距离最长,很明显,我们排序. 这里存在贪心,即我们把边权最小的 ...
- BZOJ1821 [JSOI2010]Group 部落划分 Group 【最小生成树】
题目 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗.只是,这一切都成为谜团了--聪聪根 ...
- 【bzoj1821】[JSOI2010]Group 部落划分 Group Kruskal
题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗.只是,这一切都成为谜团了——聪 ...
- [JSOI2010]Group 部落划分 Group
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 3661 Solved: 1755[Submit][Status][Discuss] Descripti ...
- B1821 [JSOI2010]Group 部落划分 Group 二分答案&&并查集
这个题正解是最小生成树,但是...最大值最小?一看就是二分答案啊!不用多想,直接二分答案加暴力验证就行了. 题干: Description 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒 ...
随机推荐
- post请求参数Json字符串包含数组的校验和处理 -工作随记-备查工具
package com.xxxx.live.webapp.selvert; import java.io.BufferedReader; import java.io.IOException; imp ...
- MDF,了解一下
1.MDF定义 MDF,全称(Measurement Data Format),即测量数据格式,是ASAM(自动化及测量系统标准协会)定义的.MDF的网页https://www.asam.net/st ...
- windows10不能修改hosts解决方案(亲测)
hosts文本解释: 有时候我们要破解一些软件与服务器通讯,所以通常都需要更改Hosts文件来达到目的,XP系统可以直接修改保存,但是Win10系统却提示没有权限去修改,那么我们要怎样办呢,我们修改的 ...
- React+ANTD项目使用后的一些关于生命周期比较实用的心得
1. constructor() constructor(props){ super(props) this.state=({ }) } 一定先写super 可以接收从父组件传来的值 父组件往子组件 ...
- tomcat7性能调优与配置(以windows版为例)
一.配置tomcat服务状态查看帐号(E:\Tomcats\apache-tomcat-7.0.73Test\conf下面的tomcat-users.xml中)加入:<user username ...
- 在Web中获取MAC地址
很多时候都很难琢磨客户在想什么,也许是自己业务经验不足,也许是客户要显示出他在软件方面也非常的专业.记得以前听过一个故事,说一个富人想娶个媳妇,然后他比较钟意的有三个女人,然后就想从三个女人中选一个, ...
- Django rest framework(5)----解析器
目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...
- HTML DOM对象的属性和方法
HTML DOM对象的属性和方法 HTML DOM 对象有几种类型: 1.Document 类型 在浏览器中,Document 对象表示整个 HTML 文档. 1.1属性 引用文档的子节点 docum ...
- Linux环境安装配置JDK
本文安装环境为Ubuntu14 64位,jdk版本为jdk1.6.0_38,安装文件名为jdk-6u38-linux-x64.bin(根据系统不同,下载不同的安装文件) 下载地址:http://www ...
- Maven学习(四)-- Maven的核心概念
摘自:http://www.cnblogs.com/xdp-gacl/p/4051819.html 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1. ...