codeforce Gym 101102A Coins (01背包变形)
01背包变形,注意dp过程的时候就需要取膜,否则会出错。
代码如下:
#include<iostream> #include<cstdio> #include<cstring> using namespace std; #define MAXW 15005 #define N 155 #define LL long long #define MOD 1000000007 int w1[N],w2[N]; LL dp1[MAXW],dp2[MAXW]; int main() { // freopen("A.in.cpp","r",stdin);int t,n,m,k,W,s,e;int sum1,sum2;LL ans;cin>>t;while(t--){cin>>n>>m>>k>>W;sum1 = sum2 = 0;for(int i = 0; i < n; i++){cin>>w1[i];sum1 += w1[i];}for(int i = 0; i < m; i++){cin>>w2[i];sum2 += w2[i];}memset(dp1,0,sizeof(dp1));memset(dp2,0,sizeof(dp2));dp1[0] = dp2[0] = 1;for(int i = 0; i < n; i++){for(int j = sum1; j >= w1[i]; j--){dp1[j] = (dp1[j]%MOD + dp1[j-w1[i]]%MOD)%MOD;///没有mod就wa }}for(int i = 0; i < m; i++){for(int j = sum2; j >= w2[i]; j--){dp2[j] = (dp2[j]%MOD + dp2[j-w2[i]]%MOD)%MOD;}}if((W-k)%2 != 0) s = (W-k)/2+1;else s = (W-k)/2;e = W-s;ans = 0;for(int i = s; i <= e; i++){ans = (((dp1[i]%MOD)*(dp2[W-i]%MOD))%MOD + ans%MOD) % MOD;}cout<<ans<<endl;}return 0; }
转载于:https://www.cnblogs.com/jifahu/p/5934185.html
codeforce Gym 101102A Coins (01背包变形)相关推荐
- P1734 最大约数和 01背包变形
传送门 思路:01背包变形题.将i看成重量,i的因子看成价值即可.背包自然是s. /** * From: * Qingdao Agricultural University * Created by ...
- HDU 2546 饭卡 01背包变形
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- 2022-9-2何以包邮(01背包变形)(c/c++实测满分)
总结: 此题是背包问题的变形,物品的价值和重量有所改变,背包的容量限制有所改变,但核心动态规划求法没有改变.只需要在背包问题的解法上根据题意对物品表示,答案输出进行改变即可. 背包算法 ...
- HDU 3466 01背包变形
给出物品数量N和总钱数M 对于N个物品.每一个物品有其花费p[i], 特殊值q[i],价值v[i] q[i] 表示当手中剩余的钱数大于q[i]时,才干够买这个物品 首先对N个物品进行 q-p的排序,表 ...
- poj 2063 Investment(01背包变形)
http://poj.org/gotoproblem?pid=2063 (1)上限 m 一直上升的 n 次01背包问题,比一般的01背包多了一重循环: (2)本题出现了各种错误:1)刚开始,没注意 m ...
- hdu 2184 01背包变形
转自:http://blog.csdn.net/liuqiyao_01/article/details/8753686 题意:这是又是一道01背包的变体,题目要求选出一些牛,使smartness和fu ...
- uestc oj 1218 Pick The Sticks (01背包变形)
题目链接:http://acm.uestc.edu.cn/#/problem/show/1218 给出n根木棒的长度和价值,最多可以装在一个长 l 的容器中,相邻木棒之间不允许重叠,且两边上的木棒,可 ...
- #1353 : 满减优惠(01背包变形)
描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望 ...
- UVA 12563 Jin Ge Jin Qu hao 01背包变形
基本的01背包,更新的时候保持背包里每一个元素的num最大然后time尽量长 CSDN也支持makedown了试一下 12563 Jin Ge Jin Qu hao (If you smiled wh ...
最新文章
- CSCNN:新一代京东电商广告排序模型
- android团队,Android团队如何进行情感设计
- java程序中,数据验证,如何判断输入的文本框中的值是不是int型?
- docker镜像、容器以及命令操作
- 转:并发与并行的区别
- python 用while输出数字金字塔_用Python实现一个Dual Thrust数字货币量化交易策略
- 如何使用CppUnit进行单元测试
- 为了搞清楚CDN的原理,我头都秃了...
- 5、main方法详解
- 设置共享文件夹,samba和chmod到底谁的权限大
- Elasticsearch--springcloud整合 high-level-client-测试-复杂检索---全文检索引擎ElasticSearch工作笔记025
- docker 安装mysql_安装docker并使用docker安装mysql
- Java检查异常、非检查异常、运行时异常、非运行时异常的区别
- Oracle | 彻底的卸载干净oracle 11g
- Java集合面试题看这篇就够了
- 详解金盾2016替换机器码的几个关键步骤
- Office EXCEL 如何保留两位小数,四舍五入
- Linux 程序性能分析与优化
- 工程初始化:报错... ...is exceeding the 65535 bytes limit
- Python(arcpy) 根据站点经纬度(坐标)批量提取对应格点值