有一点乱搞吧......对人对背包的理解有些考验,要想知道去掉某个点的值,可以选择对前缀求一次背包,后缀求一次背包,而且不省掉价钱那一维,

这样每个点就可以由前后组合成了,枚举一下价钱取max即可

直接01的多重背包就可以过

#include<bits/stdc++.h>
using namespace std;
const int maxn=;
int n,m,q,ans,v[maxn],w[maxn],c[maxn];
int f[maxn][maxn],g[maxn][maxn];
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%d%d%d",&v[i],&w[i],&c[i]);
for(int i=;i<=n;i++)
for(int j=;j>=;j--){
f[i][j]=f[i-][j];
for(int k=;k<=c[i];k++)
if(j>=k*v[i])
f[i][j]=max(f[i][j],f[i-][j-k*v[i]]+k*w[i]) ;
else break;
}
for(int i=n;i>=;i--)
for(int j=;j>=;j--){
g[i][j]=g[i+][j];
for(int k=;k<=c[i];k++)
if(j>=k*v[i])
g[i][j]=max(g[i][j],g[i+][j-k*v[i]]+k*w[i]);
else break;
}
scanf("%d",&q);
for(int i=,k;i<=q;i++){
scanf("%d%d",&k,&m);k++;ans=;
for(int j=;j<=m;j++)
ans=max(ans,f[k-][j]+g[k+][m-j]);
printf("%d\n",ans);
}
}

[题解](背包)luogu_P4095 eden的新背包问题的更多相关文章

  1. BZOJ 3163: [Heoi2013]Eden的新背包问题( 背包dp )

    从左到右, 从右到左分别dp一次, 然后就可以回答询问了. ---------------------------------------------------------- #include< ...

  2. luogu P4095 [HEOI2013]Eden 的新背包问题 多重背包 背包的合并

    LINK:Eden 的新背包问题 就是一个多重背包 每次去掉一个物品 询问钱数为w所能买到的最大值. 可以对于每次Q暴力dp 利用单调队列优化多重背包 这样复杂度是Qnm的. 发现过不了n==10的点 ...

  3. P4095 [HEOI2013]Eden 的新背包问题

    P4095 [HEOI2013]Eden 的新背包问题 题解 既然假定第 i 个物品不可以选,那么我们就设置两个数组 dpl[][] 正序选前i个物品,dpr[][] 倒序选前i个物品 ,价格不超过 ...

  4. 【BZOJ】【3163】【HEOI2013】Eden的新背包问题

    多重背包/思路题 多次询问,每次从所有物品中忽略一件,问最大收益…… 这题我用的zyf的一个“暴力”做法,就是先预处理出来g1[i][j]表示1~i号物品花了j块钱的最大价值,g2[i][j]表示i~ ...

  5. BZOJ3163&Codevs1886: [Heoi2013]Eden的新背包问题[分治优化dp]

    3163: [Heoi2013]Eden的新背包问题 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 428  Solved: 277[Submit][ ...

  6. 题解——洛谷P4095 [HEOI2013]Eden 的新背包问题(背包)

    思路很妙的背包 用了一些前缀和的思想 去掉了一个物品,我们可以从前i-1个和后i+1个推出答案 奇妙的思路 #include <cstdio> #include <algorithm ...

  7. 3163: [Heoi2013]Eden的新背包问题

    Description "寄没有地址的信,这样的情绪有种距离,你放着谁的歌曲,是怎样的心心静,能不能说给我听."失忆的Eden总想努力地回忆起过去,然而总是只能清晰地记得那种思念的 ...

  8. DSY3163*Eden的新背包问题

    Description "寄没有地址的信,这样的情绪有种距离,你放着谁的歌曲,是怎样的心心静,能不能说给我听."失忆的Eden总想努力地回忆起过去,然而总是只能清晰地记得那种思念的 ...

  9. bzoj 3163: [Heoi2013]Eden的新背包问题

    Description "寄没有地址的信,这样的情绪有种距离,你放着谁的歌曲,是怎样的心心静,能不能说给我听."失忆的Eden总想努力地回忆起过去,然而总是只能清晰地记得那种思念的 ...

随机推荐

  1. ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字

    在运行以下语句的时候,报错如下: ALTER TABLE PN_POST ADD CONSTRAINT POST_CLOB_FK FOREIGN KEY (POST_BODY_ID) REFERENC ...

  2. Java 递归算法,遍历文件夹下的所有文件。

    用递归算法遍历文件下的所有子文件夹和子文件 文件夹遍历方法 public void getFileList(String strPath){ File f=new File(strPath); try ...

  3. 专网IP和公网IP的区别是什么

    专网ip是自己网内用,公网的话就全球有效 最大区别是公网IP世界只有一个,私网IP可以重复,但是在一个局域网内不能重复 访问互联网是需要IP地址的,IP地址又分为公网IP和私网IP,访问互联网需要公网 ...

  4. js正则表达式,密码长度要大于6位,由数字和字母组成

    var pwd = $("#pwd").val(); var reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$/; if(!reg ...

  5. ansible操作模块相关

    1. 查看模块可用参数命令 ansible-doc -s module_name

  6. userData IE

    蛮讨厌IE的,因为他常常需要特别照顾,就像DOM Storage(sessionStorage和localStorage)只能支持IE8+,对于以下的只能使用userData. 原理:通过在docum ...

  7. BZOJ-4488:最大公约数(GCD)

    给定一个长度为 N 的正整数序列Ai对于其任意一个连续的子序列{Al,Al+1...Ar},我们定义其权值W(L,R )为其长度与序列中所有元素的最大公约数的乘积,即W(L,R) = (R-L+1) ...

  8. [SDOI 2015] 星际战争

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3993 [算法] 首先发现问题具有单调性 , 不妨二分答案mid 考虑网络流 : 将源 ...

  9. 登录加密 md5

    实现账户和密码登录的加密 https://github.com/AndreasPizsa/md5-jkmyers

  10. Autoware docker 环境安装

    环境: ubuntu 16.04    GPU:GeForce 1070   nvidia 驱动型号:nvidia_driver_390.67 安装参考网址: https://github.com/C ...