博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 5464 Clarke and problem
阅读量:4956 次
发布时间:2019-06-12

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

题意:有n个数,a_0, a_1, ... a_(n-1),从中选取一部分数(可以一个都不选),使得其和为p的倍数,问方案数。

解:这题怎么说呢。。。就差在把背包这俩字甩我脸上了。。。but,昨天还是没有做出来。-_-!

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef unsigned int uint;typedef long long LL;typedef unsigned long long uLL;const int N = 1005;const double PI = acos(-1.0);const double eps = 1e-6;const double INF = 1e9+7;const int MOD = 1000000007;int f[N][N];int a[N];int n, p;int main() { //freopen("data.in", "r", stdin); int T; scanf("%d", &T); while(T--) { scanf("%d%d", &n, &p); memset(f, 0, sizeof(f)); //int off = N; for(int i = 1; i <= n; ++i) { scanf("%d", &a[i]); a[i] = (a[i]%p + p)%p; } f[0][0] = 1; for(int i = 1; i <= n; ++i) { for(int j = 0; j <= p; ++j) { f[i][j] = (f[i][j] + f[i-1][j])%MOD; //if(f[i-1][j + off] != 0) { f[i][(j + a[i])%p] = (f[i][(j + a[i])%p] % MOD + f[i-1][j] % MOD) % MOD; //} } } printf("%d\n", f[n][0] % MOD); } return 0;}

 

转载于:https://www.cnblogs.com/cb-acgirl/p/4822931.html

你可能感兴趣的文章
08号团队-团队任务5:项目总结会
查看>>
mybatis 插入数据 在没有commit时 获取主键id
查看>>
SQL2005 删除空白行null
查看>>
lightoj 1030 概率dp
查看>>
重新注册.NET
查看>>
Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
查看>>
Vagrant入门
查看>>
python and 我爱自然语言处理
查看>>
第3讲:导入表的定位和读取操作
查看>>
echarts-柱状图绘制
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
VS2013试用期结束后如何激活
查看>>
边框圆角Css
查看>>
SQL 能做什么?
查看>>
java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
查看>>
使用Busybox制作根文件系统
查看>>
Ubuntu候选栏乱码
查看>>
基于SSH框架的在线考勤系统开发的质量属性
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>