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

A Ribbon for Tomorrow

题意

给你一个长度为 \(n\)\(0/1\) 串 ,每次你可以选择一段端点相同的区间,将区间内顺序反转

解法

我们将序列抽象为 \(x_1\) 个 1 ,\(x_2\) 个 0 ,\(x_3\) 个 1,...... ,$ x_k$ 个 \(0\) ( \(x_1\)\(x_k\) 可能为 \(0\) ),

我们发现操作的实质是改变 \(x\) ,但不改变 \(1/0\) 的相对顺序,所以我们可以钦定只能对 \(101\)\(010\) 操作

这是和原操作等效的,所以题就变为对于\(0/1\)\(p\)\(0/1\) ,有 \(q\) 个 盒子,每个盒子不能为空,求数量

这就很简单,正常用插板法就行


#include<bits/stdc++.h>
using namespace std;#define int long longconst int N=1e6+10;
const int M=2e6+10;
const int mod=998244353;int n;
char s[N];int jc[M],pv[M];int qp(int a,int b){int res=1;while(b){if(b&1) res=res*a%mod;a=a*a%mod; b>>=1;}return res;}void init(){jc[0]=1;for(int i=1;i<M;i++) jc[i]=jc[i-1]*i%mod;pv[M-1]=qp(jc[M-1],mod-2);for(int i=M-1;i>=1;i--) pv[i-1]=pv[i]*i%mod; }int C(int n,int m){if(n<m||n<0||m<0) return 0;return jc[n]*pv[m]%mod*pv[n-m]%mod;}int num[2],cnt[2];void solve(){cin>>n;for(int i=1;i<=n;i++) cin>>s[i];num[1]=num[0]=cnt[1]=cnt[0]=0;for(int i=1;i<=n;){int r=i;while(r+1<=n&&s[r+1]==s[i]) r++;cnt[s[i]-'0']++; num[s[i]-'0']+=r-i+1;i=r+1;}cout<<max(1ll,C(num[0]-1,cnt[0]-1))*max(1ll,C(num[1]-1,cnt[1]-1))%mod<<'\n';}signed main(){ios::sync_with_stdio(false);cin.tie(nullptr);init();int T; cin>>T;while(T--) solve();} 
http://www.jsqmd.com/news/1390784/

相关文章:

  • 学C++最先难倒你的不是语法,而是环境——小熊猫Dev-C++替你铲平入门三道坎
  • 手机号查QQ号完整指南:用免费Python工具在终端快速找回账号
  • 洛雪音乐音源配置终极指南:从选源到调优,一篇带你告别“无声“播放
  • 建设网站考虑因素全解析:从预算规划到技术选型,资深从业者分享避坑指南
  • 2026年餐饮门店出餐错单多怎么解决?行业服务商盘点、避坑指南及靠谱机构推荐 - 产业观察报
  • 抖音TikTok数据采集工具零基础上手:一次完整的DouK-Downloader实操记录
  • 原神帧率解锁终极指南:三步突破60帧上限,告别高刷屏“空转“
  • Linux LVM逻辑卷空间不足诊断与扩容实战指南
  • 2026年想采购济南万能胶别乱找 选靠谱源头厂家省心性价比更高 - 产品推荐官
  • CLAUDE.md:AI编程助手的项目上下文管理手册
  • XHS-Downloader:把小红书主页的作品,整整齐齐搬进你的硬盘
  • 【泄底】斜屋犯罪(岛田庄司)
  • Windows系统自带文件哈希校验:CertUtil命令详解与实战应用
  • UniHacker 实操手册:三步让 Unity 与 Unity Hub 摆脱授权束缚
  • 绍兴学摄影后期多少钱?余星华18岁在花泽美学边学边赚成自由摄影师 - 实时资讯
  • Fixer双模式实战教程:离线3D重建优化与在线实时 artifact 移除技巧
  • 2026金华门店SAAS收银系统服务商靠谱选型盘点 正规合规实力品牌深度解析与合作避坑指南FAQ - U渠道
  • 不越狱也能自定义 iPhone:Cowabunga Lite 的 5 个玩法与上手清单
  • Lombok实战指南:IDEA配置、核心注解与避坑经验
  • 如何用Open PS2 Loader免费拯救你的老PS2:游戏加载器完整入门指南
  • Python数据可视化:从核密度估计到小提琴图的实战应用
  • 高效处理海量Excel数据导入数据库:批量操作与UPSERT实战指南
  • 从一次深夜求助说起:这个免费PDF工具箱解决了我三年没搞定的问题
  • 长春管道疏通:人才培养视角下的数据报告 - GrowthUME
  • 空洞骑士模组管理终极指南:Scarab 三步上手,拯救你的崩溃之夜
  • 猫抓资源嗅探扩展保姆级指南:从安装到 M3U8 下载的完整实战
  • 视频内容分析工具 video-analyzer:如何把 10 小时的人工工作压缩到 3 分钟
  • 高并发下AI语音Agent消息链路优化:从RocketMQ调优到全链路稳定性实战
  • 2026年安平防雪网厂商推荐梳理及博汇丝网核心优势盘点 - 小范同学a
  • 2026餐饮门店收银对账全难点盘点 正规服务商选型详解 避坑指南及靠谱机构参考 - 商业大观