编程题
### 问题描述 小明有一长度为 $N$ 字符串 $S$,字符串下标从 $1$ 开始。 同时,小明已经知道其中 $Q$ 段是回文串,每段中 $S\left[l\cdots r \right]$ 是一个回文串。 小明想知道 $S$ 是否是回文串 ,以及有多少个 $i\in \left[ 1,n \right] $ 满足 $S\left[i\right] = S\left[n-i+1\right]$。 ### 输入格式 第一行包含两个正整数 $N,Q \left( 1\le N,Q \le 10^{5} \right)$,分别表示字符串 $S$ 的长度,已知回文串的数量。 接下来 $Q$ 行,每行两个整数 $l,r \left( 1 \le l \le r \le N \right)$,表示 $S\left[l\cdots r \right]$ 是一个回文串。 ### 输出格式 第一行,如果 $S$ 是回文串,则输出 $YES$ ,否则输出 $NO$ 。 第二行,输出有多少个 $i\in \left[ 1,n \right] $,满足 $S\left[i\right] = S\left[n-i+1\right]$。 ### 样例输入 ```text 6 3 1 2 2 6 1 5 ``` ### 样例输出 ```text YES 6 ``` ### 说明 已知第一个回文串为 $S\left[1 \colon 2 \right]$ ,第二个回文串为 $S\left[2\colon 6 \right]$,第三个回文串为 $S\left[1 \colon 5 \right]$。 由此可推导出 $S_{1}=S_{6},S_{2}=S_{5},S_{3}=S_{4}$。 因此 $S$ 为回文串,当 $i=1,2,3,4,5,6$ 时满足 $S\left[i\right] = S\left[n-i+1\right]$。
查看答案
赣ICP备20007335号-2