P3571 [POI2014]SUP-Supercomputer】的更多相关文章

*X. P3571 [POI2014]SUP-Supercomputer 题意简述:一棵以 \(1\) 为根的树.\(q\) 次询问,每次给出 \(k\),求至少要多少次同时访问不超过 \(k\) 次父节点已经被访问过的节点,才能访问完整棵树.根节点无限制. \(n,q\leq 10^6\). 节选自 DP 优化方法大杂烩 7. 斜率优化例题 X. sweet tea. 主要讲一下怎么用斜率优化,取 \(\max\) 的正确性别的题解说明得已经很好了. 对于每一个 \(k\),一定存在 \(i\…
标 * 的是推荐阅读的部分 / 做的题目. 1. 动态 DP(DDP)算法简介 动态动态规划. 以 P4719 为例讲一讲 ddp: 1.1. 树剖解法 如果没有修改操作,那么可以设计出 DP 方案 \(f_{i,0/1}\) 分别表示不选(\(0\))/ 选(\(1\))点 \(i\) 的最大权值,那么有 \(f_{i,0}=\sum_{x\in S_i}\max(f_{x,0},f_{x,1}),f_{i,1}=v_i+\sum_{x\in S_i}f_{i,0}\). 如果加上修改操作,那…
Description Byteasar has designed a supercomputer of novel architecture. It may comprise of many (identical) processing units. Each processing unit can execute a single instruction per time unit. The programs for this computer are not sequential but…
题目描述 Byteasar has designed a supercomputer of novel architecture. It may comprise of many (identical) processing units. Each processing unit can execute a single instruction per time unit. The programs for this computer are not sequential but rather…
题意 \(n(1 \le 1000000)\)个点的有根树,\(1\)号点为根,\(q(1 \le 1000000)\)次询问,每次给一个\(k\),每一次可以选择\(k\)个未访问的点,且父亲是访问过的,要求最少次数访问完所有的点. 分析 神题不会做. 题解 得到一个式子\(ans=max(i+ \left \lceil \frac{s[i]}{k} \right \rceil), 0 \le i \le maxh\),其中\(maxh\)是最大深度,\(s[i]\)是深度大于\(i\)的点的…
Problem 辣鸡bzoj权限题,洛谷链接 题意概要:一棵 \(n\) 个点有根树.\(Q\) 次询问给出一个 \(K\),回答遍历完整棵树所需最少操作次数.每次操作可以选择访问不超过 \(K\) 个未访问的点,且这些点的父亲必须在之前被访问过. Solution 一开始题意理解错了,以为同时段每个点都能扩展 \(k\) 次,然后就无耻地看了题解--但是有个证明网上都没写,这也正是写这篇博客的原因 大概意思是说,最优策略一定是先用 \(i\) 步取完前 \(i\) 层,然后选取剩下深度大于 \…
题目链接 BZOJ3835 题解 对于\(k\),设\(s[i]\)为深度大于\(i\)的点数 \[ans = max\{i + \lceil \frac{s[i]}{k}\} \rceil\] 最优决策一定是一开始每一层拿不满\(k\)个点,然后之后一直往下拿的同时通过中间层剩余的点拿满\(k\)个点 我们就有前\(i\)层用了\(i\)次,后面每\(k\)个点用一次 容易证明合法的\(i\)得出的答案一定是最大的 然后式子化为 \[\lceil \frac{ik + s[i]}{k} \rc…
题目大意: 给定一个$n(n\le10^6)$个结点的有根树,从根结点开始染色.每次可以染和已染色结点相邻的任意$k$个结点.$q(q\le10^6)$组询问,每次给定$k$,问至少需要染几次? 思路: 显然$ans=\max\left\{i+\left\lceil\frac{sum[i]}k\right\rceil\right\}$.而这样做是$O(nq)$的,观察到原式$=\left\lceil\frac{\max\left\{ki+sum[i]\right\}}k\right\rceil$…
由数据范围可得出,不可能一次一次去进行回答询问,只能离线处理,然后\(O(1)\)解决. 考虑\(DP\)解决,先给出\(DP\)方程: \(f_i=max(j+ \lceil \frac{s_{j+1}}{i} \rceil)\) (\(f_i\)表示为当前一次操作最多访问\(i\)个未访问的点的最小操作次数,\(s_i\)表示表示深度\(\geqslant i\)的节点个数) 式子右边的含义为前\(j\)次操作访问完前\(j\)层节点,后面每次都访问\(i\)个节点,可以发现这样的操作是最优…
POI2014题解 [BZOJ3521][Poi2014]Salad Bar 把p当作\(1\),把j当作\(-1\),然后做一遍前缀和. 一个合法区间\([l,r]\)要满足条件就需要满足所有前缀和\(\ge 0\),所有后缀和\(\ge 0\),也就是\(\forall i\in[l,r],sum_i-sum_{l-1}\ge 0,sum_r-sum_{i-1}\ge 0\). 也就是说\(sum_{l-1}\)要是\([l-1,r]\)内的最小值,\(sum_r\)要是\([l-1,r]\…