随笔分类 - 数据结构:点分治
摘要:各位dalao的解法都好神啊。。。 这里给一种点分治的解法。 题目 "链接" 思路 首先斜率部分。 转移方程: $ans[x]=min( dis[u] p[x]+ans[u])+dis[x] p[x]+q[x]$ 发现结果只与$min()$框内的部分有关,观察这个形式,发现是个一次函数,也就是说可以
阅读全文
摘要:题目 给一棵边带权树,问两点之间 include include include define M 10005 define clr(x,y) memset(x,y,sizeof(x)) using namespace std; int n,K,h[M],tot; struct edge{ int
阅读全文
摘要:题目 "题面" 大意是给你一个图,要你构建出一棵最短路树,再询问经过k个点的最长路径长度以及最长路径条数。 思路 点分治。 点分治的思路是这样的: 对于一个点$x$而言,对答案有影响的路径要么经过点$x$要么不经过,利用这点进行分治。 点分治首先要找出一个重心。重心是指以该点为根所有的子树中sz最大
阅读全文

浙公网安备 33010602011771号