P2320 [HNOI2006]鬼谷子的钱袋(想法)

news/2024/11/24 4:33:59/

原题: https://www.luogu.org/problem/P2320

题意:

给出一个m,你讲起拆分成最少份,使得可以组成1到m之间的任意数,大于1数只能有一份。

解析:

以39为例,按照二进制分可以分成 1 , 2 , 4 , 8 , 8 , 16 1,2,4,8,8,16 1,2,4,8,8,16,但是不能出现两个8,怎么改呢?

我们把两个8变成 7 7 7 9 9 9,也就是 1 , 2 , 4 , 7 , 9 , 16 1,2,4,7,9,16 1,2,4,7,9,16

分析对于原来分法的使用:

  • 假设没有用8,自然无所谓
  • 假设使用了一个8,那么我可以用7和1组成
  • 假设使用了一个8和一个1,我可以使用9来代替
  • 假设使用了两个8,那么直接用7和9代替

综上所述,此分法的可行性等同于二进制分法,而二进制分法一定是正确的。

代码:

#include<bits/stdc++.h>
using namespace std;int a[5009];int main(){vector<int>v;int n;scanf("%d",&n);int p=1;while(n){v.push_back(p);n-=p;p=min(2*p,n);}sort(v.begin(),v.end());printf("%d\n",v.size());for(int i=0;i<v.size();i++){if(v[i]>1&&i!=v.size()-1&&v[i+1]==v[i]){printf("%d %d ",v[i]-1,v[i]+1);i++;}elseprintf("%d ",v[i]);}printf("\n");
}

http://www.ppmy.cn/news/139340.html

相关文章

zzulioj2320 古钱币(编程脱衣舞,层层优化,绝了!!!)

【题目描述】 小强同学的爸爸是收藏爱好者&#xff0c;家里收藏了好多古钱币&#xff0c;有唐、宋、元、明、清年代的钱币&#xff0c;分别用A、B、C、D、E来表示&#xff0c;每个钱币的价格是5、4、3、2、1&#xff08;万元&#xff09;&#xff0c;小强考上了大学&#xff0c…

洛谷 P2320 [HNOI2006]鬼谷子的钱袋 思维+二进制

https://www.luogu.org/problem/P2320 题目描述 鬼谷子非常聪明&#xff0c;正因为这样&#xff0c;他非常繁忙&#xff0c;经常有各诸侯车的特派员前来向他咨询时政。 有一天&#xff0c;他在咸阳游历的时候&#xff0c;朋友告诉他在咸阳最大的拍卖行&#xff08;聚宝商行&a…

哈理工OJ P2320:OX

题目链接&#xff1a;OX 题意 &#xff1a;给出一个3X3的黑白棋棋盘&#xff0c;棋盘上有若干黑白子&#xff0c;再给出下一个下的人&#xff0c;问下一个下的人能否赢 分析&#xff1a;考虑到只有39种状态&#xff0c;故用一个数保存目前棋盘的状态&#xff0c;记为value&…

Citrix Receiver 错误编号2320

Citrix Receiver 错误编号2320 安装完citrix receiver后点击快捷方式启动应用&#xff0c;出现以上报错解决方法&#xff1a;1 打开注册表 搜索 allowhotkey2 删除allowhotkey键值 注意&#xff0c;删除前请备份该键值&#xff01; 转载于:https://blog.51cto.com/141686/21210…

【实战】烂泥:关于佳能IR2320N网络打印机的安装域使用

第一步&#xff1a;首先要为该机器设置一个IP地址&#xff0c;具体方法是&#xff1a;附加管理→系统管理→网络管理→IPv4→IP地址&#xff0c;输入相应的IP地址&#xff0c;子网掩码&#xff0c;默认网关。如果你要查看该机的MAC地址的话&#xff0c;那你也可以在此查看呢。选…

AHT20温湿度传感器STM32-I2C驱动,替代DHT11/DHT12/AM2320/SHT20/SHT30,IIC代码兼容AHT10/15-MEMS温湿度传感器

AHT20是国内奥松生成的I2C接口的MEMS温湿度传感器&#xff0c;ADC位数为20Bit&#xff0c;具有体积小、精度高、成本低等优点。相较于AHT10&#xff0c;最显著的变化是体积由 5*4*1.6mm&#xff0c;缩小到 3*3*1.0mm。相对湿度精度 RH2%&#xff0c;温度精度 T0.3C。相对湿度测…

ZOJ 2320 Cracking' RSA

其次布尔线性方程组&#xff0c;高斯消元。这道题目的关键部分是看的神牛watashi的思路。另附上watashi的思路 我把他的java模板翻译成了C的了。。。存起来以后当模板用。。。a[i][j]表示第i个数含有质数p[j]的个数&#xff0c;奇数个的话就是true&#xff0c;偶数个就是false。…

STM32 AM2320 温湿度万年历 微信小程序显示及控制

功能描述: 使用STM32F103R8T6&#xff0c;红外遥控器&#xff0c;数码管&#xff0c;串口&#xff0c;预留ADC&#xff08;4~20mA输入、0~10V输入&#xff09;、485、以太网、WiFi、SD卡、USB_OTG等功能。单总线的方式采集温湿度&#xff08;因整个系统时序要求&#xff0c;所…