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背包变形)相关推荐

  1. P1734 最大约数和 01背包变形

    传送门 思路:01背包变形题.将i看成重量,i的因子看成价值即可.背包自然是s. /** * From: * Qingdao Agricultural University * Created by ...

  2. HDU 2546 饭卡 01背包变形

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  3. 2022-9-2何以包邮(01背包变形)(c/c++实测满分)

    总结:         此题是背包问题的变形,物品的价值和重量有所改变,背包的容量限制有所改变,但核心动态规划求法没有改变.只需要在背包问题的解法上根据题意对物品表示,答案输出进行改变即可. 背包算法 ...

  4. HDU 3466 01背包变形

    给出物品数量N和总钱数M 对于N个物品.每一个物品有其花费p[i], 特殊值q[i],价值v[i] q[i] 表示当手中剩余的钱数大于q[i]时,才干够买这个物品 首先对N个物品进行 q-p的排序,表 ...

  5. poj 2063 Investment(01背包变形)

    http://poj.org/gotoproblem?pid=2063 (1)上限 m 一直上升的 n 次01背包问题,比一般的01背包多了一重循环: (2)本题出现了各种错误:1)刚开始,没注意 m ...

  6. hdu 2184 01背包变形

    转自:http://blog.csdn.net/liuqiyao_01/article/details/8753686 题意:这是又是一道01背包的变体,题目要求选出一些牛,使smartness和fu ...

  7. uestc oj 1218 Pick The Sticks (01背包变形)

    题目链接:http://acm.uestc.edu.cn/#/problem/show/1218 给出n根木棒的长度和价值,最多可以装在一个长 l 的容器中,相邻木棒之间不允许重叠,且两边上的木棒,可 ...

  8. #1353 : 满减优惠(01背包变形)

    描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望 ...

  9. UVA 12563 Jin Ge Jin Qu hao 01背包变形

    基本的01背包,更新的时候保持背包里每一个元素的num最大然后time尽量长 CSDN也支持makedown了试一下 12563 Jin Ge Jin Qu hao (If you smiled wh ...

最新文章

  1. CSCNN:新一代京东电商广告排序模型
  2. android团队,Android团队如何进行情感设计
  3. java程序中,数据验证,如何判断输入的文本框中的值是不是int型?
  4. docker镜像、容器以及命令操作
  5. 转:并发与并行的区别
  6. python 用while输出数字金字塔_用Python实现一个Dual Thrust数字货币量化交易策略
  7. 如何使用CppUnit进行单元测试
  8. 为了搞清楚CDN的原理,我头都秃了...
  9. 5、main方法详解
  10. 设置共享文件夹,samba和chmod到底谁的权限大
  11. Elasticsearch--springcloud整合 high-level-client-测试-复杂检索---全文检索引擎ElasticSearch工作笔记025
  12. docker 安装mysql_安装docker并使用docker安装mysql
  13. Java检查异常、非检查异常、运行时异常、非运行时异常的区别
  14. Oracle | 彻底的卸载干净oracle 11g
  15. Java集合面试题看这篇就够了
  16. 详解金盾2016替换机器码的几个关键步骤
  17. Office EXCEL 如何保留两位小数,四舍五入
  18. Linux 程序性能分析与优化
  19. 工程初始化:报错... ...is exceeding the 65535 bytes limit
  20. Python(arcpy) 根据站点经纬度(坐标)批量提取对应格点值

热门文章

  1. 为什么有人说“穷人玩股票一般都会赔”?
  2. 买SUV要不要选四驱,有哪些区别?
  3. 既然现在处理器性能过剩,为什么PC用起来不流畅?
  4. But Wang Xing, who is concerned about long-term
  5. 改进后的新String类
  6. SqlServer行转列
  7. 使用selenium webdriver进行元素定位
  8. apexsql使用方法_使用ApexSQL审核执行SQL Server审核
  9. 八、高级依赖关系配置
  10. JAVA入门[1]--安装JDK