ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AGC055C

2022-02-17 18:01:20  阅读:181  来源: 互联网

标签:lfloor frac rfloor LIS 序列 AGC055C 2j


题面

link

​ 给定\(n,m\),求长度为\(n\)且满足下面条件的数列\(A\)的数量。

  • \(2\le a_i\le m (1 \le i \le n)\)
  • 存在一个排列\(P\),使\(\forall i\in [1,n],A_i\)等于数列\([p_1,p_2...p_{i-1},p_{i+1}...p_{n}]\)的最长上升子序列的长度。

题解

​ 首先要确定,\(\forall i,a_i=K/K-1\),并且当\(a_i=K-1\)的时候,含义是\(p_i\)在所有最长上升子序列(LIS)中。

​ 设\(p_{b_1},p_{b_2}...p_{b_p}\)为\(P\)中,在所有LIS的数构成的序列(即我们现在有\(p\)个位置\(a_i=K-1\)),然后我们要考虑究竟有多少个\(K\)的取值。

​ 你会发现\(K\)的下界是\(p\)(不然根本不能有这么多必在LIS中的数),然后考虑上界,其实就是在\(p_{b_i}+1\sim p_{b_{i+1}}-1\)中的数,要让这些数形成最大的最长LIS长度,并且还能计算到整个序列的LIS中,而且还不能存在一个出现在所有LIS中的数。要满足以下要求:

  • 首先要知道只有在\([p_{b_i}+1,p_{b_{i+1}}-1]\)的数才可能对整个序列的LIS产生贡献,但因为所有的\(P\)都是你来钦定,所以没有太多影响影响。
  • 然后考虑不存在出现在所有LIS中的数,最优的放置方法就是设\(s=p_{b_{i+1}}-p_{b_i}-1\),然后前\(\lfloor\frac{s}{2}\rfloor\)放一个以\(p_{b_i}+\lfloor\frac{s}{2}\rfloor+1\)为起始的公差为\(1\)的等差序列,接着在来一个以\(p_{b_i}+1\)为起始的公差为\(1\)的等差序列,最后一个数在放一个不会影响的数,可以证明是存在这样的方案的。

​ 所以\(K\)的上界就是\(\sum\lfloor \frac{s}{2}\rfloor\),又可以证明,对于\(\forall K\in[p,\sum\lfloor \frac{s}{2}\rfloor]\),总存在一种构造方案。

​ 所以我们可以枚举\(i=p,j=\sum\lfloor \frac{s}{2}\rfloor\),可以知道奇数段的长度是\(n-i-2j\)(因为只有奇数段才会出现除2下取整使\(i+2j<n\)的情况)

​ 然后我们在所有\(i+1\)中选择\(n-i-2j\)的作为奇数段方案数为\(\binom{i+1}{n-i-2j}\),然后就是将\(j\)个\(2\)放进\(i+1\)个盒子(允许空盒)的方案为\(\binom{i+j}{i}\),\(K\)的取值有\(\max(0,\min(m,i+j)−\max(3,i)+1)\)种,乘起来,再加起来就可以了。

​ 关于上面被证明存在的构造方案:大致构造思路是先将\(K\)分配(貌似是怎么分配都可以,但为了方便,还是选择全分给左边),然后就分配了的一块就按上面的构造方法,没有分配(是一段后缀)的就是一段小的降序序列。

扩展

​ 有没有想过如果题目是给你一个序列,让你求\(A\)怎么办,其实就像给序列分层,设\(f[i]\)表示以\(i\)结尾的LIS长度,那么第\(j\)层相当于所有\(f[i]=j\)的都是这一层的点,然后若这一层只有一个点能够转移到下一层,那么这个\(a_i=K-1\),否则\(a_i=K\)

启发

  • 好好了解了LIS的问题,包括后面的扩展。

标签:lfloor,frac,rfloor,LIS,序列,AGC055C,2j
来源: https://www.cnblogs.com/qwq-123/p/15905766.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有