首页 > 其他分享 >CF1383E 题解

CF1383E 题解

时间:2023-02-25 16:24:01浏览次数:59  
标签:10 01 题解 计数 le 序列 CF1383E

题意

传送门

给定一个长度为 \(n\) 的 01 串 \(a\)。在一次操作中,你可以选择任意一个 \(i\in[1,|a|)\),令 \(a_i=\max(a_i,a_{i+1})\),然后将 \(a_{i+1}\) 删除。你可以进行不超过 \(n-1\) 次操作,问一共能得到多少种 01 串,答案对 \(10^9+7\) 取模。

\(1\le n\le 10^6\)。

题解

若对操作的序列计数,此题难以处理。我们通过一些转换,对可以得到的串计数。

利用 \(1\) 将串划分,记录每段 \(0\) 的数量。如 \(001010011\) 就是 \(\{2,1,2,0,0\}\)。那么可行的操作就是将一个大于 \(0\) 的数减 \(1\),或删除一个不在头尾的 \(0\)。于是一个串与一个序列一一对应。下面我们对序列计数。

头尾不删,则可以扔掉,最后乘上系数 \((a_{1}+1)(a_n+1)\)。此时可知一个长为 \(m\) 的序列 \(b\) 可行的充要条件:存在 \(i_1<i_2<\dots<i_m\) 满足 \(\forall j\in[1,m],b_j\le a_{i_j}\)。用类似子序列自动机的方式判断。每次向后找到第一个大于等于 \(b_j\) 的位置并移动指针。

然后可以 \(\text{dp}\)。设 \(f_i\) 表示指针在 \(i\),每次枚举下一个放的数。则有 \(f_i=\sum\limits_{j<i}f_j+\max(0,a_i-\max\limits_{k=j+1}^{i-1}a_k)\)。单调栈可做到 \(O(n)\)。

标签:10,01,题解,计数,le,序列,CF1383E
From: https://www.cnblogs.com/FishJokes/p/17154677.html

相关文章

  • AtCoder Beginner Contest 287 A-F 题解
    比赛链接A-Majority先这样再那样最后这样,就是这样。点击查看代码#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;intn,a;char......
  • AtCoder Beginner Contest 286 A-G 题解
    比赛链接A-RangeSwap根据题意,分段输出。点击查看代码#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;constintN=105;intn,......
  • P8720 [蓝桥杯 2020 省 B2] 平面切分 题解
    前言建议本题评黄,因为需要较强的数学能力。如果格式炸了去这里看哦题意给出\(N\)条直线的解析式\(y=kx+b\),求出这些直线把平面分成了几部分。思路看到这道题我们......
  • [六省联考 2017] 组合数问题 题解
    题目描述组合数\(C_n^m\)表示的是从\(n\)个互不相同的物品中选出\(m\)个物品的方案数。举个例子,从\((1,2,3)\)三个物品中选择两个物品可以有\((1,2)\),\((1,......
  • 2.25 校内模拟赛 题解
    好消息:签到题首杀。坏消息:只会签到题。\(\text{contestid:726}\)A.随机\(\text{problemid:2307}\)B.回文路径\(\text{problemid:3772}\)成功首杀。看到回......
  • AtCoder Beginner Contest 282 A-F 题解
    比赛链接A-GeneralizedABC额,对,是的,没错,先这样再那样然后这样就是这样。点击查看代码#include<cstdio>intn;intmain(){ scanf("%d",&n); for(inti=0;......
  • #68. 「NOIP2004」津津的储蓄计划 题解
    #68.「NOIP2004」津津的储蓄计划题解题目传送门题目知识点模拟题目分析非常的“明显”,这是一道模拟题。题意说明有可能在某个月的月初,津津手中的钱加上这个月妈妈......
  • #119. 最大整数 题解
    #119.最大整数题解题目传送门题目知识点字符串+贪心题意说明设有n个正整数(n<=20),将它们连接成一排,组成一个最大的多位整数。(题目简介明了,一看就是出题人懒得写题目背......
  • #160. 「NOIP2004 普及组」不高兴的津津 题解
    #160.「NOIP2004普及组」不高兴的津津题解题目传送门题目知识点枚举题意说明津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为......
  • #373. 「USACO1.1」Friday the Thirteenth 题解
    #373.「USACO1.1」FridaytheThirteenth题解题目传送门题目知识点模拟+数学闰年知识点题意说明写一个程序来计算在n年里13日落在星期一,星期二......星期日的次数......