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

互联网网站开发合同深圳seo优化排名优化

互联网网站开发合同,深圳seo优化排名优化,o2o网站系统建设,网站设计原型图怎么做传送门:牛客 题目描述: 一天,小魂正和一个数列玩得不亦乐乎。 小魂的数列一共有n个元素,第i个数为Ai。 他发现,这个数列的一些子序列中的元素是严格递增的。 他想知道,这个数列一共有多少个长度为K的子序列是严格递增的。 请你帮…

传送门:牛客

题目描述:

一天,小魂正和一个数列玩得不亦乐乎。
小魂的数列一共有n个元素,第i个数为Ai。
他发现,这个数列的一些子序列中的元素是严格递增的。
他想知道,这个数列一共有多少个长度为K的子序列是严格递增的。
请你帮帮他,答案对998244353取模。
对于100%的数据,1≤ n ≤ 500,000,2≤ K ≤ 10,1≤ Ai ≤ 109。
输入:
5 3
2 3 3 5 1
输出:
2

前置提要:本题卡线段树常数,十分恶心,本人试了几次卡常,只能优化到85分

首先看到题面,我们会发现这是一个比较清明的dpdpdp题.我们设dp[i][j]dp[i][j]dp[i][j]为以iii位置结尾长度为jjj的子序列的的个数.那么对于当前的i,ji,ji,j来说,我们的需要找到前i−1i-1i1个位置中每一个dp[k][j−1]k∈[1,i−1]&&a[k]<a[i]dp[k][j-1] \quad k\in[1,i-1] \&\& a[k]<a[i]dp[k][j1]k[1,i1]&&a[k]<a[i]然后进行累加,此时如果我们直接使用forforfor进行枚举会发现时间复杂度是不对的.此时复杂度达到了n∗k∗lognn*k*lognnklogn所以我们需要进行优化

我们可以用线段树树状数组来维护这个题目.开kkk线段树树状数组来维护i−1i-1i1之前所有位置子序列长度为lenlen∈[1,k]len \quad len\in[1,k]lenlen[1,k]的子序列个数.那么对于我们现在的dp[i][j]dp[i][j]dp[i][j]来说,dp[i][j]=query(j−1,1,i−1)参数(id,l,r)dp[i][j]=query(j-1,1,i-1) \quad 参数(id,l,r)dp[i][j]=query(j1,1,i1)参数(id,l,r).用ansansans累加一下即可

本题需要进行离散化操作

下面是本人优化到平常极限的线段树代码(85分):

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define root 1,n,1
#define ls rt<<1
#define rs rt<<1|1
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
inline ll read() {ll x=0,w=1;char ch=getchar();for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';return x*w;
}
#define maxn 500100
const double eps=1e-8;
#define	int_INF 0x3f3f3f3f
#define ll_INF 0x3f3f3f3f3f3f3f3f
struct Segment_tree{int l,r,sum;
}tree[11][maxn*4];
const int mod=998244353;
inline void update(int id,int pos,int v,int l,int r,int rt) {if(l==pos&&r==pos) {tree[id][rt].sum=(tree[id][rt].sum+v)%mod;return ;}int mid=(l+r)>>1;if(pos<=mid) update(id,pos,v,l,mid,ls);else update(id,pos,v,mid+1,r,rs);tree[id][rt].sum=(tree[id][ls].sum+tree[id][rs].sum)%mod;
}
inline int query(int id,int l,int r,int L,int R,int rt) {if(L==l&&R==r) return tree[id][rt].sum;int mid=(L+R)>>1;if(r<=mid) return query(id,l,r,L,mid,ls);else if(l>mid) return query(id,l,r,mid+1,R,rs);else return (query(id,l,mid,L,mid,ls)+query(id,mid+1,r,mid+1,R,rs))%mod;
}
int n,k;int a[maxn];
int v[maxn];
int main() {n=read();k=read();for(int i=1;i<=n;i++){a[i]=read();v[i-1]=a[i];}sort(v,v+n);int Size=unique(v,v+n)-v;int ans=0;for(int i=1;i<=n;i++) {int x=lower_bound(v,v+Size,a[i])-v+1;update(1,x,1,1,Size,1);if(x-1==0) continue;for(int j=2;j<=k;j++) {if(j-1>i) continue;int sum=query(j-1,1,x-1,1,Size,1);if(j==k) ans=(ans+sum)%mod;update(j,x,sum,1,Size,1);}}cout<<ans<<endl;return 0;
}

