hihocoder第212周-动态规划
题目链接
import java.util.Scanner;public class Main {
long mod = (long) (1e9 + 7);
int MAXN = 107;
int a[] = new int[MAXN];
int MA = (int) (1e5 + 7);
int MA2 = MA << 1;
int dp[] = new int[MA2];
int nexDp[] = new int[MA2];
int N, S;Main() {Scanner cin = new Scanner(System.in);N = cin.nextInt();S = cin.nextInt();for (int i = 0; i < N; i++) {a[i] = cin.nextInt();}dp[a[0] + MA] = dp[-a[0] + MA] = 1;for (int i = 1; i < N; i++) {for (int j = 0; j < MA2; j++) {nexDp[j] = 0;}for (int j = 0; j < MA2; j++) {if (dp[j] > 0) {nexDp[j + a[i]] += dp[j];nexDp[j - a[i]] += dp[j];nexDp[j + a[i]] %= mod;nexDp[j - a[i]] %= mod;}}int[] temp = dp;dp = nexDp;nexDp = temp;}System.out.println(dp[S + MA]);
}public static void main(String[] args) {new Main();
}
}
转载于:https://www.cnblogs.com/weiyinfu/p/9368797.html
hihocoder第212周-动态规划相关推荐
- hihoCoder 第136周 优化延迟(二分答案+手写堆)
题目1 : 优化延迟 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho编写了一个处理数据包的程序.程序的输入是一个包含N个数据包的序列.每个数据包根据其重要程度不同 ...
- hihocoder 第113周 Fibonacci(动态规划)
题目大意:给定一个数字序列,求该序列的所有子序列中有多少是斐波拉契数列的前缀,即满足"1 1 2 3 ..."的形式. 解题思路:首先注意ai的范围,首先可以肯定斐波拉切数列不会太 ...
- hihocoder第226周:打表找规律
题目列表 问题描述 有一个文本框,可以执行以下操作: 输入A Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 N次操作最多能够造出多少个A来? 输入一个N,输出一个整数,表示最多有多少个A ...
- hihocoder第220周-一道拧巴的题
一.220周 题目链接 问题描述 键盘上有N个数字按键,每个按键只能按一次,每次可以按下多个键,请输出所有可能的按键情况. 输入一个整数N(N在1~8之间),输出全部的按键可能.例如:输入3,输出为 ...
- hihocoder第218周:AC自动机
题目链接 问题描述 给定n个单词,给定一个长字符串s,单词总长度和字符串s的长度都不超过1e5.要求把s中所有的出现单词的位置用*替代. 例如: 样例输入 2 abc cd abcxyzabcd 样例 ...
- hihocoder第196周
此题解法:动态规划,倒骑毛驴. 在使用动态规划的时候,如果正着求难求,可以考虑倒着来. 这道题坑不少,自己代码能力太弱了,写代码的过程中总是容易犯细节错误.虽然大的方向是对的,但是小坑非常致命! 比如 ...
- hihocoder第238周:杨氏矩阵的个数
题目链接 问题描述 给定一个N行M列的矩阵,往里面填入$1-N\times M$个数字,使得这个矩阵每行.每列都满足递增.问:有多少种填法? 问题分析 这个问题很难,如果能够直接想到,那就是天才了. ...
- hihocoder第237周:三等分带权树
题目链接 问题描述 给定一棵树,树中每个结点权值为[-100,100]之间的整数.树中包含结点总数不超过1e5.任选两个非根节点A.B,将这两个结点与其父节点断开,可以得到三棵子树.现要求三棵子树的权 ...
- hihocoder第233周
题目链接 题目描述 给定一个数组a[N],N小于1e5.把数组划分成若干个片段,每个片段的和都不为0,问有多少种划分方法? 方法描述 定义f(i)表示0~i共有多少种划分方式,则$f(j)=\sum_ ...
最新文章
- 从一段代码的汇编看计算机的工作原理
- 精通JavaScript攻击框架:AttackAPI
- 智能助手被指侵犯用户隐私,美三大科技巨头或面临调查;传小米已解散其VR头显Mi VR团队;特斯拉成立反欺诈部门……...
- 自定义PopupWindow 怎么设置PopupWindow的宽度充满全屏宽度
- 代理设置。 安卓工作室配置用http代理。gradle可能需要这些http代理设置去访问互联网。例如下载依赖。 你想要复制ide的代理配置到这个项目的gradle属性文件吗?...
- python第6天作业
- 剑指offer之把二叉树打印成多行
- LeetCode-21.合并两个有序链表(链表+递归)
- C语言快速找答案,C语言单选题找答案
- 3d max插件的基本知识和安装方法
- 【PDF提取内容重命名】咕嘎批量PDF批量提取PDF识别重命名,如何批量读取pdf内容并重命名,根据pdf内容修改文件名称,如何提取pdf标题为文件名,用电子发票为例教你操作方法
- 相似的核心玩法之下,谁能在“自走棋”的路上走得更远?
- html的九宫格构图教学视频,构图的基本技巧之九宫格构图
- 《搜索和推荐中的深度匹配》——1.5 近期进展
- 使用第三方打码平台图鉴识别滑动验证码模拟登录
- Windows系统蓝屏代码分析
- 开源软件 AnimeGANv2:一键生成宫崎骏动漫风格照
- matlab—绘制给定数据的概率密度曲线+实现图像局部放大效果
- 侯捷c++课程学习一
- python:cv2.putText用法