问题描述

输入格式

第一行为一个正整数 n, 表示竹子的棵数。

第二行共 n 个空格分开的正整数 hi, 表示每棵竹子的高度。

输出格式

一个整数表示答案。

样例输入

62 14267

样例输出

5

样例说明

其中一种方案:

21426214267→214262→214222→211222→111222→111111→214262→214222→211222→111222→111111共需要 5 步完成

评测用例规模与约定

运行限制

语言

最大运行时间

最大运行内存

C++

2s

256M

C

2s

256M

Java

3s

256M

Python3

10s

256M

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=200010,M=10;
ll a[N][M];
ll s[M];
ll sqr(ll x)//sqrt只适用于int,所以要自己写一个函数
{ll ans=0,l=1,r=1e9;while(l<r){ll mid=l+r>>1;if(mid*mid<=x){l=mid+1;}elser=mid;}return l-1;
}
int main()
{int n;cin>>n;ll x;int ans=0;for(int i=0;i<n;i++){   int y=0;cin>>x;while(x>1){s[++y]=x;x=sqr(x/2+1);}ans+=y;for(int j=0,k=y;k;j++,k--){a[i][j]=s[k];}}for(int j=0;j<M;j++){for(int i=1;i<n;i++){if(a[i][j]&&a[i][j]==a[i-1][j])ans--;}}cout<<ans;return 0;
}

砍竹子——二分,模拟相关推荐

  1. [蓝桥杯2022初赛] 砍竹子

    题目描述 这天,小明在砍竹子,他面前有 n 棵竹子排成一排,一开始第 i 棵竹子的高度为 hi. 他觉得一棵一棵砍太慢了,决定使用魔法来砍竹子. 魔法可以对连续的一段相同高度的竹子使用,假设这一段竹子 ...

  2. 蓝桥杯2022砍竹子

    P2040 - [蓝桥杯2022初赛] 砍竹子 - New Online Judgehttp://oj.ecustacm.cn/problem.php?id=2040 #include <bit ...

  3. 【洛谷】P8787 [蓝桥杯 2022 省 B] 砍竹子 的题解

    [洛谷]P8787 [蓝桥杯 2022 省 B] 砍竹子 的题解 题目传送门 思路 这个题有两个做法,一种是用 set 或者堆来维护一个高度到区间的映射,另一个用并查集维护区间. 这个题本质是一个最长 ...

  4. [蓝桥杯 2022 省 B] 砍竹子

    来源: [蓝桥杯 2022 省 B] 砍竹子 题目描述 这天,小明在砍竹子,他面前有 n n n 棵竹子排成一排,一开始第 i i i 棵竹子的高度为 h i h_{i} hi​. 他觉得一棵一棵砍太 ...

  5. Python: 砍竹子(栈)

    问题描述 这天, 小张在砍竹子, 他面前有 n 棵竹子排成一排, 一开始第 i 棵竹子的 高度为 hi​. 他觉得一棵一棵砍太慢了, 决定使用魔法来砍竹子.魔法可以对连续的一 段相同高度的竹子使用, ...

  6. 2022蓝桥杯省赛——砍竹子

    问题描述 这天, 小明在砍竹子, 他面前有 n 棵竹子排成一排,一开始第 i 棵竹子的 高度为 hi​. 他觉得一棵一棵砍太慢了, 决定使用魔法来砍竹子.魔法可以对连续的一 段相同高度的竹子使用, 假 ...

  7. 蓝桥杯——砍竹子问题(C++)

    问题描述 评测用例规模与约定 输入格式 输出格式 样例输入 6 2 1 4 2 6 7 样例输出 5 观察题目,不难想到的第一种方法,即利用贪心策略,每次砍断竹子最大的且连续的队列,由于队列中会出现很 ...

  8. 蓝桥杯 - 试题 J: 砍竹子(双向链表+堆/思维)

    题目大意:给出一排 nnn 个竹子的高度,每次操作可以选择连续的,高度相同的竹子,使其高度变为 ⌊⌊H2+1⌋⌋\lfloor \sqrt{\lfloor \frac{H}{2}+1\rfloor} ...

  9. CodeForces - 1236D Alice and the Doll(贪心+二分+模拟)

    题目链接:点击查看 题目大意:给出一个n*m的矩阵,矩阵中有k个障碍物,在点(1,1)处有一个洋娃娃,洋娃娃每次的行动路线只能是直走或右拐,初始时洋娃娃面朝正右方向,问洋娃娃能否将所有方格都走一遍,并 ...

最新文章

  1. Kinect for windows的脸部识别
  2. 端口映射的几种实现方法
  3. md5加密算法原理及其GO语言实现
  4. ThreadLocal怎么实现线程隔离的?可见性问题?为什么要重新定义一个threadLocalHashCode?为什么有内存泄露?弱引用又是什么?
  5. Linux系统vi编辑器执行命令,linux下vi编辑器命令
  6. 在项目中增加自定义icon图标
  7. 七十一、Springboot整合MyBatis(注解版)
  8. idea yml文件不变成树叶_springboot获取配置文件的三种方式
  9. Windows Server 2012 在个人终端上使用的推荐设置
  10. Android之判断网络状态(网络的连接,改变,和判断2G/3G/4G)
  11. 4G物联网网关和工业路由器的区别
  12. 第四十八期:你太菜了,竟然不知道Code Review?
  13. Android实现计时与倒计时(限时抢购)的几种方法
  14. 通过实例讲解java接口和抽象类的特殊实现方法
  15. 百度学术打开不了?怎么办
  16. 将CSS文件转换为标准格式
  17. C#读取写入excel单元格
  18. 移位运算(左移和右移)
  19. 16位二进制补码 c语言,2,16进制原码补码反码问题
  20. 3blue1brown线性代数的本质笔记

热门文章

  1. HTML5 CSS3 神秘的暗红色漩涡特效
  2. JAVA最全面试题答案整理
  3. 泰拉瑞亚服务器怎么修改密码,泰拉瑞亚怎么设置服务器里的角?
  4. 【FXCG】人民币全球支付热度创新高
  5. 命令模式 :Command(转自阿良.NET)
  6. 部署一套完整的K8s高可用集群(二进制-V1.20)
  7. 南京计算机审计行业工资,南审最新就业报告出炉!这批毕业生薪资水平出乎意料……...
  8. FLStudio2023水果中文版本使用操作心得与技巧
  9. Python 办公自动化之 PDF 最强操作手册
  10. 什么是 pinia 啊?