• 【动态规划】【单调队列】tyvj1305 最大子序和


    http://blog.csdn.net/oiljt12138/article/details/51174560

    单调队列优化dp

    #include<cstdio>
    #include<deque>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    typedef long long ll;
    int n,m;
    ll a[300100],ans;
    deque<int>q;
    int main(){
    	scanf("%d%d",&n,&m);
    	for(int i=1;i<=n;++i){
    		cin>>a[i];
    	}
    	for(int i=2;i<=n;++i){
    		a[i]+=a[i-1];
    	}
    	q.push_front(0);
    	for(int i=1;i<=n;++i){
    		while((!q.empty()) && a[q.front()]>=a[i]){
    			q.pop_front();
    		}
    		q.push_front(i);
    		while(q.back()<i-m){
    			q.pop_back();
    		}
    		ans=max(ans,a[i]-a[q.back()]);
    	}
    	cout<<ans<<endl;
    	return 0;
    }
  • 相关阅读:
    Spring总结
    Json
    智能搜索
    Ajax
    include指令和include标签的区别
    jsp状态管理
    Model1
    JavaBean
    JSP内置对象的解析
    镜像地址管理工具nrm
  • 原文地址:https://www.cnblogs.com/autsky-jadek/p/6653681.html
Copyright © 2020-2023  润新知