题目链接

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周-动态规划相关推荐

  1. hihoCoder 第136周 优化延迟(二分答案+手写堆)

    题目1 : 优化延迟 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho编写了一个处理数据包的程序.程序的输入是一个包含N个数据包的序列.每个数据包根据其重要程度不同 ...

  2. hihocoder 第113周 Fibonacci(动态规划)

    题目大意:给定一个数字序列,求该序列的所有子序列中有多少是斐波拉契数列的前缀,即满足"1 1 2 3 ..."的形式. 解题思路:首先注意ai的范围,首先可以肯定斐波拉切数列不会太 ...

  3. hihocoder第226周:打表找规律

    题目列表 问题描述 有一个文本框,可以执行以下操作: 输入A Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 N次操作最多能够造出多少个A来? 输入一个N,输出一个整数,表示最多有多少个A ...

  4. hihocoder第220周-一道拧巴的题

    一.220周 题目链接 问题描述 键盘上有N个数字按键,每个按键只能按一次,每次可以按下多个键,请输出所有可能的按键情况. 输入一个整数N(N在1~8之间),输出全部的按键可能.例如:输入3,输出为 ...

  5. hihocoder第218周:AC自动机

    题目链接 问题描述 给定n个单词,给定一个长字符串s,单词总长度和字符串s的长度都不超过1e5.要求把s中所有的出现单词的位置用*替代. 例如: 样例输入 2 abc cd abcxyzabcd 样例 ...

  6. hihocoder第196周

    此题解法:动态规划,倒骑毛驴. 在使用动态规划的时候,如果正着求难求,可以考虑倒着来. 这道题坑不少,自己代码能力太弱了,写代码的过程中总是容易犯细节错误.虽然大的方向是对的,但是小坑非常致命! 比如 ...

  7. hihocoder第238周:杨氏矩阵的个数

    题目链接 问题描述 给定一个N行M列的矩阵,往里面填入$1-N\times M$个数字,使得这个矩阵每行.每列都满足递增.问:有多少种填法? 问题分析 这个问题很难,如果能够直接想到,那就是天才了. ...

  8. hihocoder第237周:三等分带权树

    题目链接 问题描述 给定一棵树,树中每个结点权值为[-100,100]之间的整数.树中包含结点总数不超过1e5.任选两个非根节点A.B,将这两个结点与其父节点断开,可以得到三棵子树.现要求三棵子树的权 ...

  9. hihocoder第233周

    题目链接 题目描述 给定一个数组a[N],N小于1e5.把数组划分成若干个片段,每个片段的和都不为0,问有多少种划分方法? 方法描述 定义f(i)表示0~i共有多少种划分方式,则$f(j)=\sum_ ...

最新文章

  1. 从一段代码的汇编看计算机的工作原理
  2. 精通JavaScript攻击框架:AttackAPI
  3. 智能助手被指侵犯用户隐私,美三大科技巨头或面临调查;传小米已解散其VR头显Mi VR团队;特斯拉成立反欺诈部门……...
  4. 自定义PopupWindow 怎么设置PopupWindow的宽度充满全屏宽度
  5. 代理设置。 安卓工作室配置用http代理。gradle可能需要这些http代理设置去访问互联网。例如下载依赖。 你想要复制ide的代理配置到这个项目的gradle属性文件吗?...
  6. python第6天作业
  7. 剑指offer之把二叉树打印成多行
  8. LeetCode-21.合并两个有序链表(链表+递归)
  9. C语言快速找答案,C语言单选题找答案
  10. 3d max插件的基本知识和安装方法
  11. 【PDF提取内容重命名】咕嘎批量PDF批量提取PDF识别重命名,如何批量读取pdf内容并重命名,根据pdf内容修改文件名称,如何提取pdf标题为文件名,用电子发票为例教你操作方法
  12. 相似的核心玩法之下,谁能在“自走棋”的路上走得更远?
  13. html的九宫格构图教学视频,构图的基本技巧之九宫格构图
  14. 《搜索和推荐中的深度匹配》——1.5 近期进展
  15. 使用第三方打码平台图鉴识别滑动验证码模拟登录
  16. Windows系统蓝屏代码分析
  17. 开源软件 AnimeGANv2:一键生成宫崎骏动漫风格照
  18. matlab—绘制给定数据的概率密度曲线+实现图像局部放大效果
  19. 侯捷c++课程学习一
  20. python:cv2.putText用法

热门文章

  1. 数据结构——数组、单向链表、双向链表
  2. 基于vue的nuxt框架cnode社区服务端渲染
  3. swipe.js文档及用法
  4. final finally finalize 区别
  5. zz详细讲解Quartz.NET
  6. java一次性查询几十万,几百万数据解决办法
  7. 【Java数据结构】顺序存储的二叉树
  8. SELinux系列(八)——SELinux默认安全上下文的查询和修改(semanage命令)
  9. 你的旧船票能否搭上这艘巨轮?——解读近5年大数据产业发展规划
  10. make it a chorus笔记