首页 > 其他分享 >[ABC373F] Knapsack with Diminishing Values

[ABC373F] Knapsack with Diminishing Values

时间:2024-09-29 09:11:34浏览次数:7  
标签:ABC373F Diminishing 斜率 Values Knapsack 优化

AtCoder

比较遗憾,E 题用了太多时间了,没做出来。当时看到有平方感觉难道是斜率优化之类的?这下猜对了。
拜谢 WA90。
不过官解好像没用斜率优化?不会。

设 \(f_{i,j}\) 表示前 \(i\) 个物品一共用了 \(j\) 的体积。直接暴力做是三次方的。

当加入一个体积为 \(w\),价值为 \(v\) 的物品时,就像单调队列优化多重背包一样,我们把 \(j\) 按照模 \(w\) 分组,只有组间会转移。然后开一个 vector \(g\),把这些 \(f_{i-1,j}\) 扔进去,即 \(g_k=f_{i-1,j}(j=d+kw)\),同样地设一个 \(h\) 对应新的 \(f_i\),那么就有转移:

\[h_i=\max_{j\le i}g_j+(i-j)v-(i-j)^2 \]

是我们喜欢的斜率优化。

\[j^2+jv-g_j=2ij+iv-h_i \]

把 \(f\) 还原就做完了。时间复杂度 \(\mathcal{O}(nW)\)。

标签:ABC373F,Diminishing,斜率,Values,Knapsack,优化
From: https://www.cnblogs.com/LHLeisus/p/18438838

相关文章

  • Too many / Not enough values in OpenAI Gym Mario Model for Reinforcement Learnin
    题意:在OpenAI Gym的马里奥兄弟(Mario)模型中,对于强化学习来说,存在“值太多”或“值不够”的问题问题背景:ReinforcementlearningusingOpenAIGymhastheabilitytomakeareinforcementmodelforplayingSuperMarioBros.ItrieddoingthisfollowingNicholasRe......
  • [1064] Change values in a DataFrame based on different values
    TochangevaluesinaDataFramebasedondifferentvalues,youcanuseseveralmethodsinPandas.Hereareafewcommonapproaches:UsinglocforConditionalReplacementYoucanusethelocmethodtoreplacevaluesbasedonacondition:importpandasasp......
  • How to create the Gold gold using RGB color values All In One
    HowtocreatetheGoldgoldusingRGBcolorvaluesAllInOne如何使用RGB颜色值创建金色Gold(Golden)ColorColorName: Gold(Golden)HexColorCode:#FFD700RGBColorCode:RGB(255,215,0)CMYKValues*:0.0%,15.7%,100.0%,0.0%ColorFamily(Hue):Yell......
  • ISO 26262中的失效率计算:SN 29500-3 Expected values for discrete semiconductors
    目录概要1基准条件下的失效率2失效率转换2.1失效率预测模型2.2电压应力系数2.2.1电压应力系数计算模型2.2.2电压应力系数计算2.3温度应力系数2.3.1温度应力系数计算模型2.3.2温度应力系数计算2.4漂移灵敏度系数3任务剖面应力系数4早期失效系数概......
  • OpenAI Gym custom environment: Discrete observation space with real values
    题意:OpenAIGym自定义环境:具有实数值的离散观测空间问题背景:Iwouldliketocreatecustomopenaigymenvironmentthathasdiscretestatespace,butwithfloatvalues.Tobemoreprecise,itshouldbearangeofvalueswith0.25step:10.0,10.25,10.5,10......
  • ISO 26262中的失效率计算:SN 29500-4 Expected values for passive components
    目录概要1基准条件下的失效率2失效率转换2.1失效率预测模型2.2电压应力系数2.2.1电压应力系数计算模型2.2.2电压应力系数计算2.3温度应力系数2.3.1温度应力系数计算模型2.3.2温度应力系数计算2.4质量系数3任务剖面应力系数4早期失效系数概要SN29......
  • helm values reference other values
    https://helm.sh/docs/chart_template_guide/yaml_techniques/#yaml-anchorshttps://helm.sh/zh/docs/chart_template_guide/yaml_techniques/#yaml-%E9%94%9A%E7%82%B9 YAMLalsoprovidesahandyfeaturecalled anchors,whichletyoueasilyduplicatecontentacross......
  • 题解:CF687C The Values You Can Make
    CF687CTheValuesYouCanMake题解题目翻译感觉不明不白的(至少我看了几遍没看懂),这里给个较为清晰的题面。题目描述给你\(n\)个硬币,第\(i\)个硬币有一个价值\(c_i\),你需要从中选出一些价值和为\(k\)的硬币组成一个集合,再输出这个集合中硬币可能组成的价值和。算法动......
  • Python - Values returned by and and or operators
    Unlikesomeotherlanguages,inPython,thelogicaloperatorsandandordonotreturnBooleanvaluesTrueorFalse;theyactuallyreturnthelastevaluatedoperand.Wegenerallyusetheseoperatorsinifandwhileconditions,sowedonotgettoknowwha......
  • [Typescript] Restrict available operations on values using value objects
    ValueObjectsareanotherpatterninDomain-drivenDesignthatprovidemorestructurearoundwhatyoucanandcannotdowithatype.InTypeScriptwecreateValueObjectswithclassesthatwilldefinewhatoperationscanbeperformedtothevalueonthec......