https://codeforces.com/problemset/problem/1623/C

题意:有n堆石子,第i堆石子有hi个石子,你可以从第3堆开始到第n堆,将d个石子移动到i - 1堆和2d个石子移动到i - 2堆,问最后最大的最小堆为多少。
题解:二分!!!(代码有说明!)

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#include<math.h>
#include<vector>
#include<map>
#include<set>
using namespace std;#define int long long
const int N = 2e5 + 10;
int h[N], hh[N];signed main()
{int t;cin >> t;while (t--){int n;cin >> n;for (int i = 1; i <= n; i++) cin >> h[i];int l = 1, r = 1e9;while (l < r)//二分{int mid = l + r + 1 >> 1;int f = 1;for (int i = 1; i <= n; i++) hh[i] = h[i];//拷贝h数组,防止h数组被改变for (int i = n; i >= 3; i--){if (hh[i] >= mid)//当前大于mid,所以可以将大于的部分移动到前面两堆{hh[i - 1] += min(h[i], hh[i] - mid) / 3;//取min的原因在于,他是从后往前的,所以对于原本的i堆应最多移动h[i]个石子hh[i - 2] += min(h[i], hh[i] - mid) / 3 * 2;}else{f = 0;break;}}if (hh[1] < mid || hh[2] < mid || f == 0){r = mid - 1;}else l = mid;}cout << l << endl;}return 0;
}

C. Balanced Stone Heaps相关推荐

  1. P - Balanced Stone Heaps

    有n堆石头.第i个堆有hi个石头.你想通过执行以下过程来改变堆中石头的数量. 从第3个堆到第n个堆,你按照这个顺序走一遍. 设i为当前堆的编号. 你可以选择一个数字d(0≤3⋅d≤hi),从第i堆移出 ...

  2. [题集]Lecture 4. Leftist Heaps and Skew Heaps

    1.A leftist heap with the null path length of the root being r must have at least 2 r + 1 − 1 2^{r+1 ...

  3. bokeh pandas_使用Pandas和Bokeh将Rolling Stone的500张最伟大专辑可视化

    bokeh pandas by Gautham Koorma 通过Gautham Koorma 使用Pandas和Bokeh将Rolling Stone的500张最伟大专辑可视化 (Rolling S ...

  4. SP11469 SUBSET - Balanced Cow Subsets(折半搜索+状态压缩)难度⭐⭐⭐⭐★

    题目链接 SP11469 SUBSET - Balanced Cow Subsets 题目翻译 给出N(1≤N≤20)N(1≤N≤20)N(1≤N≤20)个数M(i)(1<=M(i)<=1 ...

  5. [Cracking the Coding Interview] 4.4 Check Balanced

    Implement a function to check if a binary tree is balanced. For the purpose of this question, a bala ...

  6. poj3264 - Balanced Lineup(RMQ_ST)

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 45243   Accepted: 21240 ...

  7. 【leetcode】Balanced Binary Tree(middle)

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  8. spoj Balanced Numbers(数位dp)

    一个数字是Balanced Numbers,当且仅当组成这个数字的数,奇数出现偶数次,偶数出现奇数次 一下子就相到了三进制状压,数组开小了,一直wa,都不报re, 使用记忆化搜索,dp[i][s] 表 ...

  9. LeetCode Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  10. HDU 3709 Balanced Number

    Balanced Number 题意: 平衡数:存在该数中以一个数字为支点(pivot),点的"力矩"为该点到支点的距离乘以该点的值,而平衡指的是支点两侧的力矩和相等 思路: 易知 ...

最新文章

  1. sqlserver Distributed Transaction 分布式事务
  2. 【前端】2015阿里前端实习生在线笔试题
  3. java程序设计 徐红_Java程序设计-徐红 王灿
  4. android 日期时间类,Android 时间与日期操作类
  5. 我眼中的移动互联网(多原创视频)
  6. linux系统报警怎么办,常见Linux系统故障和解决方法
  7. 《Windows Server 2012活动目录管理实践》 目录15-28章
  8. java代理机制简单实现
  9. 大学python考试会挂科吗_学姐含泪劝告:4个“最难学”的大学专业,考试“挂科”是常态...
  10. Unity编辑器扩展
  11. java基于springboot校园餐厅订餐管理系统附源码
  12. Ubuntu 10.04 使用libfetion
  13. 诺基亚n1平板电脑刷机教程_诺基亚N1 完整包线刷升级或救砖教程(不分台版;国行)...
  14. Matlab imcrop 与 opencv ROI
  15. mxnet:Optimizer rescale_grad
  16. java作品_50幅惊艳的分形艺术作品
  17. 3D建模和3D渲染吃什么硬件?专业图形显卡和游戏显卡区别
  18. 易语言dd驱动模拟按键模块_DD虚拟键盘虚拟鼠标
  19. 记录第一次开发android的学习心得
  20. golang 字符串转整形 string 转 int ,go string 转 int

热门文章

  1. Bone Collector——01背包
  2. 从董明珠称格力将会接入鸿蒙系统,是否可以看出手机圈的不堪?
  3. microsoft word无法插入公式
  4. shell基础脚本命令记录
  5. DataFrame 修改列名
  6. python 基础-----list查找重复值
  7. 阻抗分析仪(LCR表)与矢量网络分析仪
  8. AutoCAD各版本注册表参数
  9. ZOJ3332 Strange Country II java
  10. QT widget宽高比