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硬币相关推荐

  1. NOI题库刷题日志 (贪心篇题解)

    这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制:  1000ms  内存限制:  65536kB 描述 在一个平面上,如果有两个点( ...

  2. NOI题库 scratch题解(部分)

    1.3编程基础之算术表达式与顺序执行 01 A+B问题 1.3编程基础之算术表达式与顺序执行 01 A+B问题_dllglvzhenfeng的博客-CSDN博客 1.3编程基础之算术表达式与顺序执行 ...

  3. OpenJudge NOI题库 1.5编程基础之循环控制

    OpenJudge NOI题库 1.5编程基础之循环控制 OpenJudge - OpenJudge - 题目 1.5_01求平均年龄 1.5_01求平均年龄_哔哩哔哩_bilibili 1.5_02 ...

  4. NOI题库 python题解-2022.01.07整理(1.4-1.7)

    python && C++ NOI编程题解1.4 https://blog.csdn.net/yigezzchengxuyuan/article/details/86651658 ht ...

  5. NOI题库 python题解-2022.01.07整理(1.1-1.3)

    python && C++ NOI编程题解1.1 https://blog.csdn.net/yigezzchengxuyuan/article/details/86582640 ht ...

  6. NOI题库 7654 等差数列末项计算

    http://noi.openjudge.cn/math/7654/ /* NOI题库 7654 等差数列末项计算 http://noi.openjudge.cn/math/7654/ */ #inc ...

  7. 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 ...

  8. OpenJudge NOI题库 1.7 编程基础之字符串

    OpenJudge NOI题库 1.7 编程基础之字符串 OpenJudge - OpenJudge - 题目 1.7_01统计数字字符个数 1.7_01统计数字字符个数_哔哩哔哩_bilibili ...

  9. OpenJudge NOI题库 1.1 编程基础之输入输出

    OpenJudge NOI题库 1.1编程基础之输入输出 OpenJudge - OpenJudge - 题目 1.1_01:Hello, World!_2017-03-19(C++语言) 1.1_0 ...

最新文章

  1. Use Excel Pivot Table as a BI tool
  2. jClarity发布Censum 3.0
  3. 南通大学16级软嵌班软件工程课程成绩汇总
  4. 计算机显卡是指什么时候,电脑哪个是显卡
  5. Handler的一个图片轮播程序
  6. JS prototype作用
  7. uniapp添加网站favicon文件
  8. numpy randn 和_人生苦短,自学python——numpy模块
  9. gperf linux 安装_Gperftools安装
  10. 陆奇:欢迎毛圣博加入奇绩,成为奇绩创坛合伙人
  11. js datagrid 移动去重
  12. 树莓派4B设置双网卡静态IP、网卡优先级、查看系统多少位
  13. tomcat配置项目的接种方式
  14. IntelliJ IDEA教程
  15. 机器学习中的范数规则化之L0、L1与L2范数
  16. Macbook无法登陆APP Store解决办法
  17. zipkin+elk微服务日志收集分析系统
  18. 腾讯云神笔低代码平台的申请没通过,只能等公测了
  19. moses 编译_moses工具的配置详解
  20. 浅析2017年医疗类APP开发前景

热门文章

  1. Linux查看IP地址的几种方法
  2. iMac mid 2011 升级内存
  3. 爬虫准备 - 认识HTMLcss
  4. 2023.7.4每日一题
  5. Canoe中的CAPL代码加密
  6. gurobi中callback函数的使用整理
  7. 乐观锁,CAS,ABA问题
  8. DateFormat类常用方法
  9. Horizon Client 配置设置和命令行选项
  10. 【引用】iPhone开发内存管理