LightOJ1125 Divisible Group Sums(DP)
题目问从N个数中取出M个数,有多少种取法使它们的和能被D整除。
dp[i][j][k]表示,前i个数取出j个数模D的余数为k的方案数
我用“我为人人”的方式来转移,就从i到i+1转移,对于第i+1个数有取和不取两种选择,然后确定j和k这两个维度的情况。
另外题目说数字是32位有符号整数,所以是会出现负数的。。。模D之后加D再模D就行了。
#include<cstdio>
#include<cstring>
using namespace std;
long long dp[][][];
int main(){
int t,n,q,a[],d,m;
scanf("%d",&t);
for(int cse=; cse<=t; ++cse){
scanf("%d%d",&n,&q);
for(int i=; i<n; ++i) scanf("%d",a+i);
printf("Case %d:\n",cse);
while(q--){
scanf("%d%d",&d,&m);
memset(dp,,sizeof(dp));
dp[][][(a[]%d+d)%d]=;
dp[][][]=;
for(int i=; i<n-; ++i){
for(int j=; j<=m; ++j){
for(int k=; k<d; ++k){
if(j<m) dp[i+][j+][((k+a[i+])%d+d)%d]+=dp[i][j][k];
dp[i+][j][k]+=dp[i][j][k];
}
}
}
printf("%lld\n",dp[n-][m][]);
}
}
return ;
}
LightOJ1125 Divisible Group Sums(DP)的更多相关文章
- LightOJ1125 Divisible Group Sums
Divisible Group Sums Given a list of N numbers you will be allowed to choose any M of them. So you c ...
- Codeforces 626F Group Projects (DP)
题目链接 8VC Venture Cup 2016 - Elimination Round 题意 把$n$个物品分成若干组,每个组的代价为组内价值的极差,求所有组的代价之和不超过$k$的方案数. ...
- Light oj 1125 - Divisible Group Sums (dp)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1125 题意: 给你n个数,q次询问,每次询问问你取其中m个数是d的整数倍的方案 ...
- Divisible Group Sums
Divisible Group Sums Given a list of N numbers you will be allowed to choose any M of them. So you c ...
- LightOJ 1033 Generating Palindromes(dp)
LightOJ 1033 Generating Palindromes(dp) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid= ...
- lightOJ 1047 Neighbor House (DP)
lightOJ 1047 Neighbor House (DP) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87730# ...
- UVA11125 - Arrange Some Marbles(dp)
UVA11125 - Arrange Some Marbles(dp) option=com_onlinejudge&Itemid=8&category=24&page=sho ...
- 【POJ 3071】 Football(DP)
[POJ 3071] Football(DP) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4350 Accepted ...
- 初探动态规划(DP)
学习qzz的命名,来写一篇关于动态规划(dp)的入门博客. 动态规划应该算是一个入门oier的坑,动态规划的抽象即神奇之处,让很多萌新 萌比. 写这篇博客的目标,就是想要用一些容易理解的方式,讲解入门 ...
随机推荐
- RecContentType有哪些
HTML 页面text/javascript `type="text/javascript"` 是比较老的写法IETF 推荐的是 `type="application ...
- SSH 内网端口转发实战
导读 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人. 如果两个内网之间的linux服务器需要互相登录,或需要互相访问内网某个端口,担忧 ...
- poj1573 模拟
Robot Motion Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11270 Accepted: 5487 Des ...
- 将XML解析成DOM文档
在支持html5的浏览其中,可以使用标准解析器DOMParser对象进行解析html或者xml等字符串 var data = '<div></div>'; var tmp = ...
- 【VirtualBox】VirtualBox的桥接网络模式,为啥网络不稳定?
网桥模式访问外网非常慢,经常卡死,ping时断时续 七搞八搞,反复重启了几次 TMD 就好了,也不知道什么情况,VirtualBox还是不太好使啊..... 网桥模式 设置 如下: 参考资料: ht ...
- Java for LeetCode 058 Length of Last Word
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...
- 彻底禁止QQ更新
彻底禁止QQ自动更新 彻底禁止QQ自动更新 相信大部分朋友用的QQ都不是腾讯提供的官方原版吧,我本人就用的某精简版本,只保留了自己会用到的个别功能,既省内存,启动也超快,界面更是清爽无比. 但是,这种 ...
- Eclipse 中Tomcat 启动 与直接启动Tomcat的区别
这段时间不用Java 了突然发现在用的时候出问题了. 首先现在Eclipse和Tomcat,解压后 如图1所示: 图1: 进入里面的bin文件目录后发现有 如图2所示包含了startup.bat,st ...
- ubuntu 14.04安装mysql server & mysql client
$ sudo apt-get install mysql-server
- Android仿微信界面
效果图 原理介绍 1.先绘制一个颜色(例如:粉红) 2.设置Mode=DST_IN 3.绘制我们这个可爱的小机器人 回答我,显示什么,是不是显示交集,交集是什么?交集是我们的小机器人的非透明区域,也就 ...