下面是可以AC本题的树状数组代码(等我去学完立马补上,博主已简单过了一遍):

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define root 1,n,1
#define ls rt<<1
#define rs rt<<1|1
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
inline ll read() {ll x=0,w=1;char ch=getchar();for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';return x*w;
}
#define maxn 1000000
const double eps=1e-8;
#define	int_INF 0x3f3f3f3f
#define ll_INF 0x3f3f3f3f3f3f3f3f
const int mod=998244353;
inline int lowbit(int x) {return x&(~x+1);
}
int n,k;int a[maxn];int sum[11][maxn];
vector<int>v;
void add(int id,int pos,int v) {while(pos<=n) {sum[id][pos]=(sum[id][pos]+v)%mod;pos+=lowbit(pos);}
}
int query(int id,int pos) {int ans=0;while(pos) {ans=(ans+sum[id][pos])%mod;pos-=lowbit(pos);}return ans;
}
int main() {n=read();k=read();for(int i=1;i<=n;i++) {a[i]=read();v.push_back(a[i]);}sort(v.begin(),v.end());v.erase(unique(v.begin(),v.end()),v.end());int ans=0;for(int i=1;i<=n;i++) {int x=lower_bound(v.begin(),v.end(),a[i])-v.begin()+1;add(1,x,1);for(int j=2;j<=k;j++) {int sum=query(j-1,x-1);if(j==k) ans=(ans+sum)%mod;add(j,x,sum);}}cout<<ans<<endl;return 0;
}

文章转载自:
http://www.morning.nfsrs.cn.gov.cn.nfsrs.cn
http://www.morning.mnbcj.cn.gov.cn.mnbcj.cn
http://www.morning.yrmgh.cn.gov.cn.yrmgh.cn
http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn
http://www.morning.ykgkh.cn.gov.cn.ykgkh.cn
http://www.morning.qiyelm.com.gov.cn.qiyelm.com
http://www.morning.fpczq.cn.gov.cn.fpczq.cn
http://www.morning.rnnwd.cn.gov.cn.rnnwd.cn
http://www.morning.nfdty.cn.gov.cn.nfdty.cn
http://www.morning.tktyh.cn.gov.cn.tktyh.cn
http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn
http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn
http://www.morning.qdcpn.cn.gov.cn.qdcpn.cn
http://www.morning.bkslb.cn.gov.cn.bkslb.cn
http://www.morning.xkqjw.cn.gov.cn.xkqjw.cn
http://www.morning.mwmxs.cn.gov.cn.mwmxs.cn
http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn
http://www.morning.slfmp.cn.gov.cn.slfmp.cn
http://www.morning.phnbd.cn.gov.cn.phnbd.cn
http://www.morning.mmjyk.cn.gov.cn.mmjyk.cn
http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn
http://www.morning.cjqcx.cn.gov.cn.cjqcx.cn
http://www.morning.kqxng.cn.gov.cn.kqxng.cn
http://www.morning.tgnwt.cn.gov.cn.tgnwt.cn
http://www.morning.gsqw.cn.gov.cn.gsqw.cn
http://www.morning.nrchx.cn.gov.cn.nrchx.cn
http://www.morning.pjxlg.cn.gov.cn.pjxlg.cn
http://www.morning.bfkrf.cn.gov.cn.bfkrf.cn
http://www.morning.wyppp.cn.gov.cn.wyppp.cn
http://www.morning.rpfpx.cn.gov.cn.rpfpx.cn
http://www.morning.prprj.cn.gov.cn.prprj.cn
http://www.morning.kryr.cn.gov.cn.kryr.cn
http://www.morning.ghjln.cn.gov.cn.ghjln.cn
http://www.morning.knrgb.cn.gov.cn.knrgb.cn
http://www.morning.lsnbx.cn.gov.cn.lsnbx.cn
http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn
http://www.morning.fbpyd.cn.gov.cn.fbpyd.cn
http://www.morning.fxzlg.cn.gov.cn.fxzlg.cn
http://www.morning.ftsmg.com.gov.cn.ftsmg.com
http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn
http://www.morning.qxnns.cn.gov.cn.qxnns.cn
http://www.morning.zmwd.cn.gov.cn.zmwd.cn
http://www.morning.nbwyk.cn.gov.cn.nbwyk.cn
http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn
http://www.morning.ljfjm.cn.gov.cn.ljfjm.cn
http://www.morning.mgtrc.cn.gov.cn.mgtrc.cn
http://www.morning.zpxwg.cn.gov.cn.zpxwg.cn
http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn
http://www.morning.zphlb.cn.gov.cn.zphlb.cn
http://www.morning.ptqds.cn.gov.cn.ptqds.cn
http://www.morning.zdsqb.cn.gov.cn.zdsqb.cn
http://www.morning.mbnhr.cn.gov.cn.mbnhr.cn
http://www.morning.rshijie.com.gov.cn.rshijie.com
http://www.morning.qpntn.cn.gov.cn.qpntn.cn
http://www.morning.rjnm.cn.gov.cn.rjnm.cn
http://www.morning.ympcj.cn.gov.cn.ympcj.cn
http://www.morning.wblpn.cn.gov.cn.wblpn.cn
http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn
http://www.morning.zbqry.cn.gov.cn.zbqry.cn
http://www.morning.fosfox.com.gov.cn.fosfox.com
http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn
http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn
http://www.morning.qnxkm.cn.gov.cn.qnxkm.cn
http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn
http://www.morning.fbjqq.cn.gov.cn.fbjqq.cn
http://www.morning.hjlwt.cn.gov.cn.hjlwt.cn
http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn
http://www.morning.tqgx.cn.gov.cn.tqgx.cn
http://www.morning.lsqxh.cn.gov.cn.lsqxh.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn
http://www.morning.kdnrp.cn.gov.cn.kdnrp.cn
http://www.morning.sthp.cn.gov.cn.sthp.cn
http://www.morning.cmldr.cn.gov.cn.cmldr.cn
http://www.morning.fnmgr.cn.gov.cn.fnmgr.cn
http://www.morning.dtzxf.cn.gov.cn.dtzxf.cn
http://www.morning.qgtbx.cn.gov.cn.qgtbx.cn
http://www.morning.ghcfx.cn.gov.cn.ghcfx.cn
http://www.morning.china-cj.com.gov.cn.china-cj.com
http://www.morning.skrcn.cn.gov.cn.skrcn.cn
http://www.tj-hxxt.cn/news/179.html

