博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 1442 Cav
阅读量:4355 次
发布时间:2019-06-07

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

#include
#define REP(i,a,b) for(int i=a;i<=b;i++)#define MS0(a) memset(a,0,sizeof(a))using namespace std;typedef long long ll;const int maxn=1000100;const int INF=1<<29;int n;int p[maxn],s[maxn];int L[maxn],R[maxn],d[maxn];void solve(){ L[1]=s[1]; REP(i,2,n){ L[i]=max(L[i-1],p[i]); L[i]=min(L[i],s[i]); } R[n]=s[n]; for(int i=n-1;i>=1;i--){ R[i]=max(R[i+1],p[i]); R[i]=min(R[i],s[i]); } REP(i,1,n) d[i]=min(L[i],R[i]); int ans=0; REP(i,1,n) ans+=d[i]-p[i]; cout<
<
>T; while(T--){ scanf("%d",&n); REP(i,1,n) scanf("%d",&p[i]); REP(i,1,n) scanf("%d",&s[i]); solve(); } return 0;}/**虽然看起来很难实现,但是画个图很容易理解。codeforces上也看过一次这种题,第一眼竟然没有看出解法...why am i so stupid...*/
View Code

 

转载于:https://www.cnblogs.com/--560/p/5048283.html

你可能感兴趣的文章
uva489(需要考虑周全)
查看>>
C-关键字(二)
查看>>
排序笔记
查看>>
下载360doc.com里的文章
查看>>
【转】globk和glorg中使用的apr文件
查看>>
导航,头部,CSS基础
查看>>
PostMessage 解析
查看>>
Java语法基础(一)
查看>>
as3 sort
查看>>
hdu 2680 Choose the best route Dijkstra 虚拟点
查看>>
26. Remove Duplicates from Sorted Array java solutions
查看>>
[bzoj1185] [HNOI2007]最小矩形覆盖
查看>>
全景图制作详解
查看>>
React之todo-list
查看>>
cocoapods降级版本
查看>>
MYSQL复习笔记4-基本SQL语句
查看>>
C#&java重学笔记(函数)
查看>>
14软件G2班
查看>>
bzoj 1977 [BeiJing2010组队]次小生成树 Tree
查看>>
bzoj 2119 股市的预测——枚举长度的关键点+后缀数组
查看>>