字符串
文章平均质量分 55
字符串类题目
柃歌
夏天的海边有冰淇淋口味的海风
展开
-
AcWing 1874. 哞加密(枚举,哈希)
【题目描述】许多人都不知道,奶牛很喜欢拼图,特别是单词拼图。农夫约翰的奶牛最近发明了一个有趣的“单词查找器”拼图。这种拼图的一个例子是:USOPENOOMABOMOOMXOPQMROM作为奶牛,它们唯一感兴趣的单词是MOO,它可以在拼图中多次沿水平、垂直、454545度斜线或135135135度斜线出现。上例中,MOO一共出现了666次。农夫约翰也是个拼图迷,由于奶牛们不希望他在它们之前解决“单词查找器”拼图,因此它们使用”替换密码“对内容进行了加密。该“替换密码”用不同的字母替换了原创 2022-04-22 18:18:39 · 183 阅读 · 0 评论 -
AcWing 1883. 删减(字符栈)
【题目描述】农夫约翰把杂志上所有的文章摘抄了下来并把它变成了一个长度不超过10610^6106的字符串SSS。他希望从SSS中删除子串TTT。农夫约翰在SSS中从头开始寻找子串TTT,一旦找到,就将它从SSS中删除,然后再次从头开始寻找(而不是接着往下找)。他重复这个操作直到SSS中没有子串TTT为止。注意,删除一个子串TTT可能会导致一个新的子串TTT的出现。请帮助约翰完成这些操作并输出最后的SSS。【输入格式】第一行包含字符串SSS。第二行包含字符串TTT。【输出格式】输出操作完成原创 2022-04-17 21:18:31 · 388 阅读 · 0 评论 -
AcWing 3370. 牛年(字符串,哈希表)
【题目描述】Farmer John的奶牛们得知最近正在庆祝牛年的到来时十分兴奋。牛年总是奶牛们的最爱。我们知道,中国历法中每一年所对应的生肖遵循121212年的周期:Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig, Rat(牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪、鼠),然后回到牛。奶牛Bessie自豪地说她是在许多年前的一个牛年出生的。她的朋友Elsie想要知道她与Bessie出生相差多少年,并且原创 2022-03-18 09:12:36 · 247 阅读 · 0 评论 -
洛谷P1039 侦探推理(字符串,模拟)
【题目描述】明明同学最近迷上了侦探漫画《柯南》并沉醉于推理游戏之中,于是他召集了一群同学玩推理游戏。游戏的内容是这样的,明明的同学们先商量好由其中的一个人充当罪犯(在明明不知情的情况下),明明的任务就是找出这个罪犯。接着,明明逐个询问每一个同学,被询问者可能会说: 证词内容 证词含义 I am guilty. 我是罪犯 I am not guilty. 我不是罪犯原创 2022-03-09 17:55:22 · 3384 阅读 · 0 评论 -
洛谷P1598 垂直柱状图(字符串,模拟)
【题目描述】写一个程序从输入文件中读取四行大写字母(全都是大写的,每行不超过100100100个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。【输入格式】四行字符,由大写字母组成,每行不超过100100100个字符【输出格式】由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。在任何一行末尾不要打印不需要的多余空格。不要打印任何空行。【输入样例】THE QUICK BROWN FOX JUMPED OVER THE LAZY D原创 2022-03-05 16:56:39 · 230 阅读 · 0 评论 -
洛谷P1553 数字反转升级版(字符串,模拟)
【题目描述】给定一个数,请将该数各个位上数字反转得到一个新数。这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调。小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母。百分数的分子一定是整数,百分数只改变数字部分。【输入格式】一个数sss【输出格式】一个数,即sss的反转数【输入样例1】5087462【输出样例1】2647805【输入样例2】600.084【输出样例2原创 2022-03-04 13:08:27 · 278 阅读 · 0 评论 -
AcWing 1460. 我在哪?(二分,字符串哈希)
【题目描述】农夫约翰出门沿着马路散步,但是他现在发现自己可能迷路了!沿路有一排共NNN个农场。不幸的是农场并没有编号,这使得约翰难以分辨他在这条路上所处的位置。然而,每个农场都沿路设有一个彩色的邮箱,所以约翰希望能够通过查看最近的几个邮箱的颜色来唯一确定他所在的位置。每个邮箱的颜色用A∼ZA\sim ZA∼Z之间的一个字母来指定,所以沿着道路的NNN个邮箱的序列可以用一个长为NNN的由字母A∼ZA\sim ZA∼Z组成的字符串来表示。某些邮箱可能会有相同的颜色。约翰想要知道最小的KKK的值,使原创 2022-02-19 10:25:10 · 635 阅读 · 0 评论 -
AcWing 1996. 打乱字母(贪心,二分)
【题目描述】农夫约翰将按字典序排列的NNN头奶牛的名字列表贴在了牛棚的门上。每个奶牛的名字都由一个长度介于111到202020之间的由小写字母构成的唯一字符串表示。麻烦制造者贝茜将列表中的奶牛名字重新排序打乱了列表。此外,她还对每头奶牛的名字中的字母顺序进行了重新排列(也可能保持不变)。给定修改过后的列表,请帮助约翰确定列表中的每个名字可能出现在原始列表中的最低和最高位置。【输入格式】第一行包含整数NNN。接下来NNN行,按照修改过后列表的顺序,给出了修改过后的奶牛的名字。【输出格式】共原创 2022-01-26 21:35:31 · 475 阅读 · 0 评论 -
【模板题】字符串哈希
【题目描述】给定一个长度为n的字符串,再给定m个询问,每个询问包含四个整数l1,r1,l2,r2,请你判断[l1,r1]和[l2,r2]这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。【输入格式】第一行包含整数n和m,表示字符串长度和询问次数。第二行包含一个长度为n的字符串,字符串中只包含大小写英文字母和数字。接下来m行,每行包含四个整数l1,r1,l2,r2,表示一次询问所涉及的两个区间。注意,字符串的位置从1开始编号。【输出格式】对于每个询问输出一个结果,原创 2021-10-07 15:09:52 · 191 阅读 · 0 评论 -
【模板题】Trie字典树
【题目描述】维护一个字符串集合,支持两种操作:I x向集合中插入一个字符串x;Q x询问一个字符串在集合中出现了多少次。共有N个操作,输入的字符串总长度不超过1e5,字符串仅包含小写英文字母。【输入格式】第一行包含整数N,表示操作数。接下来N行,每行包含一个操作指令,指令为I x或Q x中的一种。【输出格式】对于每个询问指令Q x,都要输出一个整数作为结果,表示x在集合中出现的次数。每个结果占一行。【数据范围】1≤N≤2∗1e4【输入样例】5I abcQ abcQ abI原创 2021-10-07 15:06:22 · 130 阅读 · 0 评论 -
【模板题】KMP字符串
【题目描述】给定一个模式串S,以及一个模板串P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模板串P在模式串S中多次作为子串出现。求出模板串P在模式串S中所有出现的位置的起始下标。【输入格式】第一行输入整数N,表示字符串P的长度。第二行输入字符串P。第三行输入整数M,表示字符串S的长度。第四行输入字符串S。【输出格式】共一行,输出所有出现位置的起始下标(下标从0开始计数),整数之间用空格隔开。【数据范围】1≤N≤1e51≤M≤1e6【输入样例】3aba5ababa原创 2021-10-07 14:59:42 · 136 阅读 · 0 评论 -
洛谷P2580 于是他错误的点名开始了(STL)
【题目背景】XS中学化学竞赛组教练是一个酷爱炉石的人。他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛 CON900)。【题目描述】这之后校长任命你为特派探员,每天记录他的点名。校长会提供化学竞赛学生的人数和名单,而你需要告诉校长他有没有点错名。(为什么不直接不让他玩炉石。)【输入格式】第一行一个整数n,表示班上人数。接下来n行,每行一个字符串表示其名字(互不相同,且只含小写字母,长度不超过50)。第n+2行一个原创 2021-03-20 15:01:27 · 162 阅读 · 1 评论 -
洛谷P1618 三连击(升级版)(模拟,字符串,DFS)
【题目描述】将1,2,3,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出 No!!!。【输入格式】三个数,A,B,C。【输出格式】若干行,每行3个数字。按照每行第一个数字升序排列。【输入样例】1 2 3【输出样例】192 384 576219 438 657273 546 819327 654 981#include<bits/stdc++.h>using namespace std;s原创 2021-03-11 21:27:58 · 144 阅读 · 0 评论 -
洛谷P1106 删数问题(字符串,贪心)
【题目描述】键盘输入一个高精度的正整数N(不超过250位),去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。【输入格式】n(高精度的正整数)。k(需要删除的数字个数)。【输出格式】最后剩下的最小数。【输入样例】1754384【输出样例】13#include<bits/stdc++.h>using namespace std;string n;vector<int> ve原创 2021-03-10 21:00:07 · 265 阅读 · 0 评论 -
洛谷P1015 回文数(模拟,字符串)
【题目描述】若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个十进制数56,将56加65(即把56从右向左读),得到121是一个回文数。又如:对于十进制数87:STEP1:87+78=165STEP2:165+561=726STEP3:726+627=1353STEP4:1353+3531=4884在这里的一步是指进行了一次N进制的加法,上例最少用4步得到回文数4884。写一个程序,给定一个N(2≤N≤10或N=16)进制数M(100位之内),求最少原创 2021-03-10 20:44:43 · 233 阅读 · 0 评论