codechef ANUCBC(背包)
题目链接: 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(背包)相关推荐
- CodeChef Cards, bags and coins [DP 泛型背包]
https://www.codechef.com/problems/ANUCBC n个数字,选出其一个子集. 求有多少子集满足其中数字之和是m的倍数.n $\le$ 100000,m $\le$ 10 ...
- HDU 1248 寒冰王座(全然背包:入门题)
HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...
- 单调队列多重背包时间复杂度O(vn)
版权声明:本文为博主原创文章,未经博主允许不得转载. 多重背包问题: 有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件.怎样装才能使背包内的物品总价值最大? 网 ...
- 浅说——九讲背包之01背包
所谓九讲,也就是: 0/1背包 0/1背包降维 完全背包 多重背包(二进制优化) 混合背包 二维费用背包 分组背包 有依赖的背包 背包的方案总数\背包的具体方案路径 0/1背包: [问题描述](经典) ...
- codevs——2894 Txx考试(背包)
时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Txx是一个成绩很差的人,考试便成了他的噩梦.于是他常在考试时睡觉以打发时间.今 ...
- Codeforces Round #104 (Div. 2) E DP(01背包模型) +组和+除法取模求逆元
题意: 规定只包含4或7的数为幸运数字,给定n个数的序列,求他的子序列,使得该子序列的长度为k并且满足该子序列中不存在相同的两个幸运数字.问一共寻在多少种可能.(只要该数的下标不同则认为是不同的序列) ...
- 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) ...
- 0-1背包使用一维dp数组时为何v要从大到小枚举
样例数据 5 8 3 5 1 2 2 4 5 2 1 3 如若不然,也就是让v按照从小到大的顺序枚举,就会出现 注意高亮的那一行,第一件物品的重量只有3,怎么会得到6呢? 代码如下 #include& ...
- poj 2063完全背包
题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润.问如何选择能获得最大利润. 思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序 ...
最新文章
- 区块链中的智能合约是什么?
- AngularJs学习
- FFmpeg从入门到精通:SEI那些事
- 简单深入两个虚拟内存API VirtualAlloc及VritualCopy
- react学习(25)---注意接口引入位置
- 开机出现“CPU fan error
- RHEL7升级自带Git
- SQL从入门到入魔之初入门
- encode_chunked=req.has_header(‘Transfer-encoding‘))问题解决方法
- go读取email正文_Go语言库系列之email
- 隐马尔可夫模型三个问题的求解(一)
- 什么是内存碎片?如何避免?
- 通达信筹码循环指标源码 显示吸筹拉升出货的过程
- c#字符串全角转半角
- iterator的用法 | reverse_iterator的封装实现
- 为什么我推荐用户故事地图?
- k8s UAT改环境
- Android Studio一直Indexing
- 从 0 到 1 学习 elasticsearch ,这一篇就够了!(建议收藏)
- 打开阿尔卡特511大猫路由功能
热门文章
- 【转】statfs获得硬盘使用情况 模拟linux命令 df
- DataGridView和ListT绑定不显示问题
- WPF中的容器控件——Grid
- 24个为Web开发人员准备的CSS3实用教程
- 友元函数、类的非静态成员函数、静态成员函数的区别
- 坐班族如何摆脱粗壮大腿
- 如何创建一个最小的区块链
- 您需要了解有关Angular中的ng-template,ng-content,ng-container和* ngTemplateOutlet的所有信息...
- hitchhiker部署_Hitchhiker的React Router v4指南:无限远的递归路径!
- Python time库的使用总结