[UOJ#223][BZOJ4654][Noi2016]国王饮水记】的更多相关文章

[UOJ#223][BZOJ4654][Noi2016]国王饮水记 试题描述 跳蚤国有 n 个城市,伟大的跳蚤国王居住在跳蚤国首都中,即 1 号城市中.跳蚤国最大的问题就是饮水问题,由于首都中居住的跳蚤实在太多,跳蚤国王又体恤地将分配给他的水也给跳蚤国居民饮用,这导致跳蚤国王也经常喝不上水.于是,跳蚤国在每个城市都修建了一个圆柱形水箱,这些水箱完全相同且足够高.一个雨天后,第 i 个城市收集到了高度为 hi 的水.由于地理和天气因素的影响,任何两个不同城市收集到的水高度互不相同.跳蚤国王也请来蚂…
有很多比较显然的性质.首先每个城市(除1外)至多被连通一次,否则没有意义.其次将城市按水位从大到小排序后,用以连通的城市集合是一段前缀,并且不应存在比1城市还小的.然后如果确定了选取的城市集合,每次选择也应该是连续的一段,且应从小到大选,这样保证了将其他城市的水尽量分到1,而不是被另外的城市分流.同时也说明如果不考虑次数限制应该划分的尽量多. 考虑怎么用这些性质做.按水位从小到大排序,考虑大力dp,即设f[i][j]为前i个城市(可以不全选)分了j组时的答案,转移即f[i][j]=max{(f[…
LINK:国王饮水记 看起来很不可做的样子. 但实际上还是需要先考虑贪心. 当k==1的时候 只有一次操作机会.显然可以把那些比第一个位置小的都给扔掉. 然后可以得知剩下序列中的最大值一定会被选择. 考虑是否选出其他数字 容易想到如果选择了必然要比拿到最大的之后的平均数要大. 这样贪心下去即可. 考虑当k不等于1的时候. 设\(f_i\)表示第i次使用过后的最大值.显然有\(f_i>f_{i-1}\) 那么由此我们得到某个点至多被选择一次 再选择没有任何收益. 所以k可以对n取min. 此时观察…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! Description 跳蚤国有 n 个城市,伟大的跳蚤国王居住在跳蚤国首都中,即 1 号城市中.跳蚤国最大的问题就是饮水问题,由 于首都中居住的跳蚤实在太多,跳蚤国王又体恤地将分配给他的水也给跳蚤国居民饮用,这导致跳蚤国王也经常喝 不上水.于是,跳蚤国在…
题目链接 uoj233 题解 下面不加证明地给出几个性质: 小于\(h[1]\)的城市一定是没用的 任何城市联通包含\(1\)且只和\(1\)联通一次 联通顺序从小到大最优 单个联通比多个一起联通要优 最优解中多个一起联通不超过\(14\)次 除了最后一个外还是很显然的 \(K\)足够大肯定逐个联通,否则有一些还是需要一起联通的 我们可以设\(f[i][j]\)表示前\(i\)个城市,联通\(j\)次\(h[1]\)的最高高度 那么,去掉小于\(h[1]\)的城市,将\(h[i]\)排序,记\(…
来自FallDream的博客,未经允许,请勿转载,谢谢. 跳蚤国有 n 个城市,伟大的跳蚤国王居住在跳蚤国首都中,即 1 号城市中.跳蚤国最大的问题就是饮水问题,由于首都中居住的跳蚤实在太多,跳蚤国王又体恤地将分配给他的水也给跳蚤国居民饮用,这导致跳蚤国王也经常喝不上水.于是,跳蚤国在每个城市都修建了一个圆柱形水箱,这些水箱完全相同且足够高.一个雨天后,第 i 个城市收集到了高度为 hi 的水.由于地理和天气因素的影响,任何两个不同城市收集到的水高度互不相同.跳蚤国王也请来蚂蚁工匠帮忙,建立了一…
蒟蒻的第一篇黑题题解,求过. 题目链接 题意描述 这道题用简洁的话来说,就是: 给你 \(n\) 个数字,你可以让取其中任意若干个数字,每次操作,都会使所有取的数字变为取的数字的平均数,并且你最多只能进行 \(k\) 次操作,你要在这经过最多 \(k\) 次操作后使得给你的第一个数字变得最大.输出保留 \(p\) 位的第一个数字的最后状态. 贪心策略(非正解,有助后面做题) 我们暂且不研究这道题的正解是什么,我们先看看怎么样贪心能够使得第一个数字变得最大. 首先,比第一个数字小的我们一定不需要,…
[BZOJ4654][NOI2016]国王饮水记(动态规划,斜率优化) 题面 BZOJ 洛谷 题解 首先肯定是找性质. 明确一点,比\(h_1\)小的没有任何意义. 所以我们按照\(h\)排序,那么\(h_1\)就是当前\(1\)号位置的水量. 假设我们使用的次数不受到任何限制,我们思考怎么样才是最优. 首先每次只和一个合并一定比和多个合并更优. 假设有三个位置\(h_1\lt h_2\lt h_3\) 那么如果直接合并,答案是\((h_1+h_2+h_3)/3\) 如果每次合并一个,答案是\(…
$n \leq 8000$的数列,问不超过$m \leq 1e9$次操作后第一个数字最大是多少.操作:选一些数,把他们变成他们的平均值.需要保留$p \leq 3000$位小数,提供了一个小数高精度库. 太长懒得写了..总之就是个斜率优化DP,然后有奇怪性质 原题解 基本能猜到定理八,十至今没理解QAQ 用前八个定理写了一份被卡精度的代码.就是DP的时候记决策点,然后最后用决策点算答案即可.但DP过程本身精度损得厉害,所以有些点过不了. // This is an empty program w…
Description 题库链接 给出 \(n\) 个水杯,每个水杯装有不同高度的水 \(h_i\) ,每次可以指定任意多水杯用连通器连通后断开,问不超过 \(k\) 次操作之后 \(1\) 号水杯的最高水量.需要输出 \(q\) 位小数.(提供高精度小数库,单次计算 \(O(q)\) ) \(1\leq n\leq 8000,1\leq k\leq 10^9,1\leq h_i\leq 10^5\) Solution 做这道题的过程中想到的几个显然的结论: 高度小于 \(h_1\) 的水杯不会…