NOIP 2013 day 2 t1 t2
来源:互联网 发布:mac无法重装系统 编辑:程序博客网 时间:2024/04/30 15:05
从最小的差开分别处理
#include <iostream>#include <cstdio>#include <cstring>#include <ctime>#define ll long longusing namespace std;const int maxm=1e5+100;struct node{ ll sum; ll id;}st[maxm<<2];ll ans,n,t[maxm],cnt;void build(ll o,ll l,ll r){ if(l==r) { st[o].sum=t[l]; st[o].id=l; return; } ll mid=(l+r)/2; build((o<<1),l,mid); build((o<<1)|1,mid+1,r); if(st[(o<<1)].sum<st[(o<<1)|1].sum) st[o]=st[(o<<1)]; else st[o]=st[(o<<1)|1];}ll ask(ll o,ll l,ll r,ll ql,ll qr){ if(ql<=l&&r<=qr) return o; ll mid=(l+r)/2; ll o1,o2; if(qr<=mid) return ask(o<<1,l,mid,ql,qr); if(ql>mid) return ask((o<<1)|1,mid+1,r,ql,qr); o1=ask((o<<1),l,mid,ql,qr),o2=ask((o<<1)|1,mid+1,r,ql,qr); if(st[o1].sum<st[o2].sum) return o1; else return o2;}void dfs(ll l,ll r,ll sum){ if(l>r) return; ll o=ask(1,1,cnt,l,r); //printf("%d\n",st[o].id); //if(st[o].sum-sum==0) return; ans+=(st[o].sum-sum); dfs(l,st[o].id-1,st[o].sum); dfs(st[o].id+1,r,st[o].sum);}int main(){ //freopen("block.in","r",stdin); //freopen("block.out","w",stdout); scanf("%lld",&n); ll x; for(int i=1;i<=n;i++) { scanf("%lld",&x); if(x!=t[cnt]) t[++cnt]=x; } build(1,1,cnt); dfs(1,cnt,0); printf("%lld",ans); return 0;}
找峰值,然后特判。
#include <cstdio>#include <iostream>#include <queue>#include <cstring>#include <ctime>#include <algorithm>using namespace std;int n,a[110000],tot;int ans;bool f[110000];int main(){ scanf("%d",&n); for(int i=1,x;i<=n;i++) { scanf("%d",&x); if(a[tot]!=x) a[++tot]=x; } for(int i=1;i<=tot;i++) if(a[i]>a[i-1]&&a[i]>a[i+1]) f[i]=1,ans++; ans*=2; if(f[1]!=1) ans++; if(f[tot]==1) ans--; printf("%d",ans);}
阅读全文
0 0
- NOIP 2013 day 2 t1 t2
- #NOIP 2014# day.2 T2 寻找道路
- 【NOIP 2013 DAY.1】T1 转圈游戏【codevs 3285】
- #NOIP 2014#day.2 T1 无限网络发射器选址
- [NOIP 2015]Day.1 T2 信息传递 【最小环】
- #NOIP 2014# day.1 T2 联合权值
- [NOIP 2015] Day.1 T1 神奇的幻方 [模拟]
- 【NOIP 2016 day2 T1 T2】组合数问题,蚯蚓——题解
- srm 526 T1 && T2
- srm527 T1 && T2
- sm 528 T1 && T2
- SRM 608 T1 && T2
- BeanUtils<T1, T2> beanToBean
- 【队内胡策 11.1】 T1 T2
- 【队内胡策 11.3】 T1 T2
- 2013NOIP D1 T2 火柴排队
- 济南学习 Day 2 T2 pm
- NOIP2016#模拟考试 Day.2# T1 改错
- golang学习笔记
- nginx配置
- JavaScript面向对象基础与this指向问题
- 1002. 写出这个数 (20)
- MR中Shuffle过程中sort总结
- NOIP 2013 day 2 t1 t2
- linux中tftp服务器设置及测试
- 在 pod 中使用资源
- 升级xcode9 自动打包失败问题
- 在做自动化测试之前你需要知道的
- android项目中出现NullPointExcepition
- 排序算法的稳定性分析
- HDU-1029 Ignatius and the Princess IV
- VS2010设置高亮显示相同字符