当前位置: 首页 > wzjs >正文

做微商必会的软件网站小程序seo

做微商必会的软件网站,小程序seo,vue做移动端网站与pc端有什么区别,网站的中文域名是什么# 记录做题思路 D. Max GEQ Sum 题目: 思路: 使用单调栈,先找到对于a[i]左右两边满足时a[i]作为最大值的L[i],R[i],然后你会发现只要在这个区间里面存在L[i]<l<i使得sm[i-1]-sm[l-1]>0,或者i<r<R[i]使得sm[r]-sm[i]>0那么一定有一个范围使得a[i] < 这个…

# 记录做题思路

D. Max GEQ Sum

题目:

思路:

使用单调栈,先找到对于a[i]左右两边满足时a[i]作为最大值的L[i],R[i],然后你会发现只要在这个区间里面存在L[i]<=l<i使得sm[i-1]-sm[l-1]>0,或者i<r<=R[i]使得sm[r]-sm[i]>0那么一定有一个范围使得a[i] < 这个范围的和,然后怎样找到这个使得l~i-1的值>0或者i+1~r>0的l,r呢?这里可以对a数组的前缀和和后缀+一个单调栈可以解决,比如前缀和我们当前位置为sm_q[i],我们就要找到后面第一个大于sm_q[i]的位置,这样就可以用单调栈解决,怎样就可以求到sm_r[i],sm_l[i]同理即可。

总结:

错误的思路,我以为固定一端比如i,找到j使得i~j的和最大然后只要在里面的最大值大于和就行了。然后

很神奇竟然跑了79个测试点,但这样是不对的比如

20
222770758 -675711961 165034044 -642750758 -883529460 -865620784 446003892 -214378236 68965542 -41638545 106791145 -627263674 669189770 -431963037 -444266038 -904708548 -513875909 676690807 -17002387 -279706831

9~13=176044238

9~11=134118142

很明显68965542 -41638545 106791145(9~11)肯定是错误的,但是对于整个数组来说最大是9~13,说明思路是有问题的。

代码:

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
typedef long long ll;
ll inf=0x3f3f3f3f3f3f3f3f;
void solve(){ll n;cin>>n;vector<ll> a(n+1);vector<ll> sm(n+1);for(ll i=1;i<=n;i++){cin>>a[i];sm[i]=a[i];sm[i]+=sm[i-1];}vector<ll> l(n+1);stack<pair<ll,ll>> stk;for(ll i=1;i<=n;i++){while(stk.size()&&stk.top().first<=a[i])stk.pop();if(stk.size()){l[i]=stk.top().second+1;}else{l[i]=1;}stk.push({a[i],i});}while(stk.size())stk.pop();vector<ll> r(n+1);for(ll i=n;i>=1;i--){while(stk.size()&&stk.top().first<=a[i])stk.pop();if(stk.size()){r[i]=stk.top().second-1;}else{r[i]=n;}stk.push({a[i],i});}vector<ll> sm_q(n+1);vector<ll> sm_h(n+2);for(ll i=1;i<=n;i++)sm_q[i]=sm_q[i-1]+a[i];for(ll i=n;i>=1;i--)sm_h[i]=sm_h[i+1]+a[i];while(stk.size())stk.pop();vector<ll> sm_l(n+1);for(ll i=1;i<=n;i++){while(stk.size()&&stk.top().first<=sm_h[i])stk.pop();if(stk.size()){sm_l[i]=stk.top().second;}else{sm_l[i]=0;}stk.push({sm_h[i],i});}while(stk.size())stk.pop();vector<ll> sm_r(n+1);for(ll i=n;i>=1;i--){while(stk.size()&&stk.top().first<=sm_q[i])stk.pop();if(stk.size()){sm_r[i]=stk.top().second;}else{sm_r[i]=n+1;}stk.push({sm_q[i],i});}for(ll i=1;i<=n;i++){if(sm_l[i]>=l[i]||sm_r[i]<=r[i]){cout<<"NO"<<endl;return;}}cout<<"YES"<<endl;return;
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll _;cin>>_;while(_--)solve();return 0;
}

http://www.dtcms.com/wzjs/271362.html

相关文章:

  • 网站竞争对手如何做调研百度关键词购买
  • 用心做电影的网站百度快照手机版
  • 安康做企业网站的南宁最新消息今天
  • 蚌埠铁路建设监理公司网站百度站长工具
  • 网站增加栏目费用站长之家素材
  • 免费做链接的网站网站优化快速排名软件
  • 电商网站建设策划书百度旧版本
  • 个人网站建设设计网络销售怎么找客源
  • 百度网站的建设目标网站优化公司上海
  • 休闲旅游网站建设深圳哪里有网络推广渠避
  • 长沙有家具网站建设的吗做推广app赚钱的项目
  • 网站 空间 域名铜陵seo
  • jsp网站 自动发送邮件市场营销策划方案
  • 品牌策划公司应具备的能力北京网站sem、seo
  • 单位网站和新媒体建设制度北京培训学校
  • 抖音代运营是干嘛的英文关键词seo
  • 郑州模板网站建设策划公司百度手机助手最新版下载
  • 网站建设包括什么windows优化大师电脑版
  • 猪八戒兼职网官网相城seo网站优化软件
  • 其中最重要的网络设计结果seo百度点击软件
  • 做网站可以提些什么意见百度官网首页网址
  • discuz手机模板信息如何优化上百度首页公司
  • 上海企业一网通办官网关键词优化价格
  • 贵阳自助建站软件seo1域名查询
  • 万网网站模板操作北京网络网站推广
  • 哈尔滨网站优化如何平台营销策略
  • 网站系统安全防护体系建设方案 下载移动优化课主讲:夫唯老师
  • 网站流量分析怎么做平台推广网站
  • 网站制作设计收费标准长沙seo网站优化
  • 能注册账号的网站模板网络培训心得体会