【51Nod】1519 拆方块 贪心+递推
【题目】1519 拆方块
【题意】给定n个正整数,\(A_i\)表示第i堆叠了\(A_i\)个石子。每轮操作将至少有一面裸露的石子消除,问几轮所有石子均被消除。\(n \leq 10^5\)。
【算法】贪心+递推
观察每轮操作的变化:
\[A_i=min \{ A_i-1,A_{i-1},A_{i+1} \} \]
继续推导,因为每一轮要么-1要么取左右,那么也就是一个数传递到另一个位置要加上它们之间距离的代价(一轮一格,每轮少一个 -1 ),也就是每个数字都可以更新为:
\[A_x=\min_{i=1}^{n} \{ A_i+|x-i| \} \]
这样直接从左到右和从右到左分别递推一次即可。
最后两端的石子相当于最左和最右各有一堆高度为0的石子,递推的时候处理就可以了,答案就是所有数字的最大值。
复杂度\(O(n)\)。
【51Nod】1519 拆方块 贪心+递推的更多相关文章
- CF822D 贪心+递推
CF822D [题目链接]CF822D [题目类型]贪心+递推 &题意: 给你n个人,你可以把他们分组,但必须保持每组相等,分组之后每2个人会比赛,比如一组有i个人,那么就要比赛 次,f[i] ...
- codeforces 735C Tennis Championship(贪心+递推)
Tennis Championship 题目链接:http://codeforces.com/problemset/problem/735/C ——每天在线,欢迎留言谈论. 题目大意: 给你一个 n ...
- 2019 ICPC南京网络赛 F题 Greedy Sequence(贪心+递推)
计蒜客题目链接:https://nanti.jisuanke.com/t/41303 题目:给你一个序列a,你可以从其中选取元素,构建n个串,每个串的长度为n,构造的si串要满足以下条件, 1. si ...
- [NOI2017]蔬菜(贪心+递推)
这题很有思维难度,乍一看基本无从下手. 给每个蔬菜钦定退役的时间显然很困难,可以考虑让时光倒流,从后向前递推,然后就变成了某个时间点有一部分蔬菜服役,而已经服役的蔬菜不会退役了.然后就可以直接考虑贪心 ...
- 51NOD 1149:Pi的递推式——题解
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1149 F(x) = 1 (0 <= x < 4) F(x) ...
- 51nod 1020 逆序排列 递推DP
1020 逆序排列 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么 ...
- 【51nod】1149 Pi的递推式
题解 我们把这个函数的递归形式画成一张图,会发现答案是到每个出度为0的点的路径的方案数 这个可以用组合数算 记录一下P[i]为i减几次PI减到4以内 如果P[i + 1] > P[i],那么转向 ...
- 【51nod1519】拆方块[Codeforces](dp)
题目传送门:1519 拆方块 首先,我们可以发现,如果第i堆方块被消除,只有三种情况: 1.第i-1堆方块全部被消除: 2.第i+1堆方块全部被消除:(因为两侧的方块能够保护这一堆方块在两侧不暴露) ...
- 51nod 1639 递推
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1639 1639 绑鞋带 基准时间限制:1 秒 空间限制:131072 K ...
随机推荐
- 504. Base 7
Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: "202&q ...
- Nmap命令
命令行:(显示扫描过程 -v ) 扫描单个主机 #nmap www.hostName.com 扫描整个ip段(子网) #nmap 192.168.1.1/24 //表示当前ip下的24位掩码主机都要扫 ...
- Final互评------《弹球学成语》---- 杨老师粉丝群
一.基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评论作品的选题; N(Need,需求):本产品面相青少年及小学生,基于这些用户数量再加上一些休闲玩家,需求量还是比较大的. A ...
- 【MOOC EXP】Linux内核分析实验五报告
程涵 原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 分析system_call中断处理过程 ...
- 清华大学OS操作系统实验lab1练习知识点汇总
lab1知识点汇总 还是有很多问题,但是我觉得我需要在查看更多资料后回来再理解,学这个也学了一周了,看了大量的资料...还是它们自己的80386手册和lab的指导手册觉得最准确,现在我就把这部分知识做 ...
- idea打jar包没有MANIFEST文件坑
看到横线处没有,将此处的main\java 删除掉 meta-inf文件夹必须在src文件夹下,才能打包成功, idea自动加了 main/java 会导致打包时,找不到该manifest文件,不会将 ...
- [转帖].NET Framework各版本操作系统支持
.NET Framework .NET版本 1.0 1.1 2.0 3.0 3.5 4.0 4.5 完整版本 1.0.3705.0 1.1.4322.573 2.0.50727.42 3.0.4506 ...
- Docker inside Docker 基于 Alpine Linux
Study From https://hub.docker.com/_/docker/ 感慨一句 这些人真牛B .. 简单测试 拉取镜像 docker pull docker:dind 运行镜像 do ...
- ajax调用后台webservice返回JSON字符
后台代码: [WebMethod] public static string LoginTest(string userCode, string password) { UserManageCente ...
- mysql账户添加远程访问
我们要将root账户设置为远程可访问 mysql> show databases; +--------------------+ | Database | +------------------ ...