poj2352消防站

题目大意:有n个点的一棵树,每个点有两个值:w和c。现在要在其中若干点建立消防站,使得每个点到最近的消防站的距离不超过该点的c值,i点建立消防站的费用为w。求最小费用。

分析:本题显然是树型Dp。定义状态为f[i][j]表示i节点最近的消防站为j且子树i均满足条件的最小费用,该费用包含了w[j],即使j不在子树i内。

f[i][j]=∑(min(f[k][j]-w[j],best[k]))+w[j] {k是i的儿子节点,j是离i最近的消防站,且j在子树i外,或j=i。}

其中best[k]表示min(f[k][j]),其中j在树k内。

时间: 2024-10-12 17:25:43

poj2352消防站的相关文章

POJ2352 Stars 树状数组

POJ2352 非常裸的树状数组的题. 注意数组下标不能从0开始 因为lowbit(0)==0 所以 所有横坐标统一加1 数组要开的够大 就酱 #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<cmath> #include<vector> using namespace std; const int maxn=15000,

POJ2352 Stars (静态二叉检索树)

https://vjudge.net/problem/POJ-2352 分析: 由于是按照y坐标的升序,y坐标向等的按x的升序的顺序给出星星.那么某个星星的等级数就是在他前面x坐标小于等于他的x坐标的星星的个数. 暴力的时间复杂度为n^2,超时 所以我们要记录前面所有x坐标出现的次数.然后要求出[0,xi]出现的和. 这就是静态二叉检索树 的标准问题了. #include <iostream> #include <cstdio> #include <cstring> #

POJ2352 Stars 【树状数组】or【线段树】

Stars Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 31172   Accepted: 13595 Description Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a st

ACM-树状数组之Stars——hdu1541,poj2352

***************************************转载请注明出处:http://blog.csdn.net/lttree*************************************** Stars Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4129    Accepted Submissi

BZOJ 2103/3302/2447 消防站 树的重心【DFS】【TreeDP】

2103: Fire 消防站 Time Limit: 30 Sec  Memory Limit: 259 MBSubmit: 157  Solved: 116[Submit][Status][Discuss] Description Input 共N+1行. 第一行有一个正整数N,表示区域的个数. 接下来有N-1行,每行两个整数u.v,表述区域u和区域v之间有一条道路. 最后一行有N个正整数,第i个正整数表示区域i的权值W(i). Output 包含一个正整数,为最小的S(x, y)的值. Sa

POJ2352题解(树状数组)

POJ2352题解(树状数组) 2019-12-29 Powered by Gauss 1.题目传送门:POJ2352 2.题目大意: 这是一道非常经典的树状数组的模板题. 题目大意是说,给出N颗星星,每个星星都有一个二维坐标,要求出位于每颗星星左下方的星星的数量. 3.算法思路: 这道题被给出之后立刻想到暴力法,让我们来计算一下: 根据题目,N<=15000,暴力法需要双层循环,也就是150002=225,000,000,超出了一秒,所以不得不寻求更快更好的算法思想. 当我们需要求查询,求和的

poj2352

Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not higher and not to the right of the given star. Astronomers wa

poj--2352 Stars(树状数组)

Description Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not higher and not to the right of the given star. As

树状数组POJ2352星星

http://poj.org/problem?id=2352 这道题的题意对于住学者应该比较难理解,但是如果弄明白他的意思的话,你就会发现这就是赤裸裸的树状数组,哎,欺负我不懂是吧,当时读题读啦好久,好啦,下面说一下他的意思吧.. 由于题目已经说明y的坐标是递增顺序,所以直接考虑x的坐标就可以啦.每次当有x输入时,都求出sum(x+1)的值(注意呦,在树状数组中,可是从1开始的,而题目中的输入是包含0的),并把result[sum(x+1)]++:再更新一下,就好啦啦啦啦. 还是要注意一点,用c