POJ 1745 Divisibility【DP】
题意:给出n,k,n个数,在这n个数之间任意放置+,-号,称得到的等式的值能够整除k则为可划分的,否则为不可划分的。
自己想的是枚举,将所有得到的等式的和算出来,再判断它是否能够整除k,可是有10000个数-_-
5555---还是看的题解--
话说这样的状态好奇妙啊啊啊---
用dp[i][j]表示等式中有i个数的时候余数为j是否成立,成立的话dp[i][j]的值为1,否则为0
然后就是递推的过程, 如果dp[i-1][j]为1,那么dp[i][(j-a[i])%k]=1,dp[i][(j+a[i])%k]=1; 最后再判断dp[n][0]是否为1
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 7 int dp[10005][105],a[10005],n,k; 8 9 int getmod(int x) 10 { 11 if(x<0) return (-x)%k; 12 return x%k; 13 } 14 15 int main() 16 { 17 int i,j; 18 while(scanf("%d %d",&n,&k)!=EOF) 19 { 20 for(i=1;i<=n;i++) scanf("%d",&a[i]); 21 dp[1][getmod(a[1])]=1; 22 23 for(i=2;i<=n;i++) 24 { 25 for(j=0;j<k;j++) 26 { 27 if(dp[i-1][j]) dp[i][getmod(j-a[i])]=dp[i][getmod(j+a[i])]=1; 28 } 29 } 30 if(dp[n][0]) printf("Divisible\n"); 31 else printf("Not divisible\n"); 32 } 33 return 0; 34 }
View Code
转载于:https://www.cnblogs.com/wuyuewoniu/p/4297520.html
POJ 1745 Divisibility【DP】相关推荐
- [POJ 1742] Coins 【DP】
题目链接:POJ - 1742 题目大意 现有 n 种不同的硬币,每种的面值为 Vi ,数量为 Ni ,问使用这些硬币共能凑出 [1,m] 范围内的多少种面值. 题目分析 使用一种 O(nm) 的 D ...
- POJ - 1088 滑雪 【DP】【DFS】
Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...
- 【DP】【期望】$P1850$换教室
[DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...
- Bailian2760 数字三角形【DP】
2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...
- NUC1131 Triangle【DP】
Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...
- LeetCode:完全平方数【279】【DP】
LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...
- 【DP】序列 题解
[DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...
- POJ 3414 Pots【BFS】+ Python
原题链接: 3414 -- Pots 参考资料:POJ 3414 - Pots | 眈眈探求 POJ 3414 Pots[BFS][图搜] - it610.com 一 特别注意: 1. 每一种操作对应 ...
- poj 2411 Mondriaan#39;s Dream 【dp】
题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...
最新文章
- mysql的repeat()函数
- centos安装gitlab详解-2017
- 阿里云高级技术专家白常明谈《边缘云的技术挑战和应用创新》
- “手机”是个什么机器?
- 微信开发同步微信服务器图片到本地,逻辑处理。
- Docker学习总结(42)——Docker Compose 入门学习
- try-catch语句
- 网页设计中JS与Java的区别
- 深入分析Android Binder 驱动
- 【python利用url下载文件】
- 视频营销自动赚钱秘诀
- Java中通过js简单的调用高拍仪和扫描仪
- Java API 帮助文档中英文版下载
- 北京年内首现二手房连续三日成交破450套
- iMeta | 南京医科大学孔祥清团队创建前瞻性多组学纵向原发高血压队列eHypertension...
- 15-构造函数及原型
- UVM-入门实验2_uvm代码实现
- windows电脑使用iTunes导入视频/音乐(本人使用,仅供参考)
- 歌曲:最初的梦想 原唱:范玮琪
- 如何将免费的WordPress音乐播放器添加到您的网站
热门文章
- Handler(2)
- 最新70佳单页网站设计案例欣赏(上篇)
- dct变换的主要优点有哪些_发泡保温材料包括哪些成分?主要优点是什么?有没有发展前景?...
- 一个最简单的Makefile例子(转)
- springboot entity date_SpringBoot+JWT实战(附源码)
- MATLAB字符串和ASCII码的转换
- UBUNTU下双显示器设置
- 数据增长率怎么算_20年老股民告诉你5个数据可轻松算出股价是否高估
- 多生产者_通知:生产者补贴!打卡时间!定了
- 嵌套的json ajax,通过jquery或javascript通过AJAX读取嵌套的JSON并输出到表中