暴力:暴力枚举少了哪个,下面套一个01背包

f[i][j]表示到了i物品,用了j容量的背包时的方案数,f[i][j]=f[i-1][j]+f[i-1][j-w[i]]O(n^3)

优化:不考虑消失的,先跑一个01背包,

定义g[i][j]表示i消失时,容量为j的方案数,g[i][j]=f[n][j]-不合法的

逆着过来就是g[i][j]-=g[i][j-w[i]

 #include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int maxn=;
#define R register
int w[maxn],n,m;
int f[maxn][maxn],g[maxn][maxn];
int main()
{
scanf("%d%d",&n,&m);
for(R int i=;i<=n;++i)
scanf("%d",&w[i]);
f[][]=;
for(R int i=;i<=n;++i)
for(R int j=;j<=m;++j){
f[i][j]=f[i-][j]%;
if(j-w[i]>=)(f[i][j]+=f[i-][j-w[i]])%=;
}
for(int i=;i<=n;i++)
for(int j=;j<=m;j++){
g[i][j]=f[n][j]%;
if(j-w[i]>=)(g[i][j]-=g[i][j-w[i]])%=;
}//第i个物品不选时,背包容量为j,若选i,则由g[i][j-w[i]](表示 不选i,背包有j-w[i])转移显然要减去
for(int i=;i<=n;i++){
for(int j=;j<=m;j++)
printf("%d",(g[i][j]+)%);
puts("");
}
}

[洛谷P4141] 消失之物「背包DP」的更多相关文章

  1. 洛谷P4141消失之物(背包经典题)——Chemist

    题目地址:https://www.luogu.org/problemnew/show/P4141 分析:这题当然可以直接暴力枚举去掉哪一个物品,然后每次暴力跑一遍背包,时间复杂度为O(m*n^2),显 ...

  2. 洛谷P4141 消失之物 题解 背包问题扩展

    题目链接:https://www.luogu.com.cn/problem/P4141 题目大意: 有 \(n\) 件物品,求第 \(i\) 件物品不能选的时候(\(i\) 从 \(1\) 到 \(n ...

  3. 洛谷P4141 消失之物——背包

    题目:https://www.luogu.org/problemnew/show/P4141 竟然是容斥:不选 i 物品只需减去选了 i 物品的方案: 范围原来是2*10^3而不是2*103啊... ...

  4. 洛谷P4141消失之物

    题目描述 ftiasch 有 N 个物品, 体积分别是 W1, W2, …, WN. 由于她的疏忽, 第 i 个物品丢失了. “要使用剩下的 N – 1 物品装满容积为 x 的背包,有几种方法呢?” ...

  5. luogu p4141 消失之物(背包dp+容斥原理)

    题目传送门 昨天晚上学长讲了这题,说是什么线段树分治,然后觉得不可做,但那还不是正解,然后感觉好像好难的样子. 由于什么鬼畜的分治不会好打,然后想了一下$O(nm)$的做法,想了好长时间觉得这题好像很 ...

  6. [bzoj2287]消失之物 题解(背包dp)

    2287: [POJ Challenge]消失之物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1138  Solved: 654[Submit][ ...

  7. 洛谷P1273 有线电视网 树上分组背包DP

    P1273 有线电视网 )逼着自己写DP 题意:在一棵树上选出最多的叶子节点,使得叶子节点的值 减去 各个叶子节点到根节点的消耗 >= 0: 思路: 树上分组背包DP,设dp[u][k] 表示 ...

  8. P4141 消失之物(背包)

    传送门 太珂怕了……为什么还有大佬用FFT和分治的…… 首先如果没有不取的限制的话就是一个裸的背包 然后我们考虑一下,正常的转移的话代码是下面这个样子的 ;i<=n;++i) for(int j ...

  9. 【洛谷P1417】烹调方案 贪心+背包dp

    题目大意:一共有 n 件食材,每件食材有三个属性,ai,bi和ci,如果在t时刻完成第i样食材则得到ai-t*bi的美味指数,用第i件食材做饭要花去ci的时间.众所周知,gw的厨艺不怎么样,所以他需要 ...

随机推荐

  1. Online开发初体验——Jeecg-Boot 在线配置图表

    Online开发——初体验(在线配置图表) 01 通过JSON数据,快速配置图形报表 02 通过SQL数据,快速配置图形报表 03 图表模板配置,实现不同数据源图表合并展示 04 图表布局,支持单排. ...

  2. Spring Cloud Config-Client 无法获取 Config-Server 在 github 上的配置文件的属性值,竟然是因为

    Spring Cloud Config-Client 无法获取 Config-Server 在 github 上的配置文件的属性值,竟然是因为!!! 2018年07月23日 16:33:25 一颗很菜 ...

  3. 如何妥善处理WebBrowser对Javascript的错误问题,阻止JS弹出框,提高用户体验

    由于项目需求,最近转战客户端,开始搞浏览器开发.众所周知,现在在微软平台上开发浏览器,最常用的方法就是扩展Webbrowser,但是首先要清楚的是,WebBrowser控件仅仅是对WebBrowser ...

  4. 从一个prismWpfMVVM的例子中学到的

    整个程序如下,从博客园一个作者看到的例子,但是对这个例子做了点修改.我觉得这个更符合MVVM模式.这个用到了prism框架,在项目中要引用Microsoft.Practices.Prism.dll 按 ...

  5. Leetcode953. Verifying an Alien Dictionary验证外星语词典

    某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在 ...

  6. [转]WPF焦点概述

    WPF 中,有两个与焦点有关的主要概念:键盘焦点和逻辑焦点. 键盘焦点指接收键盘输入的元素,而逻辑焦点指焦点范围中具有焦点的元素. 本概述将详细介绍这些概念. 理解这些概念之间的区别对于创建具有可以获 ...

  7. 阿里云数据库再获学术顶会认可,一文全览VLDB最新亮点

    一年一度的数据库领域顶级会议VLDB 2019于当地时间8月26日-8月30日在洛杉矶圆满落幕.在本届大会上,阿里云数据库产品团队浓墨登场,不仅有多篇论文入选Research Track和Indust ...

  8. pycharm每次新建项目都要重新安装一些第三方库的解决办法(转载防删)

    目前有三个解决办法,也是亲测有用的: 第一个方法:因为之前有通过pycharm的project interpreter里的+号添加过一些库,但添加的库只是指定的项目用的,如果想要用,就必须用之前的项目 ...

  9. JS创建和存储 cookie的一些方法

    在js中cookie的操作与存储及清除cookie都与时间有关,我们只要把cookie过期时间进行有效的设置我们就可以控制它的存储了,下面我来给大家总结一下js中cookie的一些使用技巧 创建和存储 ...

  10. linux学习(二)-----Linux 的目录结构、远程登录、vi和vim

    linux目录结构 基本介绍 linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此 目录下再创建其他的目录. 目录结构具体介绍 Linux 目录总结 1.lin ...