• 2024-09-29[ABC373F] Knapsack with Diminishing Values
    AtCoder比较遗憾,E题用了太多时间了,没做出来。当时看到有平方感觉难道是斜率优化之类的?这下猜对了。拜谢WA90。不过官解好像没用斜率优化?不会。设\(f_{i,j}\)表示前\(i\)个物品一共用了\(j\)的体积。直接暴力做是三次方的。当加入一个体积为\(w\),价值为\(v\)的物品
  • 2023-12-24Knapsack 2
    这个题目的体积很大,但是价值却很小,最多是1e5,我们可以转变背包体积概念,把价值当作体积,然后体积当作DP值。dp[i]表示的是达到i价值所需的最小的体积#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=1e5+10;constintM=105;intdp[N];//
  • 2023-11-20Solving 0/1 knapsack problem with dynamic programming (英语课汇报)
    Solving0/1knapsackproblemwithdynamicprogrammingIntroduction0/1knapsackproblemsAlongtimeago,anexplorerwenttoanislandwherethereweretreasures,buthisknapsackcouldonlyholdamaximumweightof\(W\).Eachtreasurehaditscorresp
  • 2023-10-16Gym101064L The Knapsack problem
    CF传送门发现物品的体积很小,尝试从此处入手。设\(K\)为最大的物品体积。把背包体积\(m\)分成差不超过\(K\)的两部分,然后合并。这样需要求出\(f(\frac{m}{2}-K\sim\frac{m}{2}+K)\)。递归地,可以发现需要求出\(f(\frac{m}{2^k}-K\sim\frac{m}{2^k}+K)\)。最
  • 2023-10-16ABC159F Knapsack for All Segments
    原题翻译\(O(n^3)\)的朴素\(dp\)是simple的考虑定义一个子序列是”好的子序列”当且仅当\(a_l\)和\(a_r\)都在子序列中,容易发现他对答案的贡献是包含他的区间,即\(l\times(n-r+1)\)先说我自己的做法:设\(dp_{i,j}\)表示强制以\(i\)结尾,子序列和为\(j\)的
  • 2023-06-14unbounded knapsack problem
    DescriptionUnboundedKnapsackProblemThereare$N$kindsofitemsandaknapsackwiththecapacityof$V$,eachitemhasunlimitedpiecesavailable.Thevolumeofthe$i$-thitemis$v_i$,andvalueis$w_i$.Pleasesolvewhichitemscanbeputintothe
  • 2023-03-19动态规划例子 -- 背包问题 knapsack
    C++:使用动态规划算法的函数intknapsack(intW,intwt[],intval[],intn){intdp[n+1][W+1];//报错for(inti=0;i<=n;i++){for
  • 2023-02-21[AtCoder] F - Knapsack for All Subsets
    ProblemStatement dp[i][j]:thenumberofsubsetsofA[0,i]whosesumisj.dp[0][0]=1,thereisonly1wayofnotpickinganythingfromanemptyarrayt