自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

give it a try

花还会开,不同的春来了又来

  • 博客(38)
  • 收藏
  • 关注

原创 洛谷 - 高低位交换 (位运算)

题目链接题意:思路:基础位运算1.<<左移几位 (在二进制上移位,如果超出了内存范围,自动溢出)2.>>右移几位用32位无符号的整形unsigned int 一是为了避免符号的影响,第二32位刚好符号题意,溢出的部分自动舍弃AC代码#include <bits/stdc++.h>inline int read(){char c = getchar();int x = 0,s = 1;while(c < '0' || c > '9') {

2020-05-31 22:30:17 552

原创 洛谷 - LIS (最大上升子序列模板题) (dp,二分,贪心)

题目链接题目:思路:这是最大上升子序列的模板题,为dp思想。dp动态方程为: 当a[i] 大于 a[j] 时 f[i] = max( f[j] + 1 , f[i] ),其中f[i]表示的是以这个数结尾的最长子序列,a[i]表示的是i这个位置的数。dp代码:#include<iostream>#include<cstdio>#define ll long long#define rg register intusing namespace std;int n

2020-05-31 18:36:25 583

原创 洛谷 - Roy&October之取石子 (博弈论)

题目链接题目:思路:先找规律叭,先一个一个的枚举。1.枚举后我们发现: 1 2 3 4 5都是可以一次拿完的。2.而当到6的时候,我们先手不可能一次性把6拿完,那么必定是后手赢了。//那么我们这里就先可以记住一个分界点了,后面可以以此为基准来判断 : 谁先遇到6,先必输3.而当 7 8 9 10 11 的时候我先手都可以把他拿到还剩6个,后手不可能拿完,然后再先手一定拿完了。4.当石子有12的时候,先手无论怎么拿,我不可能让后手先拿到6(因为一次不可能拿去6的倍数)同理依次往上推,可以推

2020-05-31 11:58:51 237

原创 Educational Codeforces Round 88 (Rated for Div. 2) C. Mixing Water (思维,数学)

题目链接题意:给你一杯热水和一杯冷水,问你最少用几杯水,使得混合后的温度与给定的t温度最相近。(这里至少要用一杯水,并且,交替使用,比如:第一杯只能用热水,第二杯只能用冷水,第三杯只能用热水依次下去。。。)思路:这里由于交替使用热水冷水,那么我们可以得出,要么,热水和冷水用的杯数一样多,要么热水比冷水多一杯那么有俩种情况1.如果冷水热水一样多,那么比例为 1:1 那么我们1杯热水1杯冷水和5杯热水5杯冷水也是1:1,同样的情况下,我们当然杯数越少越好。我们先判断杯数一样的,如果现在1:1的比例

2020-05-29 12:23:48 941 2

原创 洛谷 - 木材加工 (二分答案)

题目传送题目:思路:由于分成小段必须为正整数,又可知,答案是有递增规律的,又由于答案的特性所以这道题我们二分答案。二分答案就是,在答案的最小值和答案的最大值直接进行二分。这里请仔细读题,我们可以舍弃一部分木块。例: 有俩快木头长11 和 21,分成5块最大分成多长,答案是每一段5cm,但是我们现在分出来了6块5cm,那么剩下的一块直接不要就可以了。详情代码注释AC代码#include <bits/stdc++.h>inline int read(){char c = ge

2020-05-28 22:28:53 412

原创 Codeforces Round #645 (Div. 2) C. Celex Update (思维,数学推理)

题目链接题意:给你一个如下规律的方阵依次按斜率为1的斜线上放置数字。1的位置坐标为(1,1),现在问,给定你起点坐标和终点坐标且你每次只能向右或者向下走,问有多少种方法能从起点到终点,且每一种方法的路径和都不同。思路:举个例子好解释点如图所画的小矩形中,我们可以先求出最大和和最小和,我们又经过观察,发现最大和和最小和之间的数都是连续的。那么我们只要求出最大和和最小和就可以了,但是由于终点和起点都是随机给,且数的规律很难算,所以要准确的算出最大和是多少和最小和是多少是很困难的。但是如果我们

2020-05-27 23:40:28 222 2

原创 洛谷 - [USACO1.5][IOI1994]数字三角形 Number Triangles (dp入门题)

