P1490 买蛋糕

题目描述

野猫过生日,大家当然会送礼物了(咳咳,没送礼物的同志注意了哈!!),由于不知道送什么好,又考虑到实用性等其他问题,大家决定合伙给野猫买一个生日蛋糕。大家不知道最后要买的蛋糕的准确价格,而只会给蛋糕估价,即要买一个不超过多少钱的蛋糕。众OIer借此发挥:能否用最少的钱币数去凑成估价范围内的所有价值,使得不管蛋糕价值多少,都不用找钱……

现在问题由此引出:对于一个给定的n,能否用最少的不等的正整数去组成n以内(包括n)的所有的正整数呢?如果能,最少需要多少个正整数,用最少个数又有多少不同的组成方法呢?

输入输出格式

输入格式:

只有一行包含一个整数n(1<=n<=1000)。

输出格式:

一行两个数,第一个数是最少需要多少个数,第二个数是用最少个数的组成方案个数。两个答案用空格分隔。


  • 首先明确第一个问题:这个最小的正整数是多少?

也许你可以打表看出来,也许不能,但别急,我们有看似靠谱一点的思维方法

看看样例:6

可行方案:

①\(1\) \(2\) \(3\);

②\(1\) \(2\) \(4\).

我们发现,对于方案①,组成3的时候有两种方法(1+2或3),而方案②只有一种。换而言之,3的利用是有浪费的。而不浪费的方案②还可以组成7。

那么,我们咋让她(每个数)都用好自己呢

很简单,百合就行了

联想一下二进制位下的数

\(1\),\(10\),\(11\),\(100\),\(101\),\(110\),\(111\),\(1000\)...

可不是嘛,这个\(2^i\)的每个数利用率可高了

由此可知,二进制的位数即为这个最小的正整数


  • 想明白第一问以后,应该给出了一个相对的第二问的思维导向。(当然不绝对哈)

当每个数的利用率最大的时候,她们能够凑成的最大整数即为她们的和,这点是毋庸置疑的。

那么,在利用率相对不是那么大的时候呢?

我们注意到,此时已经有了一个限制条件:已有的最小正整数

手动模拟一下,确实是仍然成立的。(其实是不太会证啦)

这时候,我们就把参与量已使用的各数之和凑成的最大整数搞到一起去了

考虑\(dp[k]\)代表凑成时\(k\)的方案数。看看这时候还要压哪些信息进去。

显然,剩下的必要信息还有第\(i\)个数和第\(i\)个数的值\(j\)

\(dp[i][j][k]\)表示已选\(i\)个数,第\(i\)个数为\(j\),前\(i\)个数和为\(k\)(凑成的最大整数位\(k\))的时候的方案数

转移方程 \(dp[i+1][l][k+l]+=dp[i][j][k];\)

其中\(l\)为枚举的下一个填充数

核心代码:

    dp[1][1][1]=1;for(int i=1;i<ans;i++)for(int j=i;j<=(1<<(i-1));j++)for(int k=i*(i-1)/2;k<(1<<i);k++)for(int l=j+1;l<=k+1;l++)if(l+k<=n)dp[i+1][l][k+l]+=dp[i][j][k];elsedp[i+1][l][n]+=dp[i][j][k];

注意\(j,k,l\)的上下界,都是被已经得到的第一问给约束住了

当然,也没必要跑这么死,比如\(k\)从\(i\)开始反而会快一些。

至于\(if\)和\(else\)的判断,是为了方便求最后结果的一点点小贪心了。


2018.5.2

转载于:https://www.cnblogs.com/butterflydew/p/8999781.html

