2016广东工业大学新生杯决赛 A-pigofzhou的巧克力棒
2024-10-13 06:59:04
题目:GDUTOJ | pigofzhou的巧克力棒 (gdutcode.cn)
之前看了大佬博客的题解,一直没懂(我太菜了),后来听了朋友@77的讲解,终于懂了。
和拆分出2的n次方不一样,这是一种自下而上的方法。
从巧克力被全部折完开始,假设n==7,此时有7段长度为1的巧克力棒,我们试着向上还原,
于是可以把7段长度为1的巧克力棒两两合并为3段长度为2(还有1因为合并不了被舍弃了),这个过程就是7/2==3;
我们可以继续两两合并,把3段长度为2合并为1段长度为4,这个过程就是3/2==1;
所以答案就是3+1==4;
代码:
#include <iostream>
using namespace std;
typedef long long ll;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll t;
cin >> t;
while (t--)
{
ll n, ans = 0;
cin >> n;
while (n)
{
ans += n / 2;
n /= 2;
}
cout << ans << endl;
}
return 0;
}
最新文章
- struts2配置文件中Action中的各属性的含义
- C++基础练习题(一): 查找最短单词
- LSM Tree解析
- js+css:43种常见的浏览器兼容性问题大汇总
- Flash AIR 保存与读取
- js bom中浏览器兼容问题判断代码
- C语言实现界面(不通过MFC\避免遗忘)
- vS2010 列表控件 加入右键菜单
- C#-面向对象的多态思想 ---ShinePans
- Java之反射--练习
- python中math模块常用的方法整理
- thunderbird 日历
- 使用 nodeJs 开发微信公众号(获取access_token)
- linux 网络虚拟化: network namespace 简介
- 关于 Cortex-M3 的双堆栈机制
- 错误解决记录------------mysql连接本地数据库显示";can&#39;t get hostname for your address";
- Maven CXF wsdl2Java String生成JAXBElement<;Xxx>; 解决方法
- switch omega - VNP
- 如何在Java 环境下使用 HTTP 协议收发 MQ 消息
- 数据仓库基础(八)Informatica 小例子
热门文章
- hdu 5090 Game with Pearls (额,, 想法题吧 / 二分图最大匹配也可做)
- 阿里云ECI如何6秒扩容3000容器实例?
- 小白都能看懂的Spring源码揭秘之IOC容器源码分析
- JSON数据和Java对象的相互转换
- 【JAVA】笔记(4)---继承;方法覆盖;多态机制;super;
- Salesforce Consumer Goods Cloud 浅谈篇一之基础介绍
- C语言二分查找法
- k8s网络模型与集群通信
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
- Vue安装Vue Devtools调试工具提示 Error: Cannot find module &#39;@vue-devtools/build-tools&#39; 解决办法