JLOI2016 侦查守卫】的更多相关文章

4557: [JLoi2016]侦察守卫 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 297  Solved: 200[Submit][Status][Discuss] Description 小R和B神正在玩一款游戏.这款游戏的地图由N个点和N-1条无向边组成,每条无向边连接两个点,且地图是连通的 .换句话说,游戏的地图是一棵有N个节点的树.游戏中有一种道具叫做侦查守卫,当一名玩家在一个点上放置侦 查守卫后,它可以监视这个点以及与这个点的距离…
侦查守卫 小R和B神正在玩一款游戏.这款游戏的地图由 N 个点和 N-1 条无向边组成,每条无向边连接两个点,且地图是连通的.换句话说,游戏的地图是一棵有 N 个节点的树. 游戏中有一种道具叫做侦查守卫,当一名玩家在一个点上放置侦查守卫后,它可以监视这个点以及与这个点的距离在 D 以内的所有点.这里两个点之间的距离定义为它们在树上的距离,也就是两个点之间唯一的简单路径上所经过边的条数.在一个点上放置侦查守卫需要付出一定的代价,在不同点放置守卫的代价可能不同. 现在小R知道了所有B神可能会出现的位…
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4557 题意概述: 给出一棵树,每个点付出代价w[i]可以控制距离和它不超过d的点,现在给出一些点,问控制这些点的最小代价是多少. 分析: 观察一下数据范围发现算算法的复杂度可能和d有关.横看竖看这像是一个树形dp,所以我们就把d搞到状态方程里面去嘛怎么就完全没有想到呢...... 既然要用树形dp,就要先分析一下性质. 一个点如果被选择成为控制点,那么它可以控制的点有:子树中深度不超过…
4557: [JLoi2016]侦察守卫 Time Limit: 20 Sec Memory Limit: 256 MB Submit: 493 Solved: 342 [Submit][Status][Discuss] Description 小R和B神正在玩一款游戏.这款游戏的地图由N个点和N-1条无向边组成,每条无向边连接两个点,且地图是连通的 .换句话说,游戏的地图是一棵有N个节点的树.游戏中有一种道具叫做侦查守卫,当一名玩家在一个点上放置侦 查守卫后,它可以监视这个点以及与这个点的距离…
#2024. 「JLOI / SHOI2016」侦查守卫   题目描述 小 R 和 B 神正在玩一款游戏.这款游戏的地图由 nnn 个点和 n−1n - 1n−1 条无向边组成,每条无向边连接两个点,且地图是连通的.换句话说,游戏的地图是一棵有 nnn 个节点的树. 游戏中有一种道具叫做侦查守卫,当一名玩家在一个点上放置侦查守卫后,它可以监视这个点以及与这个点的距离在 ddd 以内的所有点.这里两个点之间的距离定义为它们在树上的距离,也就是两个点之间唯一的简单路径上所经过边的条数. 在一个点上放…
这道题对于我来说并不是特别简单,还可以. 更新一下blog 树形DP f[i][j]表示i的子树中,最高覆盖到i向下第j层的最小花费. g[i][j]表示i的子树全部覆盖,还能向上覆盖j层的最小花费. 这样还是有许多细节的. #include<cstdio> #include<iostream> #include<algorithm> #include<iostream> #include<cmath> #include<cstring&g…
好迷的树形dp... #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxv 500500 #define maxe 1000500 using namespace std; ,g[maxv],dp1[maxv][],dp2[maxv][],w[maxv],fath[maxv]; ]; struct edge { int v,nxt; }e[…
题解 童年的回忆! 想当初,这是我考的第一次省选,我当时初二,我什么都不会,然后看着这个东西,是不是能用我一个月前才会的求lca,光这个lca我就调了一个多小时= =,然后整场五个小时,我觉得其他题不可做,一直杠这题的20分,然后...day1爆零了,之后day2手玩提答好像骗了一点,总归是没爆零 那么这个东西是可爱的树dp啦 首先我们考虑m = n(因为大体的代码都需要这个思路吧 我们设\(f[u][d]\)是u这个点不包括u,可以继续往上覆盖d个点最少需要的代价 \(g[u][d]\)是u这…
题面 经典的$cov-unc$树形dp(这词是你自己造的吧=.=) 设$cov[i][j]$表示覆盖完$i$的子树后至少向外再覆盖$j$层的最小代价,$unc[i][j]$表示$i$的子树中还剩下至少$j$层没有覆盖时的最小代价,然后是两个数组的抵消转移什么的 1.边界:对于每个需要覆盖的节点$i$,$unc[i][0]=cov[i][0]=cost_i$,对于不需要覆盖的节点$unc[i][0]=cov[i][0]=0$ 而对于每个点$i$,又都有$unc[i][j]=0,cov[i][j]=…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4557 树形DP.和“河流”有点像,也有一个类似“承诺”的东西. 就是用 f 表示当前节点向下 j 层之下的需覆盖点已覆盖的费用.答案可以是 f [ root ] [0] .(root是随便一个点) 最好把当前节点看作第1层而不是第0层,这样就能用0表示当前节点的子树全覆盖了. 为了转移,引入一个 g ,表示当前点在自己子树全覆盖的基础上可以向外覆盖 j 层.这时当前节点可以自然地看作第0层…