Codeforces 1065E(计数)
题目链接
题意
限定字符串长度为$n$,字符集规模为$A$,以及$m$个数字$b$,对于任意数字$bi$满足长度为$bi$的前缀和后缀先反转再交换位置后形成的新串与原串视作相等,问存在多少不同串。
思路
设$c[i]=b[i]-b[i-1]$,将字符串看成由长度$c[1],c[2],c[3]...n-2*b[m]...c[3],c[2],c[1]$串构成,那么只需考虑$c$中对应串的方案数和中间单独的方案数,相乘即答案。
假设考虑$k$位,形成回文的对应串有$A^{k}$,不形成的有$\frac{A^{2k}-A^{k}}{2}$,相加后得$\frac{A^{k}*(A^{k}+1)}{2}$,中间即$A^{n-2*b[m]}$。
代码
#include <bits/stdc++.h>
#define DBG(x) cerr << #x << " = " << x << endl;
const long long mod = 998244353;
const int maxn = 2e5+5;
using namespace std;
typedef long long LL;LL n,m,A;
LL b[maxn];LL qpow(LL a,LL b,LL p){LL res=1;while(b){if(b&1)res=(res*a)%p;a=a*a%p,b/=2;}return res;
}int main(){scanf("%I64d%I64d%I64d",&n,&m,&A);for(int i=1;i<=m;i++)scanf("%I64d",&b[i]);LL ans=1,inv=qpow(2,mod-2,mod);for(int i=1;i<=m;i++){LL tmp=qpow(A,b[i]-b[i-1],mod);ans=ans*tmp%mod*(1+tmp)%mod*inv%mod;}ans*=qpow(A,n-2*b[m],mod);printf("%I64d\n",ans%mod);return 0;
}
转载于:https://www.cnblogs.com/DuskOB/p/10034474.html
Codeforces 1065E(计数)相关推荐
- CodeForces 1065E. Side Transmutations 计数
昨天不该早点走的.... 首先操作限制实际上是一个回文限制 每个$b[i] - b[i - 1]$互不干扰,不妨设这个串关于中心点对称的这么一对区间的串分别为$(S_1, S_2)$ 题目的限制相当与 ...
- Bug in Code CodeForces - 420C (计数,图论)
大意: 给定$n$结点无向图, 共n条边, 有重边无自环, 求有多少点对(u,v), 满足经过u和v的边数>=p 可以用双指针先求出所有$deg_u+deg_v \ge p$的点对, 但这样会多 ...
- CodeForces - 1486F Pairs of Paths(树上计数+容斥)
题目链接:点击查看 题目大意:给出一棵 nnn 个点的树,再给出 mmm 条路径,现在问有多少个路径对 (x,y)(x,y)(x,y),满足第 xxx 条路径和第 yyy 条路径有且仅有一个交点 题目 ...
- CodeForces 1616H Keep XOR Low {a^b≤x} / CodeForces gym102331 Bitwise Xor {a^b≥x}(trie树 + 计数)
文章目录 CodeForces 1616H Keep XOR Low problem solution code CodeForces gym102331 Bitwise Xor problem so ...
- 【CodeForces - 144C】Anagram Search(尺取,滑窗问题,处理字符串计数)
题干: A string t is called an anagram of the string s, if it is possible to rearrange letters in t so ...
- 组合计数 ---- Codeforces 737C Div2 C. Moamen and XOR [多阶段决策计数dp]
题目链接 题目大意: 有nnn个数.每次数范围是[0,2k]∣k∈[0,3e5][0,2^k]|k\in[0,3e5][0,2k]∣k∈[0,3e5] 问你有多少种情况这nnn个数的与大于等于异或 首 ...
- codeforces数学1700[CodeForces 1336B[分类讨论+二分]CodeForces - 1301C[组合计数的减法原理]]
CodeForces 1336B Xenia and Colorful Gems 题目大意:给你nrn_rnr个xix_ixi,ngn_gng个yiy_iyi,nbn_bnb个ziz_izi ...
- codeforces数学1600day4[贪心数学公式推导CodeForces - 1151D ,思维CodeForces - 1085C,数论同余+组合计数 CodeForces - 1056B]
A - Stas and the Queue at the Buffet CodeForces - 1151D 题目大意:就是给你n个人在排队,每个人都有一个ai值和bi值,每个人的不满意度就是f(i ...
- Codeforces 1336E Chiori and Doll Picking (子集和变换、线性基、阈值算法、状压 DP、组合计数)...
题目链接 https://codeforces.com/contest/1336/problem/E 题解 假设线性基大小是 \(L\),其异或值域记作 \(S\),则对于异或值域内每个数,显然有 \ ...
最新文章
- 图像的zoomfft变换
- oracle删除后电脑卡,彻底删除oracle服务 -电脑资料
- 2021HDU多校10 - 7084 Pty loves string(KMPnext树+主席树+dfs序)
- mongodb 导出一条数据导出_使用MongoDB命令工具导出、导入数据
- 如何实现移动端轮播图的左滑右滑效果
- junit-4.9.jar_JUnit 4.9(测试版3)中的规则
- 构建自己的服务器有什么好处呢?
- 【观点】微博的弊端和它的真正意义
- 数据挖掘算法之离散化和二元化
- oracle异步sql,Linux上Oracle是否使用异步io的诊断
- ntko php,NTKO 附件管理控件_
- 国产操作系统产业深度解析
- 计算机ppt制作教案,教案幻灯片制作
- ios和安卓测试包发布网站http://fir.im的注册与常用功能
- 人生若只如初见服务器维护,「北京服务器」人生若只如初见
- Unity中摄像机跟随
- 第二章 pandas基础
- php bcd编码,什么是BCD码、8421码、余三码、格雷码
- Petalinux 使用外部ADI的内核源码编译记录-附oe_runmake解决办法
- 通信基础概念(三)相关与正交
热门文章
- 获取计算机主机mac地址的命令有,怎么获取计算机的MAC地址和IP地址?
- 查找mysql临时文件_SQL查询时生成的临时文件对数据库查询的影响
- controller属于哪一层_五种皮肤类型,那你属于哪一种,你知道吗?
- 电脑工具栏怎么调整到下面_PDF格式的合同怎么盖公章?这不是在为难我胖虎吗?...
- sql server 查看表、视图、触发器、存储过程等组成sql查询语句
- 运维小白死磕的专业术语,你真的理解透了吗?
- make INSTALL_MOD_PATH=path_dir modules_install
- 从短信类到短信平台之设计篇
- 迁移Exchange Server 2003
- Web前端Javascript笔记(8)Ajax前后端交互