首页 > TAG信息列表 > Spilled
cf1458 B. Glass Half Spilled
题意: n 个杯子,每个杯子容量为 ai,装有水 bi。可以进行任意次操作,每次从一个杯子往另一个杯子倒 x 的水,但一定会洒出 x/2。另外超过容量的会溢出。 现在对所有的 k=1,2,...,n,求 k 个杯子的最大水量。k 之间独立 \(n\le 100, a_i,b)i\le 100\) 思路: \(f(k,c)\) 表示不进行操作,k 个杯codeforces 1459D. Glass Half Spilled
题面传送门 首先这场比赛是真的爽,33分钟写完了三道题(虽然剩下的一个半点一道没搞出来),排名140多,涨了133rating. 好了回归正题,这题确实挺难的(虽然tourist8分钟切掉了),因为他有两个思维阶段。 我们记选的\(k\)个杯子的集合为\(S\),总容量为\(A_S\),含有的水为\(B_S\)。那么我们能得到最codeforces1458B. Glass Half Spilled
https://codeforces.com/contest/1458/problem/B 经典dp循环边界出问题,A题不会做,B题卡一整场,C题没几个人过也不想看 初步观察有个很显然的想法,假设我们二分答案,首先选出来的k个瓶子总容量需要大于这个答案,然后由于其他的瓶子倒过来有损耗,那么我们肯定是优先选剩余水量多的不损耗Glass Half Spilled
Glass Half Spilled \(dp\) \(f[k][j]表示选k个杯子,总体积为j的条件下装水的最大值\) \(转移方程:f[k][j]=max(f[k][j],f[k-1][j-v[i]]+w[i])\) \(注意初始化,很多方案是不合法的\) \(对于每一个f[k][j],它的答案是0.5*(sumw-f[k][j]]+f[k][j]),\\ 由于加水可能导致溢出,还要于Codeforces Round #691 (Div. 1) B. Glass Half Spilled 背包DP
B. Glass Half Spilled There arecodeforces 1459D. Glass Half Spilled
题面传送门 首先这场比赛是真的爽,33分钟写完了三道题(虽然剩下的一个半点一道没搞出来),排名140多,涨了133rating. 好了回归正题,这题确实挺难的(虽然tourist8分钟切掉了),因为他有两个思维阶段。 我们记选的\(k\)个杯子的集合为\(S\),总容量为\(A_S\),含有的水为\(B_S\)。那么我们能得到