题目链接: https://www.codechef.com/problems/ANUCBC

按模数进行背包

取模不要直接取,分开写,不然会T

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<cmath>
using namespace std;
typedef long long ll;const int maxn = 100010;
const int mod = 1e9+9;int T,n,m,q;
int a[maxn],f[2][110];ll read(){ ll s=0,f=1; char ch=getchar(); while(ch<'0' || ch>'9'){ if(ch=='-') f=-1; ch=getchar(); } while(ch>='0' && ch<='9'){ s=s*10+ch-'0'; ch=getchar(); } return s*f;}int main(){T=read();while(T--){n=read(),q=read();for(int i=1;i<=n;i++) a[i]=read();while(q--){m=read();memset(f,0,sizeof(f));f[0][0]=1;int k=1;for(int i=1;i<=n;++i){int v=a[i]%m;v=(v+m)%m;for(int j=0;j<m;++j){int tmp=j-v;if(tmp<0) tmp=tmp+m;f[k][j]=(f[!k][j]+f[!k][tmp])%mod;}k=!k;}printf("%d\n",f[!k][0]);}}return 0;
}
/*
2
5 1
1 2 -1 4 5
9
5 2
1 2 3 4 5
5
15
*/

转载于:https://www.cnblogs.com/tuchen/p/10435626.html

codechef ANUCBC(背包)相关推荐

  1. CodeChef Cards, bags and coins [DP 泛型背包]

    https://www.codechef.com/problems/ANUCBC n个数字,选出其一个子集. 求有多少子集满足其中数字之和是m的倍数.n $\le$ 100000,m $\le$ 10 ...

  2. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  3. 单调队列多重背包时间复杂度O(vn)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 多重背包问题: 有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件.怎样装才能使背包内的物品总价值最大? 网 ...

  4. 浅说——九讲背包之01背包

    所谓九讲,也就是: 0/1背包 0/1背包降维 完全背包 多重背包(二进制优化) 混合背包 二维费用背包 分组背包 有依赖的背包 背包的方案总数\背包的具体方案路径 0/1背包: [问题描述](经典) ...

  5. codevs——2894 Txx考试(背包)

    时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Txx是一个成绩很差的人,考试便成了他的噩梦.于是他常在考试时睡觉以打发时间.今 ...

  6. Codeforces Round #104 (Div. 2) E DP(01背包模型) +组和+除法取模求逆元

    题意: 规定只包含4或7的数为幸运数字,给定n个数的序列,求他的子序列,使得该子序列的长度为k并且满足该子序列中不存在相同的两个幸运数字.问一共寻在多少种可能.(只要该数的下标不同则认为是不同的序列) ...

  7. HDU-1203 I NEED A OFFER!-0、1背包及空间优化

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. 0-1背包使用一维dp数组时为何v要从大到小枚举

    样例数据 5 8 3 5 1 2 2 4 5 2 1 3 如若不然,也就是让v按照从小到大的顺序枚举,就会出现 注意高亮的那一行,第一件物品的重量只有3,怎么会得到6呢? 代码如下 #include& ...

  9. poj 2063完全背包

    题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润.问如何选择能获得最大利润. 思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序 ...

最新文章

  1. 区块链中的智能合约是什么?
  2. AngularJs学习
  3. FFmpeg从入门到精通:SEI那些事
  4. 简单深入两个虚拟内存API VirtualAlloc及VritualCopy
  5. react学习(25)---注意接口引入位置
  6. 开机出现“CPU fan error
  7. RHEL7升级自带Git
  8. SQL从入门到入魔之初入门
  9. encode_chunked=req.has_header(‘Transfer-encoding‘))问题解决方法
  10. go读取email正文_Go语言库系列之email
  11. 隐马尔可夫模型三个问题的求解(一)
  12. 什么是内存碎片?如何避免?
  13. 通达信筹码循环指标源码 显示吸筹拉升出货的过程
  14. c#字符串全角转半角
  15. iterator的用法 | reverse_iterator的封装实现
  16. 为什么我推荐用户故事地图?
  17. k8s UAT改环境
  18. Android Studio一直Indexing
  19. 从 0 到 1 学习 elasticsearch ,这一篇就够了!(建议收藏)
  20. 打开阿尔卡特511大猫路由功能

热门文章

  1. 【转】statfs获得硬盘使用情况 模拟linux命令 df
  2. DataGridView和ListT绑定不显示问题
  3. WPF中的容器控件——Grid
  4. 24个为Web开发人员准备的CSS3实用教程
  5. 友元函数、类的非静态成员函数、静态成员函数的区别
  6. 坐班族如何摆脱粗壮大腿
  7. 如何创建一个最小的区块链
  8. 您需要了解有关Angular中的ng-template,ng-content,ng-container和* ngTemplateOutlet的所有信息...
  9. hitchhiker部署_Hitchhiker的React Router v4指南:无限远的递归路径!
  10. Python time库的使用总结