【noi 2.6_3531】判断整除(DP)
题意:给一个正整数数列,可将其相加或相减,问是否有一个结果能被K整除。
解法:似上一题“糖果”的状态定义,f[i][j]表示是否有一个选了前 i 个数的结果模K余j。
P.S. 可以用滚动数组。
1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6
7 const int N=10010,K=110;
8 int a[N],f[2][K];
9
10 int mmax(int x,int y) {return x>y?x:y;}
11 int main()
12 {
13 int n,k;
14 scanf("%d%d",&n,&k);
15 for (int i=1;i<=n;i++)
16 scanf("%d",&a[i]);
17 memset(f,false,sizeof(f));
18 int e=0;
19 f[0][0]=true;
20 for (int i=1;i<=n;i++)
21 {
22 e=1-e;
23 for (int j=0;j<k;j++)
24 {
25 int p=(j+k-a[i]%k)%k,q=(j+k+a[i]%k)%k;
26 //或p=(j-a[i]+5000*k)%k,q同理
27 f[e][j]=f[1-e][p]|f[1-e][q];
28 }
29 }
30 if (f[e][0]) printf("YES");
31 else printf("NO");
32 return 0;
33 }
【noi 2.6_3531】判断整除(DP)的更多相关文章
- 【OpenJudge3531】【背包DP】【膜法交配律】判断整除
判断整除 总时间限制: 1000ms 内存限制: 65536kB [描述] 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和.比如序列:1.2.4共有8种可能的序列:(+1) + (+ ...
- noi 3531 判断整除
3531:判断整除 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和.比如序列:1.2.4共有 ...
- python判断一个数字是整数还是浮点数&判断整除
判断整数还是浮点数 >>> a=123 >>> b=123.123 >>> isinstance(a,int) True >>&g ...
- 7.11 NOI模拟赛 graph 生成函数 dp 多项式
LINK:graph HDU题库里的原题 没做过自闭. 考虑dp 设\(f_{i,j}\)表示前i个点构成j个联通块是树的方案数. 对于一次询问答案即为\(\sum_{j}f_{n,j}j^k\) 考 ...
- C语言:判断整除
if (aa%10==0)来判断 不能用if (aa/10==int(aa/10)) 判断
- hdu3652(含有13且能被13整除的数)数位DP基础
B-number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- 【noi 2.6_747】Divisibility(DP)
这题题意与前面的"判断整除"重复了.具体解释可看我这篇的博文. http://www.cnblogs.com/konjak/p/5936738.html 1 #include< ...
- 2016.4.3 动态规划NOI专练 王老师讲课整理
1.6049:买书 总时间限制: 1000ms 内存限制: 65536kB 描述 小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元. 问小明有多少种买书方案?(每种书可购买 ...
- HDU 3652 B-number(数位dp)
题意:B数的定义是有字符串“13”且能被整数13整除的数,求[1,n]内的B数个数. 题解:这是数位DP,我也就是刚入门,前两天看到了非递归写法,好麻烦.所以我建议写dfs的方法,容易理解,代码还简短 ...
随机推荐
- 用 Flutter 搭建标签+导航框架
前言 在 Flutter 这个分类的第一篇文章总结了下最新的 Mac 搭建 Flutter 开发环境和对声明式UI这个理解的东西,前面也有提过,准备像在 SwiftUI 分类中那样花一些功夫来写一个 ...
- 【JavaWeb】JSON 文件
JSON 文件 什么是 JSON JSON(JavaScript Object Notation),即 JS 对象符号. 是一种轻量级(相对于 XML 来说)的数据交换格式,易于阅读和编写,同时也易于 ...
- 剑指offer 面试题9:用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部.pop() -- 从队列首部移 ...
- MyBatis初级实战之二:增删改查
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- /usr/bin/ld: cannot find -lc
yum install glibc-static [root@test chkrootkit-0.50]# make sensecc -static -o strings-static strings ...
- RWCTF2020 DBaaSadge 复现
数据库题目 2020RWCTF DBaaSadge WP 这是一个很有意思的题目,难到让我绝望,跟着大佬smity的思路跑一下,求大佬抱抱. https://mp.weixin.qq.com/s/jv ...
- 量子化学Gaussian技术实战课 2021年4月9号--12号 远程在线教学
材料模拟分子动力学课程 3月19号--22号 远程在线课 lammps分子动力学课程 3月12号--15号 远程在线课 第一性原理VASP实战课 3月25号-28号 远程在线课 量子化学Gaussia ...
- Python干货:了解元组与列表的使用和区别
元组是 Python 对象的集合,跟列表十分相似.下面进行简单的对比. 列表与元组 1.python中的列表list是变量,而元组tuple是常量. 列表:是使用方括号[],元组:则是使用圆括号() ...
- 03. struts2中Action配置的各项默认值
Action中的各项默认值 Action各项配置 <action name="helloworld" class="com.liuyong666.action.He ...
- 转 2 jmeter常用功能介绍-测试计划、线程组
2 jmeter常用功能介绍-测试计划.线程组 1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...