![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
文章平均质量分 59
林苏泽
很多时候终点看着很远,实际也很远,但只要你不向它跑去,他永远都很远,所以只有你向它跑去,才能更接近它,所以加油,向前奔跑吧,即使最后没有到达所想的终点,但我想也不会差。起码我们已经比别人距终点近了好多。
展开
-
ABC 223 A~F (C尺取,D拓扑排序,E思维,F分块)
链接A Exact Price对n取余看是否为0,注意特判0.B String Shifting找最小,最大,我们发现他是有个环形的字符串那么我们可以把n个字符串提取出来,排序即可。C - Doukasen我们从两端往中间走,看那一端先到交界处这段就要向前走下一块,速度会变,到了交界处另一端减去当前时间走的即可(速度不变),所以我们只需要比较走过两端最后一块的时间为多长,取小的即可。长度用double用ll是不对的哦ll n,m; struct node{ double a, b原创 2021-10-19 20:39:22 · 299 阅读 · 0 评论 -
find()函数rfind()函数
首先我们了解一下find()从前往后找要找的字符或者字符串,rfind()是从后往前找要找的字符或者字符串,find()s.find(‘a’)意思为从0位置找字符’a’,返回位置,如果没找到就返回一个无符号整数的最大值。转化成有符号整数也就是-1.s="acasf";s.find('a');等于0s.find(‘a’,1);从1号位置开始找‘a’。找不到同上默认是从零开始。s="acasf";s.find('a',1);等于2s.find(“ca”)返回所匹配的第一个字符所在的位原创 2021-09-15 23:16:15 · 5588 阅读 · 0 评论 -
CF988E Divisibility by 25 (思维+字符串)
链接题意:给出一个从1到101810^{18}1018的整数n,但不包含前导零。 在一次移动中,您可以交换给定数字中的任意两个相邻数字,使得结果数字不会包含前导零。 换句话说,在每次移动后,您所拥有的数字都不能包含任何前导零。 获取可被25整除的数字所需的最小移动次数是多少? 如果无法获得可被25整除的数字,则打印-1.分析:因为结果要是25的倍数。所以最后两个一定要是00,25,50,7500,25,50,7500,25,50,75.然后就是考虑移动完前缀0的问题。我们可以对这四种情况分开考虑,原创 2021-09-15 23:02:18 · 132 阅读 · 0 评论 -
CF 1562 E. Rescue Niwen! (字符串+DP+后缀数组优化)
E. Rescue Niwen!题意:给定一个字符串 sss,将 sss 的所有子串按照它在 sss 中的出现位置 l,rl,rl,r排成一列,其中 lll 为第一关键字 rrr 为第二关键字。求这个字符串序列的最长上升子序列,其中大于的定义是字典序大于。分析:首先我们从题意中看,他要找最长上升的子序列,那么首先我们需要知道,第xxx位置开头的子序列集合我们用S(x)S(x)S(x)表示,那么如果我们取了第xxx位置开的的子序列那么我们取的最长上升子序列,一定是在S(x)S(x)S(x)中连续的。原创 2021-08-29 19:16:04 · 226 阅读 · 0 评论 -
ARC 125 D - Unique Subsequence (树状数组+DP+字符串)
链接题意:给定长度为nnn的序列aaa,问有多少aaa的子序列bbb,满足在aaa的子序列中只出现一次。分析:首先我们看到,子序列,那么我们想到如何使他唯一,我们发现,如果 我们找到以x结尾的子序列,在后面还有x那么一定不是唯一的, 举个例子1 2 11 3 4 5 6 3 4 我们以3结尾,1 2 11 3 在其后第8个位置还有一个3所以还可以1 2 11 3(8).这样就不符合条件。那么我们只能考虑同样数字最后一个位置。这样才能保证只出现一次。如果出现ai,aja_i,a_jai,aj相原创 2021-08-26 11:14:14 · 301 阅读 · 0 评论 -
CF 1538 E. Funny Substrings (字符串+思维)
链接题意:t 组数据,每组数据给定 nn 个操作,每个操作为以下两者之一:x = a + b 表示将变量 b 和 a 中的字符串拼接后赋给 x。x := s 表示将字符串 s 赋给 x。对于每组数据,求最后一次操作中变量 x 中的字符串所含有子串 haha 的个数。t≤103,n≤50tt\leq 10^3,n\leq 50tt≤103,n≤50t。给出的所有变量名或字符串的长度均 ≤5\leq 5≤5,且所有字母都是小写字母。分析:首先我们想到直接模拟这个合并的过程记录下最后一原创 2021-08-24 09:30:58 · 127 阅读 · 0 评论 -
ABC 215 C - One More aab aba baa(全排列)
链接题意:找出第k大的字符串分析:本身这个题没什么,就是全排列问题,那么我们大可用dfs来做,但是要去重,还有一种就是全排列函数,平时不经常用,next_permutation,即便有重复的他也会跳过去使得不出现重复的,因为出现重复的就不算是全排列了。dfs这里unique是去重函数。ll len;string s,str;vector<string> ans;void dfs(ll x){ if(x==0){ ans.push_back(s); return ;原创 2021-08-22 19:40:01 · 285 阅读 · 0 评论 -
HDU 7060 Separated Number (字符串+组合数学)
链接题意:给出一个数位为nnn的数字(n<=1e6)( n < = 1 e 6 )(n<=1e6),现在可以将该数字最多分成k(1<=k<=n)k ( 1 < = k < = n)k(1<=k<=n)段。定义一种分法的贡献为所有段的数字之和,求所有分法的贡献和。例如对于样例,答案为1+1+10+100=1121 + 1 + 10 + 100 = 1121+1+10+100=112分析:首先我们肯定算每位数字对答案产生的贡献。但是我们能够发现每原创 2021-08-19 21:02:31 · 186 阅读 · 0 评论 -
CF 1560 E. Polycarp and String Transformation
// Problem: D - Sum of Maximum Weights// Contest: AtCoder - AtCoder Beginner Contest 214// URL: https://atcoder.jp/contests/abc214/tasks/abc214_d// Memory Limit: 1024 MB// Time Limit: 2000 ms//// Powered by CP Editor (https://cpeditor.org)#include原创 2021-08-19 15:34:48 · 165 阅读 · 0 评论 -
C. K-beautiful Strings
#include <bits/stdc++.h>using namespace std;const int maxn = 3e5+10;char a[maxn];int n,k,b[30],c[30],las[maxn][27],top;char ans[maxn];bool isok(int nxt,int c[]) { while( nxt<=n ) { for(int i='z'; i>='a'; i--) { if( c[i-'a.原创 2021-03-12 08:57:08 · 287 阅读 · 0 评论 -
M. Magic spells (区间DP)
M. Magic spellstime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputThe Ultra Nice Abracadabra List (UNAL) is a list of n magic spells for young student wizards in the school of magic, a magic spell is原创 2020-11-23 19:46:51 · 286 阅读 · 0 评论 -
Ag与排序问题(用于输入加空格的string类型字符串排序用)
题目描述输入6个字符串(每个字符串不超过80个字符,可能含有空格),按照字典顺序(如果包含其他字符,按照ASCII排序)对6个字符串进行排序。输出排序后的6个字符串。输入6个符合题目要求的字符串输出输出排序后的结果样例输入 CopyShandongYantaiuniversityTechnologyBusinessGongshang样例输出 CopyBusinessG...原创 2019-12-17 19:55:22 · 518 阅读 · 1 评论