前言
t
a
g
:
tag :
tag:字符串
组合数
*1300
传送门 :
给定一个 字符串, 仅删除一次子串(连续),询问有多少种方法使得最后剩余的串只出现相同的字符
思路组合数问题,首先我们考虑分类讨论
- 如果本来的串就是相同的 , 那么我们考虑使用隔板法,对于 n + 1 n+1 n+1个空隙,我们选 2 2 2个空隙删除,即 C n + 1 2 = n ∗ ( n + 1 ) 2 C_{n+1}^2=\frac{n*(n+1)}{2} Cn+12=2n∗(n+1)
- 如果头尾一样,则 ( p r e + 1 ) ∗ ( s u l ∗ 1 ) (pre+1)*(sul*1) (pre+1)∗(sul∗1),作乘法原理
- 否则就只能单一的删除 p r e + s u l + 1 pre+sul+1 pre+sul+1
const int mod = 998244353;
void solve(){
int n;cin>>n;
string s;cin>>s;
int flag = 0 ;
ll pre = 1 ;
ll sul = 1 ;
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?