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

网站开发试验报告网站关键词推广工具

网站开发试验报告,网站关键词推广工具,网站设计旅行社新闻内容,铁常乐个人网站正题 题目链接:https://www.luogu.com.cn/problem/AT4439 题目大意 给出1∼n1\sim n1∼n的排列aaa。求一个字典序最小的010101串sss满足将000对应位置按顺序取出成为序列AAA#xff0c;剩下的成为序列BBB。 要求AAA和BBB的前缀最大值个数相同。 1≤n≤21051\leq n\leq 2\ti…正题 题目链接:https://www.luogu.com.cn/problem/AT4439 题目大意 给出1∼n1\sim n1∼n的排列aaa。求一个字典序最小的010101串sss满足将000对应位置按顺序取出成为序列AAA剩下的成为序列BBB。 要求AAA和BBB的前缀最大值个数相同。 1≤n≤2×1051\leq n\leq 2\times 10^51≤n≤2×105 解题思路 首先对于前缀最大值来说在排列aaa中的前缀最大值肯定在A/BA/BA/B中也是前缀最大值。 而假设我们序列AAA和BBB中都存在一个前缀最大值是在aaa中没有出现过的那么显然这两个值前面比它大的值都在另一个序列中所以我们交换这两个值时A/BA/BA/B的前缀最大值个数都减少了111。 所以如果存在一组解A/BA/BA/B中存在一个序列的所有前缀最大值都是aaa中原来的最大值。 那么接着考虑假设我们做到一个状态A/BA/BA/B中目前最大值个数为na/nbn_a/n_bna​/nb​后面还有ccc个原来aaa序列中的最大值BBB需要用kkk个剩下ppp个都是新的最大值那么如果有解就有等式 nac−knbkp⇒na−nbc2kpn_ac-kn_bkp\Rightarrow n_a-n_bc2kpna​c−knb​kp⇒na​−nb​c2kp 而左边的式子是定值所以我们只需要考虑右边式子的取值范围。 然后对于序列BBB目前最后一个数是mbm_bmb​设旧最大值数权为222其他数的权值111。我们就需要考虑后面是否存在一个mbm_bmb​开始的上升序列的权值和为na−nbcn_a-n_bcna​−nb​c。 而因为权值只有111和222所以我们用数据结构维护一下奇偶的最大答案即可。 由于他要求字典序最小我们无法确定AAA是全是旧的最大值还是BBB全是旧的最大值所以我们两种情况都需要判断。 时间复杂度O(nlog⁡n)O(n\log n)O(nlogn) code #includecstdio #includecstring #includealgorithm using namespace std; const int N2e510; int n,s,a[N],od[N],ans[N],f[N][2]; struct SegTree{int w[N2];void Change(int x,int L,int R,int pos,int val){if(LR){w[x]val;return;}int mid(LR)1;if(posmid)Change(x*2,L,mid,pos,val);else Change(x*21,mid1,R,pos,val);w[x]max(w[x*2],w[x*21]);}int Ask(int x,int L,int R,int l,int r){lmax(l,L);rmin(r,R);if(lr)return w[0];if(LlRr)return w[x];int mid(LR)1;if(rmid)return Ask(x*2,L,mid,l,r);if(lmid)return Ask(x*21,mid1,R,l,r);return max(Ask(x*2,L,mid,l,mid),Ask(x*21,mid1,R,mid1,r));} }T[2]; bool check(int p,int x){if(x0)return 0;return T[x1].Ask(1,1,n,p,n)x; } int main() {scanf(%d,n);int maxs0;for(int i1;in;i){scanf(%d,a[i]);if(a[i]maxs)od[i]1,s,maxsa[i]; }memset(T[1].w,0xcf,sizeof(T[1].w));for(int in;i1;i--){int p!od[i];for(int j0;j2;j){f[i][j]T[j^p].Ask(1,1,n,a[i]1,n)1od[i];T[j].Change(1,1,n,a[i],f[i][j]);}}int A0,B0,ma0,mb0;for(int i1;in;i){s-od[i];T[0].Change(1,1,n,a[i],T[0].w[0]);T[1].Change(1,1,n,a[i],T[1].w[0]);if(check(max(ma,a[i]),Bs-A-(a[i]ma))||check(mb,As-B(a[i]ma)))ans[i]0,A(a[i]ma),mamax(ma,a[i]);else ans[i]1,B(a[i]mb),mbmax(mb,a[i]);}if(A!B)return puts(-1)0;for(int i1;in;i)putchar(ans[i]0);return 0; }
http://wiki.neutronadmin.com/news/413619/

相关文章:

  • 免费个人博客建站外包网站公司
  • 先做网站主页还是先上架宝贝宁波如何做seo排名优化
  • 深圳建设网站过程产品开发岗位职责
  • 南山的网站建设百度seo排名优化是什么
  • 高端集团官方网站建设公司网络平台建设及运营方案
  • 万州网站建设果园路有免费的网站建设
  • 网页设计做音乐网站h5页面是什么
  • 做网站使用什么语言写环卫公厕建设门户网站访谈
  • 为什么局域网做网站陕西科技网站建设
  • 网站代发怎么做nanopi neo做网站
  • 设计素材网站月收益互推商盟
  • 网站建设评判标准石家庄装修公司排名
  • 蜂蜜做的好网站或案例开贴纸网站要怎么做的
  • 深圳自己做网站长沙网站推广工具
  • 宁波哪家公司做网站好wordpress网站系统
  • 遵义 网站建设济宁有做企业网站吗
  • 东莞网站推广公司怎样黑进别人的网站
  • 建设部网站资质人员查询网站绑定两个域名怎么做跳转
  • 拓吧网站观澜小学 网站建设
  • 做乒乓球网站的图片word如何做网站链接
  • 网站建设合同用缴印花税吗工业设计公司网站如何建设
  • 网站建设8万属于资产吗郑州网站建设公司制作定制
  • 网站建设的整体流程有哪些?网站开发营业执照
  • 新闻类网站设计东莞长安
  • 东莞专业微网站建设价格低微信公众号 wordpress
  • 青岛企业网站推广建筑方案设计网站
  • 网站seo服务公司好乐买的网站推广方式
  • 看电影免费网站旅行志 wordpress
  • 卖网站链接做别墅花园绿化的网站
  • 模板网站建设代理商东莞营销型高端网站建设