【DP】NOI题库 6049买书 4976硬币
1.点击前去买书
2.点去前往火星
T1:6045 买书
很水的背包问题
真是01背包….把要买的书价格想成背包空间就行了
代码如下:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>const int maxn = 10001;using namespace std;int n;
int kd[4]={10,20,50,100};
int dp[maxn];void rd(int &x)
{scanf("%d",&x);
}int main()
{rd(n);dp[0] = 1;for(int i = 0;i <= 4;i++)for(int j = kd[i]; j <= n;j++) {dp[j] += dp[j - kd[i]];}printf("%d\n",dp[n]);return 0;
}
T2:4976 硬币
改了下题面:
交易员B♂b有一天来到了被遗忘之地“新日暮里”,作为交易员B♂b有收集py的习惯(职业病没办法)。于是他将新日暮里上所有大小的py都收集起来了(当然森之妖精与赤酱除外,因为就算最强大的交易员也无法将森之妖精打败,而赤酱可是新日暮里的守护神啊,就算交易员交易技巧再强也只是人类(DIO除外)怎么能与神匹敌),py一共有n种,每种只有一个(当然):大小分别为p1,p2… pn, 共计 n种,py的大小是可以叠加的,即如果有 p1 = 1,p2 = 2,p3 = 3,则有p3 = p1 + p2。当B♂b完成在新日暮里最后一天的交易,他在更衣室看到了一块自己特别喜欢的SOAP,想拿来送给自己的朋友暗之大统领,但这块SOAP受到赤酱的封印,只有奉上X大小的py才能换得。B♂b想尽量少用些py所以B♂b很想知道为了解除封印他的哪些py是必须被供奉的,即B♂b必须放弃收集好的py种类。封印可不提供”找零”,只接受大小恰好为X的py。
咳咳进入正题
这个题就是加了一点点小特技的T1,同样是简单的背包问题,只是最后依次判断下能否没有某种py就可以了
代码如下
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>const int maxn = 10010;using namespace std;int n,x,tot;
int a[maxn >> 2];
int darkpower[maxn >> 2];
int dp[maxn];inline int cnbb(int x,int v)
{if(x < 0) return 0;else return dp[x] - cnbb(x-v,v);
}inline void rd(int &t)
{scanf("%d",&t);
}void init()
{memset(dp,0,sizeof(dp));memset(darkpower,0,sizeof(darkpower));memset(a,0,sizeof(a));dp[0] = 1;
}int main()
{rd(n);rd(x);for(int i = 1;i <= n;i++) rd(a[i]);for(int i = 1;i <= n;i++)for(int j = x;j >= a[i];j--) dp[j] += dp[j - a[i]];for(int i = 1;i <= n;i++)if(!(dp[x] - cnbb(x - a[i],a[i]))){darkpower[++tot] = a[i];}printf("%d\n",tot);for(int i = 1;i <= tot;i++) printf("%d ",darkpower[i]);return 0;
}
THE END
By Peacefuldoge
http://blog.csdn.net/loi_peacefuldog
【DP】NOI题库 6049买书 4976硬币相关推荐
- NOI题库刷题日志 (贪心篇题解)
这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个平面上,如果有两个点( ...
- NOI题库 scratch题解(部分)
1.3编程基础之算术表达式与顺序执行 01 A+B问题 1.3编程基础之算术表达式与顺序执行 01 A+B问题_dllglvzhenfeng的博客-CSDN博客 1.3编程基础之算术表达式与顺序执行 ...
- OpenJudge NOI题库 1.5编程基础之循环控制
OpenJudge NOI题库 1.5编程基础之循环控制 OpenJudge - OpenJudge - 题目 1.5_01求平均年龄 1.5_01求平均年龄_哔哩哔哩_bilibili 1.5_02 ...
- NOI题库 python题解-2022.01.07整理(1.4-1.7)
python && C++ NOI编程题解1.4 https://blog.csdn.net/yigezzchengxuyuan/article/details/86651658 ht ...
- NOI题库 python题解-2022.01.07整理(1.1-1.3)
python && C++ NOI编程题解1.1 https://blog.csdn.net/yigezzchengxuyuan/article/details/86582640 ht ...
- NOI题库 7654 等差数列末项计算
http://noi.openjudge.cn/math/7654/ /* NOI题库 7654 等差数列末项计算 http://noi.openjudge.cn/math/7654/ */ #inc ...
- python刷题 NOI题库 python题解 洛谷、牛客网、AcWing 刷题等
NOI题库 python题解-2022.01.07整理(1.1-1.3) NOI题库 python题解-2022.01.07整理(1.1-1.3)_dllglvzhenfeng的博客-CSDN博客 N ...
- OpenJudge NOI题库 1.7 编程基础之字符串
OpenJudge NOI题库 1.7 编程基础之字符串 OpenJudge - OpenJudge - 题目 1.7_01统计数字字符个数 1.7_01统计数字字符个数_哔哩哔哩_bilibili ...
- OpenJudge NOI题库 1.1 编程基础之输入输出
OpenJudge NOI题库 1.1编程基础之输入输出 OpenJudge - OpenJudge - 题目 1.1_01:Hello, World!_2017-03-19(C++语言) 1.1_0 ...
最新文章
- Use Excel Pivot Table as a BI tool
- jClarity发布Censum 3.0
- 南通大学16级软嵌班软件工程课程成绩汇总
- 计算机显卡是指什么时候,电脑哪个是显卡
- Handler的一个图片轮播程序
- JS prototype作用
- uniapp添加网站favicon文件
- numpy randn 和_人生苦短,自学python——numpy模块
- gperf linux 安装_Gperftools安装
- 陆奇:欢迎毛圣博加入奇绩,成为奇绩创坛合伙人
- js datagrid 移动去重
- 树莓派4B设置双网卡静态IP、网卡优先级、查看系统多少位
- tomcat配置项目的接种方式
- IntelliJ IDEA教程
- 机器学习中的范数规则化之L0、L1与L2范数
- Macbook无法登陆APP Store解决办法
- zipkin+elk微服务日志收集分析系统
- 腾讯云神笔低代码平台的申请没通过,只能等公测了
- moses 编译_moses工具的配置详解
- 浅析2017年医疗类APP开发前景