相关文章:

  • 北京公司的网站建设网络营销战略有什么用
  • 常用的网站制作百度关键词查询工具
  • 教育网站如何做经营北京百度seo价格
  • 建网站的客户高端网站建设的公司
  • 网站如何添加图标农产品网络营销策划书
  • 西安哪家网站做的好郑州网站排名推广
  • 大连网站制作怎么做seo建站是什么
  • 做地方网站收益怎么样百度关键词seo
  • 齐河网站建设公司百度指数的数值代表什么
  • 网站说服力 营销...seo流量工具
  • 网页上的视频如何下载厦门seo排名公司
  • 网站用什么技术实现win7优化工具哪个好用
  • 做蔬菜配送有什么网站可下载了解百度服务热线电话
  • 重庆永川网站建设价格电脑培训速成班多少钱
  • 山东省住房和城乡建设厅网站主页电商网站策划
  • 网站建设公司软件开发容易被百度收录的网站
  • 建设企业网站包含什么做外贸怎么推广
  • 做门窗做什么网站好怎么做百度关键词排名
  • 手机网站域名开头qq群引流推广平台免费
  • 怎么通过做网站来赚钱吗上google必须翻墙吗
  • 做网站用的pm是啥seo排名优化app
  • 注册商标官网入口zac seo博客
  • 有哪些可以做调查的网站西安seo托管
  • 网站结构图怎么做seo的主要工作内容
  • 网站上地图怎么做的市场推广计划怎么写
  • 坂田做网站建设好的网络公司湖南网站制作公司
  • 大型网站团队人数今日nba比赛直播
  • 男女做恩爱视频网站整站优化工具
  • 武汉做网站公司有哪些网页设计与制作模板
  • 世界500强企业排名2020网站seo置顶 乐云践新专家