题意:


思路:
每回枚举去哪个山包
枚举的姿势很重要

//By SiriusRen
#include <cstdio>
#include <algorithm>
using namespace std;
int n,k,a[1005],l,r,base,cnt,ans,minn,recl,recr,recbase;
int main(){scanf("%d%d",&n,&k);for(int i=1;i<=n;i++)scanf("%d",&a[i]);start:cnt=0,minn=0x3fffffff;for(int i=1;i<=n;i++){if(a[i]<=a[i+1])continue;l=r=i;while(l>=1&&a[l]>=a[l-1])l--;while(r<=n&&a[r]>=a[r+1])r++;base=max(a[l],a[r]);if(l>=1||r<=n){int temp=0;for(int j=l;j<=r;j++)temp+=max(a[j]-base,0);if(temp<minn)minn=temp,recl=l,recr=r,recbase=base;cnt++,i=r;}}if(cnt<=k){printf("%d\n",ans);return 0;}ans+=minn;for(int i=recl;i<=recr;i++)if(a[i]>recbase)a[i]=recbase;goto start;
}

转载于:https://www.cnblogs.com/SiriusRen/p/6532223.html

POJ 2433 枚举相关推荐

  1. POJ 3713 枚举 + Tarjan 割点

    题意 传送门 POJ 3713 题解 白书里归到最大流最小割,Emmmm没有找到复杂度比较低的方法.虽然通道节点不相交可以转化为节点容量为 1,通过拆成 2 个节点并连边转化成最大流问题,但要枚举每一 ...

  2. POJ 1966 枚举 + Dinic

    题意 传送门 POJ 1966 Cable TV Network 题解 若无向图不连通,则图中至少存在两个点不连通,则可以枚举这两个点.若两个不同的点 s , t s,t s,t 因为删去某个点集而不 ...

  3. POJ 3276 枚举+差分?

    题意: 思路: 先枚举一下k 贪心:如果当前是B那么就翻 差分一下序列 mod2 就OK了 //By SiriusRen #include <cstdio> #include <cs ...

  4. poj 1873 枚举+凸包

    题意:给出一些树的位置,价值,长度,现要求先砍一些树制成一定长度的篱笆将剩余的树围起来,求要砍树的最小总价值. 因为树的个数最多为15个很容易想到用二进制数表示树的状态进行遍历. #include&l ...

  5. 0x08.基本算法 — 总结与练习

    目录 知识点归纳 1.AcWing116. 飞行员兄弟 (POJ 2965) (dfs/位运算状态压缩) 1.DFS 2.位运算+二进制枚举 2.AcWing.117. 占卜DIY (模拟) 3.Ac ...

  6. 【读书笔记】《算法竞赛进阶指南》读书笔记——0x00基本算法

    to-do: 例题: POJ 1845 Sumdiv 所有的课后习题: 随缘~~~ 位运算 对于一个二进制数,通常称其最低位为第0位,从右往左依此类推. 补码 unsigned int 直接将其看作3 ...

  7. linux端口进程号pid,Linux根据端口号查看进程PID

    1.命令lsof,以查找占用端口80为例,用法如下: [root@localhost nginx]# lsof -i:80 以上为没有进程占用80端口, [root@localhost sbin]# ...

  8. poj 1106 Transmitters (枚举+叉积运用)

    题目链接:http://poj.org/problem?id=1106 算法思路:由于圆心和半径都确定,又是180度,这里枚举过一点的直径,求出这个直径的一个在圆上的端点,就可以用叉积的大于,等于,小 ...

  9. POJ 1753 Flip Game DFS枚举

    看题传送门:http://poj.org/problem?id=1753 DFS枚举的应用. 基本上是参考大神的.... 学习学习.. #include<cstdio> #include& ...

最新文章

  1. 谷歌15个人工智能开源免费项目!开发者:懂了
  2. 行业洞察驱动安全防御严峻安全挑战迎刃而解
  3. Winedit 快捷键概览
  4. python3.5安装scrapy_Python3.5下安装测试Scrapy
  5. 我两年的坚持,值了!
  6. JVM虚拟机-Class文件简介
  7. java 往excel中写数据库,poi将数据写入excel表格-怎么用java把数据库里的数据写入到excel表中...
  8. java 多线程 关键字_java多线程基础(synchronize关键字)
  9. c语言loop until用法,流程控制中的while、until、for循环
  10. 根据可信计算机系统评估准则 用户,根据可信计算机系统评估准则(TESEC),用户能定义访问控制要求的自.._简答题试题答案...
  11. 热烈庆祝博客排名进入前一万(8448)
  12. Activiti6驳回上一节点
  13. 服务器装系统报0x0000005d,虚拟机无法装win10系统提示Your PC needs to restart 错误代码0x0000005D怎么办...
  14. c226打印机驱动安装_打印机驱动安装失败怎么办 打印机驱动安装方法【步骤详解】...
  15. 背阔肌(04):杠铃俯身划船
  16. MATLAB之自动控制原理(1)
  17. 高德地图功能点使用整理
  18. Android 手机灭屏流程分析详解
  19. google浏览器打开axure原型的插件
  20. 串口工具secureCRT使用技巧分享(1):命令行窗口

热门文章

  1. 收藏 | 超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200
  2. 干货 | YOLOv5在建筑工地中安全帽佩戴检测的应用
  3. matlab 迭代时保存每次迭代数据,Matlab 迭代步数据保存问题.
  4. python十点半游戏代码_十点半游戏完整代码及详细注释.py
  5. 廖雄南昌大学计算机系,南昌市社区老年性痴呆患病率及其影响因素
  6. H3C认证云计算高级工程师
  7. 展望10年内VR技术的盈利模式的发展历程
  8. python 多进程 每个进程做不同功能实例_Python 多进程并发操作中进程池Pool的实例...
  9. python selenium 文件上传_python-selenium -- 文件上传操作
  10. C++ 梳理(一):跑通简单程序