洛谷 P1490 买蛋糕 解题报告相关推荐

  1. 洛谷 P1490 买蛋糕

    P1490 买蛋糕 题目描述 野猫过生日,大家当然会送礼物了(咳咳,没送礼物的同志注意了哈!!),由于不知道送什么好,又考虑到实用性等其他问题,大家决定合伙给野猫买一个生日蛋糕.大家不知道最后要买的蛋 ...

  2. 洛谷1056 排座椅 解题报告

    洛谷1056 排座椅 本题地址: http://www.luogu.org/problem/show?pid=1056 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头 ...

  3. 洛谷1067 多项式输出 解题报告

    洛谷1067 多项式输出 本题地址: http://www.luogu.org/problem/show?pid=1067 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i ...

  4. 洛谷 P4475 巧克力王国 解题报告

    P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 \(x\) 和 \( ...

  5. 洛谷 P4706 取石子 解题报告

    P4706 取石子 题目描述 现在 Yopilla 和 yww 要开始玩游戏! 他们在一条直线上标记了 \(n\) 个点,从左往右依次标号为 \(1, 2, ..., n\) .然后在每个点上放置一些 ...

  6. 洛谷 P1309 瑞士轮 解题报告

    P1309 瑞士轮 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低 ...

  7. 洛谷 P2184 贪婪大陆 解题报告

    P2184 贪婪大陆 题目背景 面对蚂蚁们的疯狂进攻,小\(FF\)的\(Tower\) \(defence\)宣告失败--人类被蚂蚁们逼到了\(Greed\) \(Island\)上的一个海湾.现在 ...

  8. 洛谷 P1136 迎接仪式 解题报告

    P1136 迎接仪式 题目描述 LHX教主要来X市指导OI学习工作了.为了迎接教主,在一条道路旁,一群Orz教主er穿着文化衫站在道路两旁迎接教主,每件文化衫上都印着大字.一旁的Orzer依次摆出&q ...

  9. 洛谷 P2596 [ZJOI2006]书架 解题报告

    P2596 [ZJOI2006]书架 题目描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书, ...

  10. 洛谷 P3975 [TJOI2015]弦论 解题报告

    P3975 [TJOI2015]弦论 题目描述 为了提高智商,ZJY开始学习弦论.这一天,她在<String theory>中看到了这样一道问题:对于一个给定的长度为\(n\)的字符串,求 ...

最新文章

  1. python sendkeys用法_使用python中的sendkeys上载文件将打开一个文件选择器弹出窗口...
  2. 全球最难翻译的十大单词
  3. page cache 与free
  4. java 对象访问权限_Java面向对象编程之访问控制权限
  5. cornerstone 库删除 后 重新添加 ,引用找不到,
  6. 1215 数组的宽度
  7. 解决SqlServer添加维护计划时出现“代理XP组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用……”
  8. 固态硬盘开卡软件_SATAFIRM S11 MSATA固态硬盘刷固件
  9. VS2015 卸载与安装相关问题(包丢失以及没有WIN控制台)
  10. c语言物联网服务器,物联网卡服务器(物联网应用层服务器端集)
  11. imdisk虚拟光驱安装linux,imdisk虚拟磁盘驱动器如何加载iso文件?大白菜ImDisk加载iso文件教程...
  12. python 流程图编辑器_Dia Diagram Editor下载-流程图绘制软件Dia Diagram Editor下载v0.97.2 中文免费版-西西软件下载...
  13. 怎么将图片转换成word文档?图片转word其实很简单
  14. apple id两步验证服务器,【安全可靠】Apple ID 两步验证支持中国地区 - 爱应用
  15. 红贝应用架构配置式应用开发示例
  16. 器件选型电源篇-DC/DC器件选型
  17. 教你炒股票26:市场风险如何回避
  18. Q4营收同比增长34.7%,Saleforces股价为何总停滞不前?
  19. 未来教育计算机二级2020年9月有几套题,未来教育】2021年9月全国计算机二级office题库国二计算机等级考试上机考试真题计算机二级msoffice2021年考试备考三月教材九2016...
  20. cad打开卡死_求助,cad 一打开就卡死,完全没办法运行,怎么处理

热门文章

  1. 用HTML加css做成的新年特效,使用css3和html给网站添加上春节灯笼特效的源码分享...
  2. VS2010中水晶报表插件下载安装方法 详细出处参考:http://www.jb51.net/softjc/88860.html
  3. 51单片机之系统指令
  4. OpenGL表面剔除
  5. 语音指挥、公会论坛、DKP系统详解(FD:玛格曼达)
  6. 利用Plex和Syncthing搭建媒体中心
  7. MM-DD-RRRR / MM-DD-YYYY 的区别【Blog 搬家】
  8. (五)SGE 命令 (1)qsub
  9. 修改加入SGE集群某队列里各个执行机的cpu数(slots)
  10. oracle期中考试题库,2017年Oracle认证考试题库