博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 5464(dp)
阅读量:6258 次
发布时间:2019-06-22

本文共 928 字,大约阅读时间需要 3 分钟。

题意:

给你n个数,要求选一些数(可以不选),把它们加起来,使得和恰好是p的倍数(0也是p的倍数),求方案数。

- - 心好痛,又没想到动规

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;#define mod 1000000007int p[1005];int dp[1005][1005];const int inf = 0x3f3f3f3f;int main(){ int T,n,t; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&t); memset(p,0,sizeof(p)); for(int i = 1; i <= n; i++) { scanf("%d",&p[i]); p[i]=p[i]%t; if(p[i] < 0) p[i]=(p[i]+t)%t; } memset(dp,0,sizeof(dp)); dp[1][0] = 1; dp[1][p[1]] += 1; for(int i = 2; i <= n; i++) { for(int j = 0; j < t; j++) { dp[i][j] += dp[i-1][j]; dp[i][j] %= mod; dp[i][(j+p[i]) % t] += dp[i-1][j]; dp[i][(j+p[i]) % t] %= mod; } } printf("%d\n",dp[n][0] % mod); } return 0;}

  

转载于:https://www.cnblogs.com/Przz/p/5409745.html

你可能感兴趣的文章
HTTP协议
查看>>
3.2 Multi-Master Replication
查看>>
vs调试 LINK : fatal error LNK1104 ...exe
查看>>
陶哲轩实分析 习题 13.4.6
查看>>
DP ZOJ 2745 01-K Code
查看>>
【转载】清华梦的粉碎—写给清华大学的退学申请
查看>>
在ASP.NET MVC3 中利用JSONP跨域登录WEB系统
查看>>
执行计划基础 动态采样
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
26.颜色值缩写
查看>>
内置对象Array及Array常见操作
查看>>
[130_存储业务]002_富士通存储系统Eternus_高级拷贝之对等拷贝(Advanced Copy EC)
查看>>
更改SQL数据库的繁体数据为简体
查看>>
(转)android拨打电话崩溃6.0以上实时动态权限申请
查看>>
懒加载的使用
查看>>
SpringMVC报错The request sent by the client was syntactically incorrect ()
查看>>
网络层封装
查看>>
《c程序设计语言》读书笔记-4.13-递归版本reverse函数
查看>>
background-clip&background-origin
查看>>
论坛迁移日记——discuz X2.5 迁移详细教程
查看>>