CF1579A Casimir's String Solitaire 题解】的更多相关文章

Content 给定一个仅包含 A.B.C 三种字符的字符串 \(s\),有如下两种操作: 删除字符串中的恰好一个 A 和恰好一个 B. 删除字符串中的恰好一个 B 和恰好一个 C. 求是否能够把字符串 \(s\) 删空. 数据范围:\(t\) 组数据,\(1\leqslant t\leqslant 1000\),\(1\leqslant |s|\leqslant 50\). Solution 设我们执行了 \(x\) 次第一种操作,\(y\) 次第二种操作,那么就会删去 \(x\) 个 A,\…
Content 如果一个字符串 \(s\) 由若干个字符串 \(t\) 拼接而成,则我们说 \(s\) 能被 \(t\) 整除.定义 \(s_1,s_2\) 的最短公倍串为可以同时被 \(s_1,s_2\) 的最短非空字符串.给定 \(T\) 对字符串 \(s_1,s_2\),求出每对字符串的最短公倍串. 数据范围:\(T\in[1,2000],|s_1|,|s_2|\in[1,20]\). Solution <记我用 1.81k 代码过了一道普及- 的题目> 由于数据范围小得可怜,我们可以先…
Content 构造一个仅由 a,b,c 三个字符组成,且最长回文子串长度不超过 \(k\) 的长度为 \(n\) 的字符串. 数据范围:数据组数 \(\leqslant 10\),\(1\leqslant k\leqslant n\leqslant 1000\). Solution 我们可以循环输出 a,b,c,直到长度达到 \(n\) 为止.很容易发现这样构造出来的字符串最大回文子串长度为 \(1\),不会超过 \(k\),所以这样是符合题目要求的. Code string a = "abc…
题意 给一个字符串\(s\),和\(n\)个子串\(t[i]\),两个人博弈,每次取出一个串\(t[i]\),在后面加入一个字符,保证新字符串仍然是\(s\)的子串,无法操作的人输. 分析 n个子串,类比于n堆石子,如果把子串\(t[i]\)在后面加若干字符能生成的子串看出一个状态,用一个数表示,那每次状态的变化,就类比于对一堆石子取走若干个,无法操作,就类比于没有石子可以取. 多堆取石子游戏的做法就是把每堆石子的SG值(sg(x)=x)异或起来,不为零就先手赢,否则后手赢. 所以可以将题目转化…
题目链接 题目大意 给你一个长度为n的字符串,可以交换相邻两个元素,使得这个字符串翻转,求最少多少种次数改变 题目思路 如果要求数组排序所需要的冒泡次数,那其实就是逆序对 这个也差不多,但是如果是相同字符,用的应该是对应的最近的这个字母. 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=2e5+5; int n,cnt[30],ans[maxn],tree[maxn<…
2021-10-14 P2577 [ZJOI2004]午餐 2021-10-13 CF815C Karen and Supermarket(小小紫题,可笑可笑) P6748 『MdOI R3』Fallen Lord(sort(a+1,a+1+n,greater<int>()); 真好用) P4161 [SCOI2009]游戏 P1707 刷题比赛 2021-10-12 CF1573A Countdown P2717 寒假作业 P7868 [COCI2015-2016#2] VUDU P1660…
Mediocre String Problem 题解: 很容易想到将第一个串反过来,然后对于s串的每个位置可以求出t的前缀和它匹配了多少个(EXKMP 或者 二分+hash). 然后剩下的就是要处理以某个位置为结束的回文串有多少个(manacher + 差分),因为要求s串选取的要多一点.这道题是个痛啊...当时的金牌题,不会EXKMP可以用二分+字符串hash啊,比赛前的暑假还写过,比赛时就没想到,还以为KMP可以搞出这个东西, 然后就三个人一起自闭地调KMP,说到底还是菜呀. 代码: #pr…
好!机会来了! 依评论区的要求,小金羊献上STLset<string>的题解. 当然不会告诉你map<string,bool>我根本不会用 所以,有什么内置的成员函数救救孩子??? 还是先复习 or 预习一下set. 先给集合一个名字: set<元素类型>qwq; 插入元素: qwq.insert(元素); 查找元素: qwq.find(元素); 如果元素没有找到,返回qwq.end(),是一个空的位置迭代器. 于是得出: 如何判断元素p是否存在于qwq中? if (q…
A - Colorful Slimes 2 找相同颜色的一段,然后答案加上段长除2下取整 代码 #include <iostream> #include <cstdio> using namespace std; int N; int a[105]; int main() { scanf("%d",&N); for(int i = 1 ; i <= N ; ++i) { scanf("%d",&a[i]); } int…
解题过程 开场开A,A题shl看错题意,被制止.然后开始手推A,此时byf看错E题题意,开始上机.推出A的规律后,shl看了E题,发现题意读错.写完A题,忘记判断N=0的情况,WA+1.过了A后,shl重新写E,lfw开始开J题,E题过不了样例,lfw多次起立让shl调试,然后shl拿到E的一血,lfw之后过了J.byf开始开I题,shl口胡出M做法,然后lfw和shl一起推G题.byf过了I题后,shl推出G题,byf去写.然后lfw开始计算几何,经过查错后过掉,然后shl开始开M题,过掉后还…