题意:e-coin有两个价值x,y,现在给你一个价值n,给你几种e-coin,问你能否用最小的e-coin数得到所求的价值n*n=(x1+x2+...xn)^2+(y1+y2+...yn)^2。

思路:
物品个数没有限制,则就要想到完全背包。但是此时如何背包就要退而求解。
dp[i][j] 表示能选到x的总和为i,y的总和为j时,最少的物品选择数。
此时还有个隐性的物品背包属性,那就是个数:把物品的价值当作是背包容量,个数当作是价值。求能达到要求且价值最小的情况。

初始化状态:dp[0][0] = 0。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int INF = 0x3f3f3f3f;
const int N = 500;
int x[N],y[N];
int dp[N][N];
int m,s;
int main() {int T;scanf("%d",&T);while(T--) {scanf("%d%d",&m,&s);for(int i = 0; i < m; i++) {scanf("%d%d",&x[i],&y[i]);}memset(dp,INF,sizeof(dp));dp[0][0] = 0;for(int i = 0; i < m; i++) {for(int sx = x[i]; sx <= s; sx++) {for(int sy = y[i]; sy <= s; sy++) {if(dp[sx-x[i]][sy-y[i]] != INF) {dp[sx][sy] = min(dp[sx][sy],dp[sx-x[i]][sy-y[i]]+1);}}}}int ans = INF;for(int i = 0; i <= s; i++) {for(int j = 0; j <= s; j++) {if(i*i + j*j == s*s && dp[i][j] != INF) {ans = min(ans,dp[i][j]);}}}if(ans == INF) {printf("not possible\n");}else {printf("%d\n",ans);}}return 0;
}

UVA 10306 e-Coins(二维完全背包)相关推荐

  1. UVA 10306 e-Coins(二维完全背包)

    题意: 有n种物品,每种物品有两种价值x和y,并且每种物品的个数不限,求(x1 + x2 + -)^2 + (y1 + y2 + -) ^2 == S ^ 2 思路: 因为每种物品任意个,所以是二维完 ...

  2. 背包模型dp2之二维费用背包

    二维费用背包 状态表示:f[i][j][k]所有只从前i个物体中选,并且总体积不超过j,总重量不超过k的选法状态表示:f[i][j][k]所有只从前i个物体中选,并且总体积不超过j,总重量不超过k的选 ...

  3. HDU 2159 FATE【二维完全背包】

    题目链接:https://vjudge.net/problem/HDU-2159 FATE                                                       ...

  4. 【洛谷 - P1507 】NASA的食物计划(二维费用背包,dp)

    题干: 题目背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时, ...

  5. UVA10306 - e-Coins(二维完全背包)

    题意:有n个物品,每个物品有两种价值x, y,每个物品的个数不限,求出(x1 + x2 + ...)^2 + (y1 + y2 + ...) ^2 == S ^ 2 思路:二维完全背包,因为物品个数不 ...

  6. 一本通 1271:【例9.15】潜水员(二维费用背包)

    [题目描述] 潜水员为了潜水要使用特殊的装备.他有一个带2种气体的气缸:一个为氧气,一个为氮气.让潜水员下潜的深度需要各种的数量的氧和氮.潜水员有一定数量的气缸.每个气缸都有重量和气体容量.潜水员为了 ...

  7. 【python】一篇讲透背包问题(01背包 完全背包 多重背包 二维费用背包)

    面对背包问题,有一个很重要的方程式:状态转移方程式 所以每一种背包问题我都会给出状态转移方程式 #01背包 什么是01背包型问题? 先给大家感受一下01背包型问题: 给定n种物品和一背包.物品i的重量 ...

  8. AcWing 1020. 潜水员(二维费用背包)

    一.问题 二.思路 这道题其实很容易看出是一个二维费用背包的变形,如果我们将氧气看作体积,将氮气看作价值的话,这道题就变成了从 i i i个物品里面选,体积至少为 m m m,价值至少为 n n n的 ...

  9. 一和零(二维01背包)

    给你一个二进制字符串数组 strs 和两个整数 m 和 n . 请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 . 如果 x 的所有元素也是 y 的元素,集 ...

最新文章

  1. eclipse如何设置去除全部断点的快捷键
  2. UML 对象模型图阅读指南 (转)
  3. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...
  4. Angular之filter学习
  5. Java PushbackReader mark()方法与示例
  6. 有了 Git 这个操作,我再也不怕代码混乱了!
  7. 使IE6支持PNG透明图片的JS插件
  8. 【笔试/面试】排列组合与概率计算(三)
  9. HDU1847 博弈论 水题
  10. 第5课 混合编程和芯片手册阅读
  11. C#中各种字符类型的转化
  12. webpack5+vue3搭建h5项目模板-(二)-eslint代码规范化
  13. 简单综合案例的统计学方法(总结试验性定量数据分析)
  14. 如何在笔记本电脑上搭建双系统(windows与linux)
  15. halcon获取图像中心点_Halcon学习之六:获取Image图像中Region区域的特征参数
  16. 不谋一时不足以谋一域_“不谋万世者,不足谋一时。不谋全局者,不足谋一隅”出自哪里?是什么意思?...
  17. FPGA基本开发设计流程
  18. ASO优化|第一期:想吃鸡?靠的就是这份详情页优化攻略
  19. 为什么谷歌会从零开始构建一个全新的操作系统?
  20. 本机微信开发环境搭建

热门文章

  1. 十三个提高远程办公效率的工具
  2. Sentieon软件应用之浅层测序分析
  3. 我司Spark迁移Hive数据到MongoDB生产案例代码
  4. 学大伟业:2019年物理竞赛学习方法
  5. 小学生python游戏开发pygame5--title地图调用
  6. 4 HQL操作之 -- DDL命令
  7. 哪吒GT:200万以内最好的纯电跑车,售价17.88万元起
  8. 【linux】利用ssh、sshpass和rsync命令,实现免密同步文件,指定非22端口
  9. ffmpeg 命令的使用
  10. 狗狗最近不爱吃饭了,还好有办法应对