bzoj 3528 [ZJOI2014] 星系调查 题解
【原题】
星系调查
【问题描写叙述】
银河历59451年。在银河系有许很多多已被人类殖民的星系。如果想要在行
星系间往来,大家一般使用连接两个行星系的跳跃星门。 一个跳跃星门能够把
物质在它所连接的两个行星系中互相传送。
露露、花花和萱萱被银河系星际联盟调查局任命调查商业巨擘ZeusLeague+
的不正当商业行为。
在银河系有N个已被ZeusLeague+成功打入市场的行星系,最好还是标号为
1,2,...,N。而ZeusLeague+在这N个行星系之间还拥有自己的M个跳跃星门。
使
用这些跳跃星门,ZeusLeague+的物资就能够在这N个行星系中两两随意互相传
输。
因为经费问题。跳跃星门的个数不会超过行星系的个数。
露露在颇费周折之后得到了ZeusLeague+在这N个行星系中的各自的贸易总
额C[i]。
萱萱设计了一个经济学特征指标D[i]来度量这N个行星系的经济学特征。于
是。我们能够用二元组(C[i],D[i])来表示第i个行星系的XP(Xuan's Position)。现
在如果我们有k个行星系的XPs,把它们放置在二维平面上,然后我们用一条直
线去拟合这些XPs。定义一条直线与XPs的相斥度为这条直线到各个XP的Euclid
距离的平方之和。再令XPs的线性如果相斥度为全部直线与XPs的相斥度中的
最小者。
那么。这个值越小,ZeusLeague+在这k个行星系中的相互贸易活动就
越可疑,从而值得进一步调查。花花负责计算很多行星系对(u,v)的非可疑度。一
条跳跃星门航线的非可疑度被定义为它经过的全部行星系(包含起点和终点)的
XPs的线性如果相斥度。
而一个行星系对(u,v)的非可疑度则被定义为全部以u为
起点,v为终点的跳跃星门航线的非可疑度中的最小值。一条跳跃星门航线是指
从某个行星系開始。通过跳跃星门依次到达某些行星系,然后终止。而且中途不
反复经过行星系,这种一个过程。
花花负责计算很多行星系对(u,v)的非可疑度。
一条跳跃星门航线的非可疑度
被定义为它经过的全部行星系(包含起点和终点)的XPs的线性如果相斥度。
而一个行星系对(u,v)的非可疑度则被定义为全部以u为起点,v为终点的跳跃星
门航线的非可疑度中的最小值。一条跳跃星门航线是指从某个行星系開始,通过
跳跃星门依次到达某些行星系,然后终止。而且中途不反复经过行星系,这种
一个过程。
在花花数天夜以继日的工作之后。平行调查组的你——大名鼎鼎的计算机科
学家Hcceleration.Gerk.Gounce不忍心看到她这样不眠不休,于是你在完毕了手
头的工作之后决定帮一帮她。
【输入格式】
输入文件inv.in 的第一行是N,M,分别表示这个银河系内的行星系的个数
以及跳跃星门的个数。
接下来N行,每行2个正整数C[i], D[i]。表示第i 个行星系的XP(Xuan's
Position)。
接下来的M行来描写叙述跳跃星门,每行2个正整数u[i],v[i],表示有一个连接
着行星系u[i]和v[i]的跳跃星门。注意这个连接是无向的。不会存在自己连向自
己的情况。也不会存在反复连接的情况。
接下来的一行。有一个正整数Q,表示花花须要计算的非可疑度的行星对数。
接下来的Q行,每行2个正整数s[i], t[i],表示花花须要计算从s[i]到t[i]的
非可疑度。
【输出格式】
输出文件inv.out总共Q行,每一行一个实数。表示花花第i次须要计算的答
案。你的答案须要和标准答案的差不超过0.01才干得分。
【例子输入】
6 6
3 4
5 6
1 3
4 4
3 3
2 4
1 2
1 3
2 3
2 4
3 5
5 6
3
3 6
2 4
4 6
【例子输出】
0.66667
0.00000
1.67544
【数据规模与约定】
提示:我们把行星系抽象成一个点,跳跃星门抽象成一条边。那么题目要描
述的是一张边数不会超过点数的联通无向图。
【分析】先直接列出了一个非常傻X的方程:
(图破了,就将就着看以下的第一个式子吧)
然后就不知道应该怎么办了,暴力展开?没什么用。
显然询问Q不是吃素的。每次必须转化为LGN的算法。
看了网上一篇大牛的题解,当时整个人都不好了——就是暴力 展开。
以下是细节。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbmdzaGliaWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
太神了!推是非常好推,我真正动容的是:那么多项居然没有推错?!
瞬间就会了。我们维护从根节点到某一个点的上述全部值的和。
(能够开一个结构体,重载+。这样会方便非常多)
先不考虑环的情况。若计算x到y的路径。设z=LCA(x,y),那么我们用x、y、z带出全部项。
然后就是O(1)算出δ的值了。
如果有环。先用并查集或克鲁斯卡尔或dfs或bfs求出多出的那条边的左右两点。
我们仅仅需分类讨论环的左右点和x、y的关系。用相同的方法求解。
话说我在最后一步的时候还推错了,囧。
代码丑,就不放了。
bzoj 3528 [ZJOI2014] 星系调查 题解的更多相关文章
- bzoj 3528: [Zjoi2014]星系调查
Description 银河历59451年,在银河系有许许多多已被人类殖民的星系.如果想要在行 星系间往来,大家一般使用连接两个行星系的跳跃星门. 一个跳跃星门可以把 物质在它所连接的两个行星系中互 ...
- bzoj 3528 [Zjoi2014]星系调查【树链剖分+数学】
参考:https://www.cnblogs.com/zhuohan123/p/3698852.html 首先,根据点到直线距离公式 \[ d=\frac{kx_0-y_0+b}{\sqrt{k^{2 ...
- 题解 洛谷 P3340 【[ZJOI2014]星系调查】
根据题意,发现题目中的图,其实就是一颗树或者是一颗基环树,每个节点上有一个点对\((x,y)\),每次询问为给定端点,找一条直线到端点间的所有点的距离之和最小. 设这条直线为\(y=kx+b\),根据 ...
- BZOJ3528: [Zjoi2014]星系调查
唉,看到这题直接想起自己的Day1,还是挺难受的,挺傻一题考试的时候怎么就没弄出来呢…… 这两天CP让我给他写个题解,弄了不是很久就把这个题给弄出来了,真不知道考试的时候在干嘛. 明天就出发去北京了, ...
- bzoj 3519: [Zjoi2014] 消棋子 题解
[序言]在大家怀疑的眼光下,我做了一个中午和半个下午.调了一个晚上的题目总算A了! [原题] 消棋子是一个有趣的游戏.游戏在一个r * c的棋盘上进行.棋盘的每一个格 子.要么是空,要么是一种颜色的棋 ...
- 「ZJOI2014」星系调查
「ZJOI2014」星系调查 本题核心在于快速求XPs 的线性假设相斥度. 点\((x1,y1)\)到直线\(y=kx+b\)的距离的平方为\(\displaystyle {(kx1+b-y1)^2} ...
- BZOJ 4033: [HAOI2015]树上染色题解
BZOJ 4033: [HAOI2015]树上染色题解(树形dp) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327400 原题地址: BZOJ 403 ...
- BZOJ 2768: [JLOI2010]冠军调查 最小割
2768: [JLOI2010]冠军调查 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2768 Description 一年一度的欧洲足 ...
- 【bzoj 3786】星系探索
Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球 ...
随机推荐
- devilbox(二):连接数据库
Devilbox的安装在上一篇https://www.cnblogs.com/ermao0423/p/9505653.html中已经记录了,这篇主要记录各种数据库的连接.用户建立.设置密码等 查看do ...
- bzoj1833: [ZJOI2010]count 数字计数 数位dp
bzoj1833 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a.b,含义如上所述. O ...
- nothing added to commit but untracked files present.
当我们使用git的时候 如果我们在工作区修改了某些文件而没有新增文件,可以直接用: $ git commit --all -m "备注信息" -- ...
- Oracle12c 中RAC功能增强新特性之ASM&Grid
1. 自动存储管理(ASM)方面的增强 1.1. Flex ASM 在典型的网格架构安装中,每个节点有自己的ASM实例运行并扮演该节点上数据库的存储容器的角色,对这种安装配置,存在单点失败的 ...
- json格式化
jar包:gson-xxx.jar import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.goog ...
- 《Python》 函数进阶和名称空间作用域
函数进阶: 一.动态参数:*args **kwargs *args是元祖形式,接收除去键值对以外的所有参数 # args可以换成任意变量名,约定俗成用args **kwargs接收的只是键值对的参数 ...
- 使用MyEclipse开发Java EE应用:企业级应用程序项目(下)
你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 二.项目组织.依赖性和类解析 JEE规范为企业应用程序定义了一个分层的Java类解决策略, ...
- Java实现责任链模式
责任链模式: 将接受者对象连成一条链,并在该链上传递请求,直到一个几首这对象处理它.通过让更多对象有机会处理请求,避免了请求发送者和接受者之间的耦合. 责任链模式的优缺点: 优点:高内聚,低耦合.业务 ...
- php变量和字符串连接符——点
连接符——点,本身也是一种运算符.它真正的名字应该叫“字符运算符”.作用是把两个字符串连接起来. echo 字符 . 变量 . 字符; //点号把三个值连接成为一个,运行正常. 例: 1.字符串+变 ...
- webstrom vue配置eslint
(得出结论,还是得从官方文档中找,哇!!) 1.安装eslint插件,可以从search in repositories中获得,或者:http://plugins.jetbrains.com/plug ...