首页 > 其他分享 >题解 LGP7888【「MCOI-06」Distinct Subsequences】

题解 LGP7888【「MCOI-06」Distinct Subsequences】

时间:2022-11-23 16:13:42浏览次数:48  
标签:字符 begin 06 Distinct 题解 字符串 bmatrix 序列 end

problem

给定一个由小写字符构成的字符串 \(S\)。

令一个字符串的价值为该串的本质不同非空子序列个数,其中子序列可以为整体。

求 \(S\) 所有子序列的价值和。答案对 \(10^9+7\) 取模。

对于 \(100\%\) 的数据,\(1\le |S|\le 10^6\)。

solution

考虑如何求出一个字符串的价值?

令 \(f_i\) 表示以字符 \(i\) 为结尾有多少个本质不同的非空子序列。

增量法,每次加入字符 \(r\),将 \(f_r\) 修改为 \(1+\sum_{i}f_i\),表示将之前所有以 \(r\) 为结尾的子序列都接上 \(r\),最后补上单独的 \(r\)。

我们可以将这样的过程表示为矩阵:(假设只有 \(3\) 个字符,加入字符 \(1\))

\[\begin{bmatrix} f_0 &f_1 &f_2 &1 \end{bmatrix}\times \begin{bmatrix} 1 &1 &0 &0\\ 0 &1 &0 &0\\ 0 &1 &1 &0\\ 0 &1 &0 &1 \end{bmatrix}= \begin{bmatrix} f'_0 &f'_1 &f'_2 &1 \end{bmatrix}. \]

回到原问题,要求所有子序列的价值之和。我们考虑用二项式展开的集合意义:

标签:字符,begin,06,Distinct,题解,字符串,bmatrix,序列,end
From: https://www.cnblogs.com/caijianhong/p/solution-P7888.html

相关文章

  • Codeforces Round #790 (Div.4) A-H2题解
    原题链接:https://codeforces.com/contest/1676A.Lucky?题意:给定长度为6由数字组成的字符串问前三个数字的和是否等后三个数字的和。题解:直接相加比较即可。#include<......
  • 题解 LGP2607【[ZJOI2008] 骑士】
    problem基环树森林带权最大独立集。\(n\leq10^6\)。solution0这里先解释一下基环树森林,它就是一个\(n\)个点\(n\)条边的森林,同时是一个荒漠。我们拿出其中一棵连......
  • Codeforces Round #835 (Div.4) A-G题解
    原题链接:https://codeforces.com/contest/1744A.MediumNumber题意:给定三个数,求中间那个数(倒数第二小or倒数第二大)。题解:直接用数组存,sort一下输出中间的数即可。#in......
  • 基于XQ6657Z35-EVM开发平台上TI TMS320C6657 TLV320AIC3206音频设计
    XQ6657Z35-EVM评估板是基于TI双核DSPTMS320C6657和XilinxZynqSoC处理器XC7Z035设计的多核异构平台,由核心板与底板架构组成。​SOM-XQ6657Z35核心板资源框图TMS320C6657......
  • 题解 LGP7489【「Stoi2031」手写的从前】
    problem令\(f_0(S)=\dfrac{\sigma(S)}{\pi(S)}\),\(f_k(S)=\sum\limits_{T\subseteqS}f_{k-1}(T)\)。其中\(\sigma(S)=\sum\limits_{x\inS}x\)为\(S\)中所有元素......
  • 【题解】P2303 [SDOI2012] Longge 的问题
    【题解】P2303[SDOI2012]Longge的问题题目链接求\(\displaystyle\sum_{i=1}^n\gcd(i,n)\)将这个柿子展开变复杂,得到\[\displaystyle\sum_{i=1}^{n}\sum_{d\mid......
  • P2819 图的m着色问题 C++ 详细题解
    题目背景给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的。图......
  • P1002 过河卒 详细题解 搜索回溯+递归 [NOIP2002 普及组]
    题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方......
  • Could not get a resource from the pool 问题解决
    Couldnotgetaresourcefromthepool问题解决今天测试项目的时候,界面提示Couldnotgetaresourcefromthepool 报错信息。登录后台,查询对应的java报错日志报......
  • 奇怪的主席树题 题解
    前言前置知识:可持久化线段树,字符串hash,线段树二分。Description给你一棵\(n\)个点以\(1\)为根节点的树,每一个节点都代表一个\(m\)个字符的字符串。每一个节点......