题意:给出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】相关推荐

  1. [POJ 1742] Coins 【DP】

    题目链接:POJ - 1742 题目大意 现有 n 种不同的硬币,每种的面值为 Vi ,数量为 Ni ,问使用这些硬币共能凑出 [1,m] 范围内的多少种面值. 题目分析 使用一种 O(nm) 的 D ...

  2. POJ - 1088 滑雪 【DP】【DFS】

    Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...

  3. 【DP】【期望】$P1850$换教室

    [DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...

  4. Bailian2760 数字三角形【DP】

    2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...

  5. NUC1131 Triangle【DP】

    Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...

  6. LeetCode:完全平方数【279】【DP】

    LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...

  7. 【DP】序列 题解

    [DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...

  8. POJ 3414 Pots【BFS】+ Python

    原题链接: 3414 -- Pots 参考资料:POJ 3414 - Pots | 眈眈探求 POJ 3414 Pots[BFS][图搜] - it610.com 一 特别注意: 1. 每一种操作对应 ...

  9. poj 2411 Mondriaan#39;s Dream 【dp】

    题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...

最新文章

  1. mysql的repeat()函数
  2. centos安装gitlab详解-2017
  3. 阿里云高级技术专家白常明谈《边缘云的技术挑战和应用创新》
  4. “手机”是个什么机器?
  5. 微信开发同步微信服务器图片到本地,逻辑处理。
  6. Docker学习总结(42)——Docker Compose 入门学习
  7. try-catch语句
  8. 网页设计中JS与Java的区别
  9. 深入分析Android Binder 驱动
  10. 【python利用url下载文件】
  11. 视频营销自动赚钱秘诀
  12. Java中通过js简单的调用高拍仪和扫描仪
  13. Java API 帮助文档中英文版下载
  14. 北京年内首现二手房连续三日成交破450套
  15. iMeta | 南京医科大学孔祥清团队创建前瞻性多组学纵向原发高血压队列eHypertension...
  16. 15-构造函数及原型
  17. UVM-入门实验2_uvm代码实现
  18. windows电脑使用iTunes导入视频/音乐(本人使用,仅供参考)
  19. 歌曲:最初的梦想 原唱:范玮琪
  20. 如何将免费的WordPress音乐播放器添加到您的网站

热门文章

  1. Handler(2)
  2. 最新70佳单页网站设计案例欣赏(上篇)
  3. dct变换的主要优点有哪些_发泡保温材料包括哪些成分?主要优点是什么?有没有发展前景?...
  4. 一个最简单的Makefile例子(转)
  5. springboot entity date_SpringBoot+JWT实战(附源码)
  6. MATLAB字符串和ASCII码的转换
  7. UBUNTU下双显示器设置
  8. 数据增长率怎么算_20年老股民告诉你5个数据可轻松算出股价是否高估
  9. 多生产者_通知:生产者补贴!打卡时间!定了
  10. 嵌套的json ajax,通过jquery或javascript通过AJAX读取嵌套的JSON并输出到表中