博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-5441-离线化并查集
阅读量:4647 次
发布时间:2019-06-09

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

以前没注意过离线化,简而言之就是将所有要处理的目标统一一起处理,从而优化一定的时间或者空间。

这个题目而言就是先将查询储存起来,进行并查集的时候一并处理。

然后来说这个题目,我们可以把每一些满足要求的且可互达的点组成一个并查集,顺便记录每个并查集有几个节点即可。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;int t,n,m,q;int f[20005],s[20005];struct Road{ int u,v,cost; bool operator<(const Road &a)const { return cost
query[i].dis) break;//不满足要求就开始处理下一个查询 int u=Find(road[j].u),v=Find(road[j].v); if(u!=v){//合并两个并查集 sum+=s[u]*s[v]*2;//互相可达,那么就是两个并查集点的乘积,根据题意双向算两条 f[v]=u; s[u]+=s[v];//要记得更新根节点有多少个节点 } } query[i].ans=sum; } sort(query,query+q,cmp2); for(int i=0;i

  

转载于:https://www.cnblogs.com/JustDoA/p/10480696.html

你可能感兴趣的文章
四年时光,匆匆而过
查看>>
【php】【psr】psr1 基础编码规范
查看>>
WAF SSI
查看>>
LDAP & it's implementation
查看>>
Apache HttpComponents中的cookie匹配策略
查看>>
冰封的海盗攻略
查看>>
Netty4.x中文教程系列(四) 对象传输
查看>>
linux下find命令使用举例、
查看>>
GET请求在Tomcat中的传递及URI传递
查看>>
ubuntun 服务器与Mac
查看>>
重温JSP学习笔记--与日期数字格式化有关的jstl标签库
查看>>
java-Date-DateFormat-Calendar
查看>>
封装CLLocationManager定位获取经纬度
查看>>
我的第一篇博客-(Eclipse中或Myeclipse中如果不小心删除了包那可怎么办?)
查看>>
对easyui datagrid组件的一个小改进
查看>>
类似以下三图竞争关系的IT企业
查看>>
清明节
查看>>
ubuntu如何安装svn客户端?
查看>>
javascript之非构造函数的继承
查看>>
C#实现 单点登录(SSO)
查看>>