
点分治
文章平均质量分 81
我不会额
这个作者很懒,什么都没留下…
展开
-
POJ - 1741 Tree
题目:给你一棵n个节点的树,每条边都有一个权值,给你一个K,问你有多少点对(u,v)使得他们之间路径的权值和思路:点分治代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#in原创 2017-08-16 12:47:24 · 294 阅读 · 0 评论 -
poj2114 Boatherds
题目:给你一棵n个节点的树,每条边都有一个权值,再给你一个K,问你是否存在两个点u,v,使得uv之间的距离之和为K。思路:点分治代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include原创 2017-08-16 15:06:10 · 326 阅读 · 0 评论 -
bzoj2152 聪聪可可
题目:聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。他们的爸爸快被他们的争吵烦死了,所以他发明了一个新游戏:由爸爸在纸上画n个“点”,并用n-1条“边”把这n个“点”恰好连通(其实这就是一棵树)。并且每条“边”上都有一个数。接下原创 2017-08-16 13:42:01 · 311 阅读 · 0 评论 -
hdu4812 D Tree
题目:给你一棵n个节点的树,每个节点都有一个权值,再给你一个数K,让你输出最小的u v(uv之间的节点的权值的乘积对1e6+3取模后等于K)。思路:点分治代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#inc原创 2017-08-16 22:49:54 · 236 阅读 · 0 评论 -
HDU - 4670 Cube number on a tree 点分治+哈希
题目:给你一棵n个节点的树,再给你K个质数,每个节点都有一个权值,权值都是由这些质数组成,路径的长度定义成路径上的节点的权值的 乘积,问有多少路径满足路径的长度是个立方数。思路:点分治,用map哈希一下就好了。题目虽然说节点的权值范围内有0,但是数据应该没有0,不然这样做就错了代码:#pragma comment(linker, "/STACK:1024000000,102400000原创 2017-08-17 10:45:07 · 357 阅读 · 0 评论 -
hdu4871 Shortest-path tree
题目:给你一个n个节点m条边的无向连通图,让你求一棵从以1为根节点的树,并且1到其余所有节点的距离都是最短路,距离相同的情况下要求字典序最小,最后在这棵树的基础上,找一条K个节点的简单路径,使得路径距离最长,问最长的距离是多少,这样的路径有多少条。思路:先求出最短路,再dfs一次,找出字典序最小的树,最后点分治就行了代码:#pragma comment(linker, "/STACK:原创 2017-08-18 11:17:14 · 412 阅读 · 0 评论 -
hdu5977 Garden of Eden
题目:点击打开链接给你一棵n个节点的树,一共有k种颜色,每个节点有一种颜色,求a到b的路径中经过了所有颜色的路径的对数,(a,b)和(b,a)都要算思路:树分治+状态压缩+枚举子集代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#includ原创 2017-10-16 21:25:47 · 427 阅读 · 0 评论