随笔分类 -  算法—点分治

摘要:题目描述: 给定一棵 n 个点的树。 每次等概率选定一个联通块,将该联通内的所有点都捶一遍。再从选定的联通块中随机选取一个点,删掉该点及其连边。 反复操作,直至没有剩余点,求所有点被捶次数的期望 ×n! ,答案对 109+7 取模。 算法标签:点分治,fft 思路: 考虑一个点A会在另一个点B被选中 阅读全文
posted @ 2019-02-21 00:34 Jessiejzy 阅读(323) 评论(0) 推荐(0)
摘要:题目描述: 算法标签:点分治,二分,分数规划 思路: 考虑二分出答案,于是对于每一个点把他的权值减去二分出的答案的和相加大于0,且长度适宜,则满足。 于是用点分治判断是否存在这样的路径。 以下代码: #include<bits/stdc++.h> #define il inline #define 阅读全文
posted @ 2019-01-27 09:19 Jessiejzy 阅读(144) 评论(0) 推荐(0)
摘要:题目描述: 有一棵N个节点的树, 令d(i,j)为i到j经过的边的条数。有M个炸弹, 第i个炸弹在节点posi上, 威力为power i,它会对所有节点j造成max(0,power i−d(posi,j))的伤害。求出每个节点最终受到的伤害。 算法标签:点分治 思路: 考虑对于每次求点,仅求以当前重 阅读全文
posted @ 2018-12-30 13:13 Jessiejzy 阅读(231) 评论(0) 推荐(0)
摘要:题目描述: 给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a<b.将这n*(n-1)/2个距离从大到小排序,输出前M个距离值。 算法标签:点分治,st表 思路: 处理出点分治序后,思路跟超级钢琴是相同的,对于每一 阅读全文
posted @ 2018-12-29 07:53 Jessiejzy 阅读(174) 评论(0) 推荐(0)
摘要:题目描述: T64有一个好朋友,叫T128。T128是寄宿生,并且最近被老师叫过去当宿管了。宿管可不是一件很好做的工作,碰 巧T128有一个工作上的问题想请T64帮忙解决。T128的寝室条件不是很好,所以没有很多钱来装修。礼间寝室仅由n -1条双向道路连接,而且任意两间寝室之间都可以互达。最近,T1 阅读全文
posted @ 2018-12-29 00:06 Jessiejzy 阅读(171) 评论(0) 推荐(0)
摘要:题目描述: 绿老师和弗绿兹是好朋友。 绿老师决定和弗绿兹在一棵 N 个节点的树上玩一个游戏,边有边权,有 M 个点对 (ai,bi),绿老师 选择一个 i,从 ai 走到 bi,弗绿兹选择一个 j,从 aj 走到 bj,他们希望他们走的距离之和最大。 但是这些点对被原谅了,绿老师走会从 ai 走到 阅读全文
posted @ 2018-12-25 20:27 Jessiejzy 阅读(244) 评论(0) 推荐(0)