题目链接题目:dp入门题,因为数据的原因好像也可以暴力搜索过这个题,但是我是来学dp的。。。。。。博主初学。。。。。详情代码思路:从这个数字三角形的下方开始寻找最优子结构。AC代码#include <bits/stdc++.h>inline int read(){char c = getchar();int x = 0,s = 1;while(c < '0' || c > '9') {if(c == '-') s = -1;c = getchar();}whil

2020-05-26 22:35:25 186

原创 Codeforces Round #644 (Div. 3) G. A/B Matrix (思维,构造)

题目链接题意:给你一个n*m的方阵(最开始全是0),让你构造出一个每一行的元素和为a(每一位只能为0或者1),每一列的元素和为b。如果不可能构造出来,则输出-1.思路:1.首先我们得判断不可能构造出来的情况,在这里我们会发现,无论你在数组中的哪个位置添加一个1,那么这个1既在行上,也在列上(废话…),那么满足题意的要求我们可以得出每一行的和为a,每一列的和为b。又因为每一个1必须同时在行和列上,那么n * a 必须等于 m * b(所有行的和,必须等于所有列的和)由此来判断是否能构造出满足题意的

2020-05-25 12:44:26 555

原创 Codeforces Round #644 (Div. 3) F.Spy-string (暴力出奇迹。。。。)

题目传送题意:给你n个长度为m的字符串,问你是否能构造一个字符串,使得与这n个字符串最多有1个字符不同。如果不能输出-1.(1 <= n <= 10 && 1 <= m <= 10)思路:真就暴力出奇迹。。因为这个数据实在是太小了。那么我们枚举所有的可能(因为最多有1个字符串不同,我们把这个字符串的每一个位置从‘a’遍历到‘z’就可以了)与这n个字符串比较就行了。AC代码#include <bits/stdc++.h>inline int

2020-05-25 11:50:27 269

原创 Codeforces Round #644 (Div. 3) E. Polygon (思维)

题目链接题意:给你一个n*n的方阵,每行每列都有一个大炮最开始,方阵中全是0,炮弹发射数字1的炮弹。但是现在如果这个炮弹会一直向前发现,直到越到前面是方阵的边界后停下,或者他的前面一个数是1,则也停下。现在给你一个方阵中的情况,让你判断这个方阵是否可能由上面的条件所形成。思路:根据题意,每一个1的下方或者右方不是边界就是1。如果都不是,则不可能形成这个矩阵。AC代码#include <bits/stdc++.h>inline int read(){char c = getc

2020-05-25 00:04:00 270

原创 Codeforces Round #644 (Div. 3) D. Buying Shovels (思维)

