博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NEFU 1112 粉刷栅栏算法
阅读量:4554 次
发布时间:2019-06-08

本文共 1219 字,大约阅读时间需要 4 分钟。

中文题 简单搜索题

例数据

输入 6

1 1 1 1 9 9

输出 3

注意是每一个递归搜索都返回一个min 而不是只有总的返回min

#include 
#include
#include
using namespace std;int a[5678];int dfs(int l,int r,int k){ if(l>r||(l==r&&a[l]<=k)) return 0; if(l==r) return 1; //注意区间左闭右开 只有这里r+1考虑右边界 int mn=min_element(a+l,a+r+1)-a; //注意-k return min(r-l+1,dfs(l,mn-1,a[mn])+dfs(mn+1,r,a[mn])+a[mn]-k);}int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(a,0,sizeof(a)); for(int i=0;i

 

 

#include 
#include
#include
#include
using namespace std;int n,a[100005];int get(int l,int r){ int minn=1e9+3; for(int i=l;i<=r;i++) { minn=min(minn,a[i]); } int ans=minn; for(int i=l;i<=r;i++) { if(a[i]==minn) continue; int ii=i+1; while(ii<=r&&a[ii]!=minn) ii++; ii--; for(int j=i;j<=ii;j++) a[j]-=minn; ans+=get(i,ii); i=ii; } return min(r-l+1,ans);}int main(){ //freopen("in.txt", "r", stdin); while(~scanf("%d",&n)) { for(int i=0;i

 

转载于:https://www.cnblogs.com/Ritchie/p/6137118.html

你可能感兴趣的文章
ext3.2 右击动态添加node的treepanel
查看>>
Database links
查看>>
1035 插入与归并(25 分)
查看>>
STL中排序函数的用法(Qsort,Sort,Stable_sort,Partial_sort,List::sort)
查看>>
如何解决php 生成验证码图片不显示问题
查看>>
PHP,javascript实现大文件上传
查看>>
c#图像处理算法学习
查看>>
webApi之FromUri和FromBody区别
查看>>
【SoapUI】http接口测试
查看>>
各种工具网站
查看>>
数据库事务
查看>>
xe7 控件升级
查看>>
TFrame bug
查看>>
刚学习的如何才能自信的拍美美的婚纱照呢(要结婚啦)
查看>>
M51文件注释
查看>>
关于临界资源访问互斥量的死锁问题
查看>>
django-view层
查看>>
异步加载JS的方法。
查看>>
golang-gorm框架支持mysql json类型
查看>>
【tool】白盒测试
查看>>