题意:开始时有n堆糖,每堆开始时有1个把这些糖果聚在一堆。但她每次只能把两堆糖果合并成一堆。

已知把两堆数量为a和b的糖果聚在一堆的代价是|a-b|。

kotori想知道,她把这n块糖果聚在一堆的最小代价是多少?
题目链接

one:

for(int i=1;i<=1e18+10;i++)
{m[i] = m[i/2]+m[i-i/2] +i%2;
}

problem:复杂度过高,达到了1e18

two:

可以想到,可以使用递归来优化
(坑点1:n=0)

ll init(ll n)
{if(n==1||n==0)   return 0;if(n&1) return m[n] = init(n/2) + init(n/2+1)+1;else return m[n] = init(n/2)*2;
}
void main():
{init(1e18);                 //初始化
}
//坑点1:n=0

problem:从1到1e18不能都初始化,而且有很多重复的

three:

ll init(ll n)
{if(m[n]) return m[n];if(n==1||n==0)   return 0;if(n&1) return m[n] = init(n/2) + init(n/2+1)+1;else return m[n] = init(n/2)*2;                   //这里可以减少递归
}

four

1e5以下碰撞次数太多,这样可以减小碰撞

if(n&1) return cal(n/2) + cal(n/2+1)+1;
else return cal(n/2)*2;
这个最好不要合并,不合并可以减少递归次数

void init()
{for(int i=3;i<=100000;i++) {m[i] = m[i/2]+m[i-i/2]+i%2;}
]ll cal(ll n)
{if(n<=maxn) return m[n];else{if(n&1) return cal(n/2) + cal(n/2+1)+1;else return cal(n/2)*2;}
}

牛客-kotori和糖果(哈斯图吗?)相关推荐

  1. 牛客 KY48 吃糖果

    牛客 KY48 题目描述 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0). 妈妈告诉名名每天可以吃一块或者两块巧克力. 假设名名每 ...

  2. 牛客网----分糖果、分子弹

    题目来源:牛客网 给从左至右排好队的小朋友们分糖果, 要求: 1.每个小朋友都有一个得分,任意两个相邻的小朋友,得分较高的所得的糖果必须大于得分较低的,相等则不作要求. 2.每个小朋友至少获得一个糖果 ...

  3. 牛客网 New Game! 建图+最短路

    链接:https://www.nowcoder.com/acm/contest/201/L 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言20 ...

  4. 牛客-计算机复试题-求图的连通分支数

    求图的连通分支数可以用并查集实现. 并查集的讲解推荐: https://blog.csdn.net/liujian20150808/article/details/50848646 本题求的是无向图的 ...

  5. 牛客题霸 [分糖果问题] C++题解/答案

    牛客题霸 [分糖果问题] C++题解/答案 题目描述 一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下: 每个孩子不管得分多少,起码分到一个糖果. 任意两个相邻的孩子之间,得分较多的孩子必须拿多 ...

  6. 【牛客 - 369F】小D的剑阵(最小割建图,二元关系建图,网络流最小割)

    题干: 链接:https://ac.nowcoder.com/acm/contest/369/F 来源:牛客网 题目描述 现在你有 n 把灵剑,其中选择第i把灵剑会得到的 wiw_iwi​ 攻击力. ...

  7. 【牛客 - 157E】青蛙(floyd最短路,建图)

    题干: 链接:https://ac.nowcoder.com/acm/contest/157/E 来源:牛客网 题目描述 有一只可爱的老青蛙,在路的另一端发现了一个黑的东西,想过去一探究竟.于是便开始 ...

  8. 【牛客 - 188C】水图(bfs树的直径,思维)

    题干: 链接:https://ac.nowcoder.com/acm/contest/188/C 来源:牛客网 小w不会离散数学,所以她van的图论游戏是送分的 小w有一张n个点n-1条边的无向联通图 ...

  9. 【牛客 - 370H】Rinne Loves Dynamic Graph(分层图最短路)

    题干: 链接:https://ac.nowcoder.com/acm/contest/370/H 来源:牛客网 Rinne 学到了一个新的奇妙的东西叫做动态图,这里的动态图的定义是边权可以随着操作而变 ...

  10. day2:牛客网 糖果俱乐部

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 中国地质大学(武汉)坐落于南望山下毗邻东湖风景区.为了庆祝"华为杯"中国地质大学(武汉)第十七届ICPC程序设计大赛暨华 ...

最新文章

  1. 一个顽猴沿着一座小山的n级台阶向上跳,猴子上山一步可跳1级或3级,试求上山的n级台阶有多少种不同的爬法。...
  2. 皮一皮:论脑回路的新奇指数...
  3. nginx--之静态服务器
  4. 通过xadmin或者suit-v2快速搭建后台管理系统
  5. 因果图法的介绍与示例分析【转载】
  6. 为什么苹果内购总是失败_苹果官网送货流程将改革,最快次日达丨iPhone6s 等钉子户终于要换手机了...
  7. 大话细说ORM -----(转)
  8. Linux-insmod/rmmod/lsmod驱动模块相关命令(10)
  9. 在页面中 js 获取光标/鼠标的坐标,获取光标的的像素坐标
  10. 织梦系统MySQL安装_如何更改已安装的织梦dedecms系统数据库表前缀?
  11. 记一次SQLServer2019安装和卸载问题的解决过程
  12. c语言实现自动编译器,实现简易的C语言编译器(part 1)
  13. 《以太坊攻略》,小白如何逆袭成为技术大咖?要学的全在这里了
  14. Python处理PDF——PyMuPDF的安装与使用
  15. java通过poi操作ppt
  16. 部署cirros_vm2 和second_local_net - 每天5分钟玩转 OpenStack(131
  17. CSU 1506 酷酷的单词
  18. 怎么样玩转信息研究方法指南学习笔记
  19. 20161128 已知小明同学其中考试成绩,数学97.5分,语文94.5分,英语95.5分,求小明同学的三科总成绩(结果保留一位小数)。...
  20. 基于51单片机火灾报警器设计智能火灾报警系统(水泵灭火功能)项目设计与制作

热门文章

  1. Windows 操作系统
  2. bazel 链接第三方动态库_谷歌携手OPPO共同开发CameraX技术,第三方拍照应用有福了...
  3. 用代码关闭冰刃(IceSword)
  4. 珠宝行业电子秤串口程序开发
  5. 《非暴力沟通》的优秀读后感2600字
  6. png的计算机储存图片的格式吗,win7系统下png图片转换成jpg格式的三种方法
  7. 矩阵特征值和特征向量的求取
  8. 如何通过域名访问web项目
  9. HTML+CSS---进阶学习03
  10. 如何写出一份完美的BP(商业计划书)?