【链接】 我是链接,点我呀:)

【题意】

题意

【题解】

设第i天总共的线数为t[i]
水平线上线数为m[i]是固定的
水平线下的线数设为d[i]
则d[i]+m[i]+1=t[i]
也就是说问题可以转化为使得t[i]最小
我们可以列出关于t[i]的不等式
t[i]= max{t[i-1],m[i]+1} ···①
t[i]+1>=t[i+1] ,因为每天最多划一条线 ····②
对于①式,直接顺推就好
对于②式
我们用t[i]>=t[i+1]-1逆推
只要t[i]

【代码】

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5; int n;
int m[N+10],t[N+10],d[N+10]; int main(){
ios::sync_with_stdio(0),cin.tie(0);
cin >> n;
for (int i = 1;i <= n;i++) cin >> m[i];
for (int i = 1;i <= n;i++){
t[i] = max(t[i-1],m[i]+1);
}
for (int i = n-1;i >= 1;i--){
//t[i]+1>=t[i+1]
//t[i]>=t[i+1]-1
if (t[i]<t[i+1]-1){
t[i] = t[i+1]-1;
}
}
for (int i = 1;i <= n;i++){
d[i] = t[i]-m[i]-1;
}
long long ans = 0;
for (int i = 1;i <= n;i++){
ans = ans + d[i];
}
cout<<ans<<endl;
return 0;
}

最新文章

  1. Web前端面试之HTML
  2. Singleton(单例模式)
  3. React组件属性部类(propTypes)校验
  4. 完整地mybatis + springmvc用checkbox实现批量删除
  5. 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Frame
  6. Cheatsheet: 2014 09.01 ~ 09.30
  7. struts开发&amp;lt;struts中的action详细配置. 二&amp;gt;
  8. 物理引擎简介——Cocos2d-x学习历程(十三)
  9. JavaScript事件响应的基础语法总结
  10. Java中的构造方法
  11. Laravel 5.7 使用 PHP artisan migrate 的问题
  12. Loj #3059. 「HNOI2019」序列
  13. 08机器学习实战之BP神经网络
  14. Visual Studio 2015 插件开发入门
  15. 剑指offer-复杂链表的复制
  16. Unittest中TestCase类中定义的几个特殊方法
  17. Head First Android --- Intent
  18. 剥开比原看代码08:比原的Dashboard是怎么做出来的?
  19. 高德地图 API 计算两个城市之间的距离
  20. mongo源码学习(四)invariant

热门文章

  1. Tomcat + solr5.2.1环境搭建
  2. E20170531-hm
  3. bzoj 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛【dp+树状数组+hash】
  4. python自动化测试学习笔记-8多线程
  5. [NOI2003]Editor
  6. Java 8 (6) Stream 流 - 并行数据处理与性能
  7. CentOS7上安装稻壳CMS
  8. solr深分页,游标操作分页,解决性能问题
  9. Java获取一个文件夹内的所有文件(包括所有子文件夹内的)
  10. Jmeter之重定向请求