实验基地(base)

来源:互联网 发布:蛆虫疗法的感觉知乎 编辑:程序博客网 时间:2024/04/28 06:08

http://120.78.128.11/Problem.jsp?pid=3091


中文题就不讲题意了。


做法:维护第一行的i-j的最小值,也就是凹进去的那一部分。

预处理,然后处理一个前缀和,n^2的代价维护i-j的总值,然

后再减去中间的最小值。


///                 .-~~~~~~~~~-._       _.-~~~~~~~~~-.///             __.'              ~.   .~              `.__///           .'//                  \./                  \\`.///        .'//                     |                     \\`.///       .'// .-~"""""""~~~~-._     |     _,-~~~~"""""""~-. \\`.///     .'//.-"                 `-.  |  .-'                 "-.\\`.///   .'//______.============-..   \ | /   ..-============.______\\`./// .'______________________________\|/______________________________`.#pragma comment(linker, "/STACK:1024000000,1024000000")#include <vector>#include <iostream>#include <string>#include <map>#include <stack>#include <cstring>#include <queue>#include <list>#include <stdio.h>#include <set>#include <algorithm>#include <cstdlib>#include <cmath>#include <iomanip>#include <cctype>#include <sstream>#include <functional>#include <stdlib.h>#include <time.h>#include <bitset>using namespace std;#define pi acos(-1)#define s_1(x) scanf("%d",&x)#define s_2(x,y) scanf("%d%d",&x,&y)#define s_3(x,y,z) scanf("%d%d%d",&x,&y,&z)#define s_4(x,y,z,X) scanf("%d%d%d%d",&x,&y,&z,&X)#define S_1(x) scan_d(x)#define S_2(x,y) scan_d(x),scan_d(y)#define S_3(x,y,z) scan_d(x),scan_d(y),scan_d(z)#define PI acos(-1)#define endl '\n'#define srand() srand(time(0));#define me(x,y) memset(x,y,sizeof(x));#define foreach(it,a) for(__typeof((a).begin()) it=(a).begin();it!=(a).end();it++)#define close() ios::sync_with_stdio(0); cin.tie(0);#define FOR(x,n,i) for(int i=x;i<=n;i++)#define FOr(x,n,i) for(int i=x;i<n;i++)#define fOR(n,x,i) for(int i=n;i>=x;i--)#define fOr(n,x,i) for(int i=n;i>x;i--)#define W while#define sgn(x) ((x) < 0 ? -1 : (x) > 0)#define bug printf("***********\n");#define db double#define ll long long#define mp make_pair#define pb push_backtypedef long long LL;typedef pair <int, int> ii;const int INF=0x3f3f3f3f;const LL LINF=0x3f3f3f3f3f3f3f3fLL;const int dx[]={-1,0,1,0,1,-1,-1,1};const int dy[]={0,1,0,-1,-1,1,-1,1};const int maxn=2e3+10;const int maxx=1e3+10;const double EPS=1e-8;const double eps=1e-8;const int mod=1e9+7;template<class T>inline T min(T a,T b,T c) { return min(min(a,b),c);}template<class T>inline T max(T a,T b,T c) { return max(max(a,b),c);}template<class T>inline T min(T a,T b,T c,T d) { return min(min(a,b),min(c,d));}template<class T>inline T max(T a,T b,T c,T d) { return max(max(a,b),max(c,d));}template <class T>inline bool scan_d(T &ret){char c;int sgn;if (c = getchar(), c == EOF){return 0;}while (c != '-' && (c < '0' || c > '9')){c = getchar();}sgn = (c == '-') ? -1 : 1;ret = (c == '-') ? 0 : (c - '0');while (c = getchar(), c >= '0' && c <= '9'){ret = ret * 10 + (c - '0');}ret *= sgn;return 1;}inline bool scan_lf(double &num){char in;double Dec=0.1;bool IsN=false,IsD=false;in=getchar();if(in==EOF) return false;while(in!='-'&&in!='.'&&(in<'0'||in>'9'))in=getchar();if(in=='-'){IsN=true;num=0;}else if(in=='.'){IsD=true;num=0;}else num=in-'0';if(!IsD){while(in=getchar(),in>='0'&&in<='9'){num*=10;num+=in-'0';}}if(in!='.'){if(IsN) num=-num;return true;}else{while(in=getchar(),in>='0'&&in<='9'){num+=Dec*(in-'0');Dec*=0.1;}}if(IsN) num=-num;return true;}void Out(LL a){if(a < 0) { putchar('-'); a = -a; }if(a >= 10) Out(a / 10);putchar(a % 10 + '0');}void print(LL a){ Out(a),puts("");}//freopen( "in.txt" , "r" , stdin );//freopen( "data.txt" , "w" , stdout );//cerr << "run time is " << clock() << endl;int n;int a[maxn];LL sum[maxn][maxn];LL pre[maxn];LL mic[maxn][maxn];void solve(){W(cin>>n){me(mic,0);me(sum,0);FOR(1,n,i) s_1(a[i]);FOR(1,n,i) mic[i][i]=a[i];FOR(1,n,i){int mx=a[i],sum=a[i];FOR(i+1,n,j){if(sum>0) sum=0;sum+=a[j];if(sum<mx) mx=sum;mic[i][j]=mx;}}FOR(1,n,i){int x;s_1(x);a[i]+=x;}pre[0]=0;FOR(1,n,i) pre[i]=pre[i-1]+a[i];FOR(1,n,i)FOR(i,n,j)sum[i][j]=pre[j]-pre[i-1];LL ans=-LINF;FOR(1,n,i){FOR(i+2,n,j){ans=max(ans,sum[i][j]-mic[i+1][j-1]);}}print(ans);}}int main(){   // freopen( "in.txt" , "r" , stdin );    //freopen( "data.txt" , "w" , stdout );    int t=1;    //init();    //s_1(t);    for(int cas=1;cas<=t;cas++)    {        //printf("Case #%d: ",cas);        solve();    }}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 母亲开始抗拒慢慢变迎合我口诉 母亲开始抗拒慢慢迎合我 第章顶开高贵母亲两瓣 母亲从抗拒慢慢变的迎合我 母亲疯狂迎合我txt小说下载 来吧儿子妈要你 影视片 儿子进来今晚妈让你做个够电影 儿子今晚妈让你做人个够知音网 离婚后和儿子睡觉 儿子让妈给你留个种吧 儿子妈要你的大吉吧 没开灯把小偷当老公 女儿怀孕我给姑爷解决问题 有给儿子口的吗 儿子你的真大 儿子想怎么弄就怎么弄吧 坏儿子还能在深点吗 睡着儿子顶了进来 儿子别急妈是你的小说 儿子今晚妈让你做人个够的视频 母亲和我做完跟父亲做在线阅读 高粱地里野坑头 明明有老公却想跟儿子 玉米地理日刘审一 玉米地理日刘审全集电影 玉米理日刘审 玉米地理日刘审全集 玉米地和娘亲的故事风雨 在玉米地插娘亲第1章 满仓与娘亲怀孕全文阅读 你不要命了你爸还没睡着 玉米地和娘亲故事会文 娘的身子能满足你吗 玉米地上了小翠 在玉米地插娘亲小说下载 在玉米地插娘亲目录 厨房撒下姑妈的裙子txt 在棉花地插娘 穷山村的娘和儿子长篇全文阅读 棉花地里弄娘 福林与娘亲怀孕全文下载