题目链接题意:你现在要买n个铁锹,商店中有k中不同的卖法,依次每一次卖1到k个铁锹,现在你只能选择其中的一种买法,问最少买几次同一种的买法,使得刚好买到n个铁锹。(1 <= n <= 1e9 && 1 <= k <= 1e9)思路:既然只能选择一种买法,且要刚好买到n个铁锹。1.那么这种买法一定是n的倍数(不然你买多少次,都不可能刚好达到n)2.接下来我们开始求n的因子,然后排个序,从最大的因子开始枚举判断这个因子是否小于等于k(因为大于k了也不能买到,

2020-05-24 23:55:08 213

原创 Codeforces Round #644 (Div. 3) C. Similar Pairs (思维)

题目传送题意:给你一个有n个元素的数组,(n一定为偶数),问:这n个数是否可以全部成对的配对。配对要求为这俩个数同为奇数或者偶数或者俩数相差1.思路:如果数组中的元素1.偶数的总数是2的倍数,并且奇数的总数也是2的倍数,那么一定可以完全配对,2.如果不是,因为n是偶数的关系,那么一定是有奇数个偶数,奇数个奇数。根据配对要求,我们只要判断是否存在俩个连续的数就是了,如: 11 12,就可以配对,从而使得剩下有偶数个奇数,偶数个偶数(回到情况1)AC代码#include <bits/std

2020-05-24 23:46:20 389

原创 swust oj 有向图的邻接矩阵存储根计算 (floyd算法变形)

题目链接题目:代码#include <bits/stdc++.h>inline int read(){char c = getchar();int x = 0,s = 1;while(c < '0' || c > '9') {if(c == '-') s = -1;c = getchar();}while(c >= '0' && c <= '9') {x = x*10 + c -'0';c = getchar();}return x*s;}

2020-05-24 11:36:02 336

原创 洛谷 - 最大加权矩形 (前缀和,dp,矩阵压缩)

题目链接题目:思路:这个就类似最大子序列,有人会问,这和最大子序列有关系???,其实在我们进行矩阵压缩后,这个问题其实就变成了最大子序列矩阵压缩:我的理解就是把矩阵分成小的矩阵(把每种情况都分出来)。例我们有矩阵:1 2 34 5 67 8 9我们先枚举第一行 1 2 3.再加上的第二行 1 2 3 和 4 5 6再加上第三行 1 2 3 和 4 5 6 和 7 8 9再枚举第二行 4 5 6再加上第三行 4 5 6 和 7 8 9再枚举第三行 7 8 9这样做有什么意思呢

2020-05-23 21:34:29 359

原创 快读 (快速读入)模板

之所以有快读,是因为getchar()比scanf快了大概4倍听别人说的,不知道准不准确哈。。 但是又由于getchar又只能一个一个字符的读入,所以自己要写个函数,才有了这个称呼。inline int read(){ char c = getchar();int x = 0,s = 1; while(c <= '0' || c >= '9') {if(c == '-') s = -1;c = getchar();}//是符号 while(c >= '0' &a

2020-05-22 16:33:46 4002

原创 (模板) 埃氏筛 和 欧拉塞塞素数

int ans[10000],vis[10000];for(int i = 2;i <= n;i++){ if(!vis[i]) { ans[m++] = i; for(int j = i;j <= n;j += i) vis[j] = 1; }}//埃氏筛 就是利用素数的倍数一定是合数,来进行塞选int ans[10000],vis[10000];for(int i = 2;i <= n;i++)

2020-05-21 23:08:38 553

原创 洛谷 -【模板】单源最短路径(标准版) (堆优化 最短路dijkstra 链式存储)

题目链接题目:思路:标准模板dij算法,但是普通的dij还是因为数据过大会TLE。所以这里有一种优先队列的优化方法,使得时间复杂度再次降低。详情代码注释#include <bits/stdc++.h>using namespace std;#define NewNode (TreeNode *)malloc(sizeof(TreeNode))#define Mem(a,b) memset(a,b,sizeof(a))const int N = 2e5 + 5;const

2020-05-21 22:43:29 324

原创 洛谷 - 家谱 (字符串并查集)

题目链接题目:思路:就是个赤裸裸的并查集(就是集合的划分),但是这个是字符串的并查集(我就是不会这种操作。。。随便取的名字),以前我只做过数字的并查集,字符串的还是第一次。详情看代码注释#include <bits/stdc++.h>using namespace std;#define NewNode (TreeNode *)malloc(sizeof(TreeNode))#define Mem(a,b) memset(a,b,sizeof(a))const int N

2020-05-21 17:47:17 343

原创 Codeforces Round #642 (Div. 3) K-periodic Garland (思维,贪心)

题目传送题意给你一个n长度的01字符串,问你能最少能用多少步,使得其相邻的1之间的距离必须为k(可以没有1,或只有1个1)思路:贪心1.我们直接先把这个字符串全部赋为0,记录需要多少次(这是在理智的情况下,所需要的最多的满足题意的次数因为你要是无理取闹,也可能最多无限次乱赋值)注意,经过1步骤的变化后,我们现在的字符串全是02.但是我们需要的是最少,所以我们现在要做一下处理,我们枚举0到k-1区间,然后每个区间的每一个数,依次遍历,在这种情况下,枚举在这个数的当下的每k个数需要多少次变化 这

2020-05-20 23:31:31 197

原创 Educational Codeforces Round 87 (Rated for Div. 2) C2. Not So Simple Polygon Embedding(几何数学)

题目链接题意:给你一个n(n为奇数),求有2*n个顶点的正多边形的外接正方形最小边长为多少思路:因为n为奇数,其正着放置,不能使得外接正方形边长最小(因为会有多余的浪费)。我们可以让这个正多边形斜着放,可以使得外接正方形边长最小。几何数学,直接上图。在边1的直角三角形中,可以求得角三,又因为正多边形的边长一定为1,所以可以求得边4.又在包含边2的直角三角形中,由几何关系得出,角2是角1的俩倍,可以得出角1,再利用勾股关系,可以得出边2的长度,而最小的正方形边长为边2的俩倍。AC代码#in

2020-05-18 17:22:17 310

原创 Educational Codeforces Round 87 (Rated for Div. 2) C1. Simple Polygon Embedding (几何数学))

题目传送题意:给你一个n(n一定为偶数),问:有2*n个顶点的正多边形的外接正方形的边长最短是多少(精确到小数点后6位 (2 <= n <= 200)思路:这真就是数学几何了,第一次被数学几何题教做人。。。。也是这种题做的实在太少了没有什么好说的,画图就是硬道理因为其是偶数,我们可以把所有的对角线连接起来,那么交于的这个点为这个正多边形的中心。再观察一下图片:我在图中画的那个锐角一定是这个大角的一半,而边长又一定为1,所有那个小的直角三角形中的那个小边一定为二分之一,又因为是直角三

2020-05-17 23:22:02 534

原创 Educational Codeforces Round 87 (Rated for Div. 2) B. Ternary String (思维,贪心)

题目传送题意:给你一个只由1 2 3这三个数字组成的字符串,现在要求你求出其中包含1 2 3的子串(这个子串指的是连续的字符串片段),问:这个满足条件的子字符串最短的长度为多少,如果不存在输出0.思路:很明显,要求最短,那么在这个字符串中,我们先一个for从第一个位置开始找,然后我们取每一种数的最大的位置(可以使得,存在这三种数的字符串压缩到最短),当三个数在遍历的过程中,都存在了(现在寻找的字符串已经满足了存在1 2 3),那么更新最小值。说得糊里糊涂的。。。。。看代码,很容易懂,没多少行AC

2020-05-17 23:02:37 265 1

原创 Codeforces Round #643 (Div. 2) A. Sequence with Digits(暴力,思维)

题目链接题意:给一个递推式:min指的是其中这个数的每一位数中的最小的那一位,如:8561中最小的位数为1,最大的为8.先给定a1和k,求ak。思路:这都是第三次了!!!我的天啊,又被数据的给先入为主了,看到k我就以为看到是递推推公式,使得算ak这个数的时候能一步到位,其实暴力加剪枝就行,以为中间到一定情况的时候,这个数就不会变了,看代码暴力,硬算,中间加一下剪枝,具体看代码。AC代码#include <bits/stdc++.h>using namespace std;

2020-05-16 23:31:57 392 6

原创 Codeforces Round #643 (Div. 2) D. Game With Array (思维,贪心)

题目链接题意:让你用n个正整数去构成和为S的数组(n,S将给出),问是否存在一个k(1 <= k <= S)使得这个数组中的任意子数组的和不为k,如果存在输出yes,并且输出这个数组和k,否则输出no。思路:我们先贪心一下,直接把数组的前n-1个数,赋值成1,然后最后一个数赋值成s-(n-1)。1.我们先看这个数组的前n-1个数的子数组的和的范围。很容易知道,范围为:1到n-1。2.再看包含最后一个数的子数组的范围是多少。范围为s-(n-1)到s。3.我们再判断第一步的最大值(

2020-05-16 23:21:49 376 5

原创 Codeforces Round #642 (Div. 3) D. Constructing the Array (思维)

题目链接题意:给你一个全部由0组成的数组,现在对每一个最长连续的0的子字符串中进行操作:1.当这个子串的长度为奇数这个数组的(r+l)/2的位置赋值为i(i从1到n依次赋值),2.当为偶数的时候,(r+l-1)/2位置为i。问最后的数组是什么样子的思路:思路到是没有什么难的,每次一个区间,都会分成俩个区间,然后再判断这俩个区间是否合理(是否区间长度大于0)。主要是这个排序操作我没有想到优先队列,用的其他方法写,结果出错了。AC代码#include <bits/stdc++.h>us

2020-05-15 20:39:11 125

原创 Codeforces Round #642 (Div. 3) C. Board Moves (思维)

题目链接题意:给你一个n*n的方阵,n肯定为奇数。每个方阵上有一个图形,问:最少需要多少步,把所有的图形集中在一个图形上。//可以斜着走思路:肯定是移到方阵中间需要最少的步数。我们可以观察到中间与周围8个组成的33的方阵中,外围的8个图形每一个需要移动一步,然后我们扩大到55的方阵,外围的16个图形每一个需要移动俩步,依次类推#include <bits/stdc++.h>using namespace std;#define NewNode (TreeNode *)malloc

2020-05-15 18:58:23 349 1

原创 洛谷 - 逆序对 (归并排序,分治,树状数组)

题目链接题目:思路:归并排序:时间复杂度稳定在N(logN)。习惯了用二分排序,很少了解其他的排序,但是事实证明这是错误的。。。。归并排序用的是分治法,何为分治?分治就是大事化小,小事化不了。。。归并排序就是不断的把区间分小,直到分到只有一个数的区间,那么我们再比较俩个一个数的区间。例: 分小的俩个区间 为 6 9 和 7 8,我们比较8和67 > 6,那么我们用一个数组记录目前最小的元素c[m++] = 6,然后再判断这个区间中是否还有元素,9 < 7,c[m++] = 7

2020-05-15 18:28:06 322

原创 洛谷 - 找筷子(数学,异或)

题目链接题目:思路:很明显,为奇数的肯定是那个落单的筷子。我刚开始直接用set来判断是不是奇数,最后留下一个数,直接输出就是了,但是居然t了,看来set的处理操作还是很费时间的。仔细看题,你会发现两个特征:1.总有一根落单的筷子。2.其他成双的筷子总是长度相等。那么,这里就有一个不错的解法,就是异或运算,一个数异或它自己等于0(成双的筷子),一根不等于0的筷子异或0等于它本身(落单的筷子)。这里其实直接快排,判断落单的筷子也可以,但是这里是讲一种思维,那种方法博主就不写了#includ

2020-05-14 21:56:32 364

原创 Codeforces Round #641 (Div. 2) Orac and Models (dfs爆搜)

题意:给你一个n大小的数组,现在从中选取数,要求如下:1.选的数中,后一个数的下标必须是前一个数下标的倍数(只有一个数,也是) 例: {1 2 3 7 7}我可以选取下标 1 2 42.选的数中,后一个数必须比前一个数大。问 : 在满足上面的条件下最多能选多少个数。思路:我裂了,我以为爆搜会爆时间,结果他没爆。。。上次也是这样,看了以后都要去试试才知道了dfs递归,枚举每一种情况,取最大值,简称爆搜,也可以叫做暴力叭。AC代码#include <bits/stdc++.h>u

2020-05-13 11:38:58 150

原创 Codeforces Round #640 (Div. 4) F. Binary String Reconstruction (思维,分类讨论)

题目链接题意:一个由0和1组成的字符串。举例:0101010011。其中n0表示连续的俩个子字符串中1的个数为0,n1表示1的数量为1,n2表示1的数量为2.在这个字符串中,n0 = 1,n1 = 1,n0 = 7.现在给你n0,n1,n2。让你构成一个满足的字符串。思路:我们先把n0和n2构造了,因为最复杂的是n1(情况多)1.如果n0大于0的话,那么连续的的俩个子字符串为0,我们需要n0 + 1个连续的02.如果n2大于0的话,同理,需要n2 + 1个13.此时n1的情况比较多:(

2020-05-11 19:34:26 158

原创 Codeforces Round #640 (Div. 4) E. Special Elements (前缀和,记忆化)

题目链接题意:给你一个n大小的数组,如果数组中的一个元素能被数组中的连续的俩个或者俩个以上的元素的和表示,那么这个数记入答案,问数组中有多少个这样的数?(已经被记入的数也可被作为连续和来表示其他的数)数据大小: 1 <= n <= 8000,内存限制: 64 MB,时间限制:1s思路:学过前缀和的,闭着眼都知道这是前缀和。。。。但是,我看见8000*8000 = 64000000 == 6e7,我当初记的是1s跑1e6次。。。。就是当时的不仔细,导致不会做,认为肯定是别的办法,现在问了

2020-05-11 18:43:04 199

原创 内存换算

参考了一下其他博主的博客,因为以前没有注意这个,当题目给你的内存限制过于刁钻的时候(不能以空间来换时间),就很难受了,因为不知道这个内存具体的限制缩小到了哪个范围了。这里的换算,我够应付题就是了,不会了解得太细。1KB = 1024字节1MB = 1024KB1GB = 1024MB1TB = 1024GB(一般 int类型 4字节,bool类型 1字节等等) 。举个例子叭int arr[10000].一共100004字节。一共100004/1024KB一共10000*4/1024/1

2020-05-11 18:12:25 992

原创 Codeforces Round #640 (Div. 4) C. K-th Not Divisible by n (数论,思维)

题目链接题意:问不能被n整除的第k个数是多少。1 <= n,k <= 1e9.思路:这场让我充分的认识到了我的思维有多差,全是思维题,我却做成那样举个例子来说明叭:n = 3,k = 7.1 2 | 4 5 | 7 8 | 9 10 | 11 12 |其中竖线是每一个竖线为一组。既然是不能被n整除,那么肯定是每(n-1)个数为一组,而现在看做一组有n个数(有一个能被n整除的)。1.那么我们现在就可以算出不能被n整除的前k个数中有多少个组(多少个满编组,如 只有 11 而

2020-05-11 17:40:59 277

原创 J. Grid Beauty (map记忆化,贪心)

题目链接题意:给一个n*m的矩阵,你可以无数次交换同一行中任意俩个数。问你最多能在这个矩阵中得到多少个第 i 行第 j 个数等于第 i - 1 行 第 j 个数。矩阵中的数1 <= a <= 1e8。思路:看到无限这俩个字就有灵感啦哈哈哈,贪心。每俩行之间,能相等就直接相等,只要记忆化一下就是了,这里我用了俩个map,一个记录上一行的数,一个记录这一行的数。我好多次思路都没错就是代码我写得像个鬼一样,我都服我自己,得练练代码的精炼和清晰了#include <bits/stdc

2020-05-08 21:49:11 222

原创 E.Large GCD (数论打表找规律)

题目链接题意:求gcd(a,b),其中a = 5^n + 7 ^n b = 5^ m + 7^m.1 <= n <= m <= 1e9 ,且gcd(n,m) = 1。思路:说实话不想写这个题解的。。因为直接打表出来的,要为什么,真不知道。当n,m同为奇数时为12 否则为 2.算半个数论题叭。。。。。。而且打表不能超过7,否则就爆了看不出来了。数论题,应该大多有规律的,打表是一个很好的办法。不然,你要是想从数学角度去证明他,可能打十场比赛都有了。#include &lt

2020-05-08 21:23:27 318

原创 AtCoder Beginner Contest 166 E.This Message Will Self-Destruct in 5s(思维,递推)

题目链接题意:给一个数组,求出数组中有多少对(arr[i] + arr[j] == i - j)数组最大的大小为1e5,数组中的元素 1 <= a <= 1e9。//i,j表示在数组中的位置思路:首先暴力不用说了。然后我想了想看你要预处理标记一下,使得减少计算机操作的次数,以降低时间。然后,看了看这个等式,发现我要同时标记 i 和 j才有可能,但是这样时间复杂度是降不下来的。...

2020-05-08 17:23:55 134

原创 Testing Round #16 (Unrated) C - Skier(map记忆化处理标记边)

题目链接题意:给一个字符串,N,S,W,E,分别代表上下左右。当走过一个没有走过的边时,花费5秒,如果走过这个边,则花费1秒。例:当从(1,1)走到(1,2)时,走过的是这俩个点之间点边,而不是这俩个点坑了我好久,题都没读懂//不能标记点,因为当俩点之间被标记过时,可能这俩点间的边没有被走过。思路:肯定是记忆化,没得说。但是我们要变化一下了,因为是记忆化边,而且数据还是挺大的。所以我们...

2020-05-08 14:14:54 258

原创 Codeforces Round #638 (Div. 2) C. Phoenix and Distribution 思维

题目链接题意:给你一个长度为n的字符串,把他分成k个字符串,字符串不能为空,求其能最小分成的最大字典序字符串(求最大的最小是多少)思路:这个地方不要被字符串长度所迷惑了。字符串长度长的不一定字典序大。首先每个字符串至少一个字母,先每个字符串分一个。1.然后看其第k个字母与第一个字母相不相同。如果不相同,则这一个字母就是最大的。因为字典序,首字母已经是最大了,那么他肯定是最大的。后面就不...

2020-05-06 19:34:20 138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除