hdu 5616 Jam's balance(dp 正反01背包)
来自官方题解:
AC代码:
1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<cmath> 6 #include<math.h> 7 #include<algorithm> 8 #include<queue> 9 #include<set> 10 #include<bitset> 11 #include<map> 12 #include<vector> 13 #include<stdlib.h> 14 using namespace std; 15 #define ll long long 16 #define eps 1e-10 17 #define MOD 1000000007 18 #define N 26 19 #define M 2006 20 #define inf 1e12 21 int n,a[N]; 22 int dp[M]; 23 int main() 24 { 25 int t; 26 scanf("%d",&t); 27 while(t--){ 28 memset(dp,0,sizeof(dp)); 29 scanf("%d",&n); 30 int sum=0; 31 for(int i=0;i<n;i++){ 32 scanf("%d",&a[i]); 33 sum+=a[i]; 34 } 35 dp[0]=1; 36 for(int i=0;i<n;i++){ 37 for(int j=sum;j>=a[i];j--){ 38 dp[j]|=dp[j-a[i]]; 39 } 40 } 41 42 for(int i=0;i<n;i++){ 43 for(int j=0;j+a[i]<=sum;j++){ 44 dp[j]|=dp[j+a[i]]; 45 } 46 } 47 48 int m; 49 scanf("%d",&m); 50 while(m--){ 51 int weight; 52 scanf("%d",&weight); 53 if(dp[weight]){ 54 printf("YES\n"); 55 }else{ 56 printf("NO\n"); 57 } 58 } 59 60 } 61 return 0; 62 }
View Code
hdu 5616 Jam's balance(dp 正反01背包)相关推荐
- HDU 5616 Jam's balance(01背包)
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=5616 题目: Jam's balance Time Limit: 2000/1000 MS (Java ...
- hdu 5616 Jam's balance(简单dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5616 解题思路: 动态规划思想:dp[i][j]表示前i个数通过加减法是否可以等于j,如果为1,则表示 ...
- HDU 2955 Robberies(概率DP,01背包)题解
题意:给出规定的最高被抓概率m,银行数量n,然后给出每个银行被抓概率和钱,问你不超过m最多能拿多少钱 思路:一道好像能直接01背包的题,但是有些不同.按照以往的逻辑,dp[i]都是代表i代价能拿的最高 ...
- hdu 5616 Jam's balance 正反背包+转换
http://acm.hdu.edu.cn/showproblem.php?pid=5616 思路 题目中蕴含着两种需要计算的重量 1. 从所有的砝码中挑出任意种 2.(转换的思想)在天平的两端都挑出 ...
- 【HDU - 2546】饭卡 (dp,0-1背包,贪心思想)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...
- 【POJ - 3211】Washing Clothes (dp,0-1背包中点问题)
题干: Dearboy was so busy recently that now he has piles of clothes to wash. Luckily, he has a beautif ...
- 【 POJ - 3628 】Bookshelf 2(dfs 或 dp,0-1背包)
题干: Farmer John recently bought another bookshelf for the cow library, but the shelf is getting fill ...
- 【nyoj-456】 邮票分你一半 (dp,0-1背包的中点问题)
题干: 邮票分你一半 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份 ...
- 【蓝桥杯官网试题 - 算法提高 】求最大值 (dp,0-1背包)
题干: 问题描述 给n个有序整数对ai bi,你需要选择一些整数对 使得所有你选定的数的ai+bi的和最大.并且要求你选定的数对的ai之和非负,bi之和非负. 输入格式 输入的第一行为n,数对的个数 ...
最新文章
- ::operator new、sgi stl alloc、dlmalloc测试结果
- AAAI 2021 顶会论文开源,OCR方向最火开源项目已超1万 star!
- Spring IOC 容器源码分析系列文章导读
- Oracle 多行记录合并/连接/聚合字符串的几种方法
- java 人脸检测_Java+OpenCV实现人脸检测并自动拍照
- 选择排序--Java
- 迅雷BT下载电影99.9%不动原地循环解决方案
- 梯度消失与梯度爆炸原因剖析
- Linux: kill
- 将Nginx添加到系统服务(使其可使用service命令控制)
- ThinkPad键盘拆解与清理(附图详解)
- 图文详解如何从win8/8.1中文版(核心版)升级到win8/8.1专业版
- 连接mysql超时_数据库连接超时的原因及其解决方法
- Acer宏基笔记本电脑捕食者Predator PH317-55原装出厂Windows10系统恢复原厂OEM系统
- 关于版权声明的写法(转)
- 仿qq省市区三级联动js
- mysql 数字取模_Mycat之数据库分片(取模分片)-yellowcong
- Docker实践7:容器与主机拷贝数据
- vue-cli3学习第一节之构建一个vue-cli3项目空壳
- 概率论与数理统计考试重点复习路线
热门文章
- jsp里加java代码,利用静态内部类为您的代码添加辅助功能-JSP教程,Java技巧及代码...
- oracle udev 多路径,Suse 11下多路径及udev配置
- PHP未来码支付V1.3网站源码开源版
- PHP在线加密系统-陌屿云PLUS开源版V8.01
- 最近很火的夏日便捷小空调源码(小程序版)
- Discuz x1.0 修改游客浏览图片、附件权限
- Genymotion - 强大好用高性能的 Android 模拟器 (在电脑流畅运行APK安卓软件游戏的利器)...
- jquery响应式内容滑动插件bxSlider
- Google adwords新手推广常见错误
- 贪心——FatMouse' Trade(hdu1003)