POJ 2433 枚举
题意:
思路:
每回枚举去哪个山包
枚举的姿势很重要
//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 枚举相关推荐
- POJ 3713 枚举 + Tarjan 割点
题意 传送门 POJ 3713 题解 白书里归到最大流最小割,Emmmm没有找到复杂度比较低的方法.虽然通道节点不相交可以转化为节点容量为 1,通过拆成 2 个节点并连边转化成最大流问题,但要枚举每一 ...
- POJ 1966 枚举 + Dinic
题意 传送门 POJ 1966 Cable TV Network 题解 若无向图不连通,则图中至少存在两个点不连通,则可以枚举这两个点.若两个不同的点 s , t s,t s,t 因为删去某个点集而不 ...
- POJ 3276 枚举+差分?
题意: 思路: 先枚举一下k 贪心:如果当前是B那么就翻 差分一下序列 mod2 就OK了 //By SiriusRen #include <cstdio> #include <cs ...
- poj 1873 枚举+凸包
题意:给出一些树的位置,价值,长度,现要求先砍一些树制成一定长度的篱笆将剩余的树围起来,求要砍树的最小总价值. 因为树的个数最多为15个很容易想到用二进制数表示树的状态进行遍历. #include&l ...
- 0x08.基本算法 — 总结与练习
目录 知识点归纳 1.AcWing116. 飞行员兄弟 (POJ 2965) (dfs/位运算状态压缩) 1.DFS 2.位运算+二进制枚举 2.AcWing.117. 占卜DIY (模拟) 3.Ac ...
- 【读书笔记】《算法竞赛进阶指南》读书笔记——0x00基本算法
to-do: 例题: POJ 1845 Sumdiv 所有的课后习题: 随缘~~~ 位运算 对于一个二进制数,通常称其最低位为第0位,从右往左依此类推. 补码 unsigned int 直接将其看作3 ...
- linux端口进程号pid,Linux根据端口号查看进程PID
1.命令lsof,以查找占用端口80为例,用法如下: [root@localhost nginx]# lsof -i:80 以上为没有进程占用80端口, [root@localhost sbin]# ...
- poj 1106 Transmitters (枚举+叉积运用)
题目链接:http://poj.org/problem?id=1106 算法思路:由于圆心和半径都确定,又是180度,这里枚举过一点的直径,求出这个直径的一个在圆上的端点,就可以用叉积的大于,等于,小 ...
- POJ 1753 Flip Game DFS枚举
看题传送门:http://poj.org/problem?id=1753 DFS枚举的应用. 基本上是参考大神的.... 学习学习.. #include<cstdio> #include& ...
最新文章
- 谷歌15个人工智能开源免费项目!开发者:懂了
- 行业洞察驱动安全防御严峻安全挑战迎刃而解
- Winedit 快捷键概览
- python3.5安装scrapy_Python3.5下安装测试Scrapy
- 我两年的坚持,值了!
- JVM虚拟机-Class文件简介
- java 往excel中写数据库,poi将数据写入excel表格-怎么用java把数据库里的数据写入到excel表中...
- java 多线程 关键字_java多线程基础(synchronize关键字)
- c语言loop until用法,流程控制中的while、until、for循环
- 根据可信计算机系统评估准则 用户,根据可信计算机系统评估准则(TESEC),用户能定义访问控制要求的自.._简答题试题答案...
- 热烈庆祝博客排名进入前一万(8448)
- Activiti6驳回上一节点
- 服务器装系统报0x0000005d,虚拟机无法装win10系统提示Your PC needs to restart 错误代码0x0000005D怎么办...
- c226打印机驱动安装_打印机驱动安装失败怎么办 打印机驱动安装方法【步骤详解】...
- 背阔肌(04):杠铃俯身划船
- MATLAB之自动控制原理(1)
- 高德地图功能点使用整理
- Android 手机灭屏流程分析详解
- google浏览器打开axure原型的插件
- 串口工具secureCRT使用技巧分享(1):命令行窗口
热门文章
- 收藏 | 超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200
- 干货 | YOLOv5在建筑工地中安全帽佩戴检测的应用
- matlab 迭代时保存每次迭代数据,Matlab 迭代步数据保存问题.
- python十点半游戏代码_十点半游戏完整代码及详细注释.py
- 廖雄南昌大学计算机系,南昌市社区老年性痴呆患病率及其影响因素
- H3C认证云计算高级工程师
- 展望10年内VR技术的盈利模式的发展历程
- python 多进程 每个进程做不同功能实例_Python 多进程并发操作中进程池Pool的实例...
- python selenium 文件上传_python-selenium -- 文件上传操作
- C++ 梳理(一):跑通简单程序