摘要: 淼 这道题,其实就是判断两数是否互质。可是,由于输出格式繁杂,我竟然三次才过。让我们来看一下输出格式: 1.每两组数据中间要有一个空行。 2.数字要用场宽为10去输出。 3.数字和字符串中间要有4个空格。 接下来,上代码: #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2020-08-08 15:13 Bushuai_Tang 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 一道UVA,我发现UVA在洛谷不太火爆,于是来水一篇 这道题目,我们可以用简单的字符串模拟来做,实在是“太水了”,QAQ。关键就是要把题目读懂! 按照题目意思,就是一道“位值问题”,每一位上的值都有不同的比重。每一位上的比重,就是数值*(2^位置-1)。 那么,考虑公式,简单易懂的小段代码。 int 阅读全文
posted @ 2020-08-08 15:12 Bushuai_Tang 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 有趣的水题 只有这么几篇题解,那就发一篇吧 这道题我讲两种方法:动规和打表! 先讲讲有趣的打表吧! 一、打表 打表有什么好说的吗? 有,记得开long long! 还是直接上代码吧! #include<bits/stdc++.h> using namespace std; int n; long l 阅读全文
posted @ 2020-08-08 15:11 Bushuai_Tang 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 那么,闲言少叙,现在切入正题吧(我想我的方法不太复杂)! 这道题要用到一个ABOUT字符串的函数: SUBSTR 这是什么?我们来举个例子: 假设s是一个字符串,s="YOUAREABIGPIG.",我想提取它从下表为0到下表为2的这一段,令他为t。 那么怎样做呢?这就要用到substr了。 表示方 阅读全文
posted @ 2020-08-08 15:10 Bushuai_Tang 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 为了本题解,蒟蒻特地将代码风格改了改,让大家看得清晰一些。 看了一下其他的题解,说明都不是很详细,于是我来为萌新们说明一下。 我先讲讲我的思路:这道题我们需要用两个 BFS,我们分别来看一看。 第一个 BFS 第一个 BFS作为初始化,作用是将火焰蔓延到某个点(i,j)所需要的时间统计出来,记作 F 阅读全文
posted @ 2020-08-08 15:08 Bushuai_Tang 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 蒟蒻又来发题解了... 人生自古谁无死,留篇题解帮萌新! 一、思路 这道题目我们可以用BFS解决。 因为必须要先走数字小的,再走数字大的,所以我们做多遍BFS,每一遍BFS从当前数字走到比他大一的数字,将答案加上这条路径。在输入时记录每个数字的坐标。 二、萌新请注意 如果没学过BFS,可以去这里学习 阅读全文
posted @ 2020-08-08 15:06 Bushuai_Tang 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 蒟蒻又来发题解了... 这道题目,我们可以用暴力枚举解决。 首先,我们要枚举1*k矩阵的起点。 其次,我们需要判断两种情况:横着,竖着。 有一种特殊情况,即k=1时,横着竖着都一样,这只能算一种情况。 没看懂的不妨看看代码中的注释。 #include<bits/stdc++.h> using nam 阅读全文
posted @ 2020-08-08 15:05 Bushuai_Tang 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 还是留篇题解帮帮萌新们吧! 这道题考察的知识点是对STL_map的应用,那么我们先来看看STL_map是什么。 一、map介绍 map,本质上时功能受限的平衡树,萌新们可以理解为下标可以不是int类型的数组。它是STL中的一个容器,提供一对一的数据处理与存储。 Q:怎样定义map? A:map<关键 阅读全文
posted @ 2020-08-08 15:04 Bushuai_Tang 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 这道题可不是个水题嘛! 初始思路 这道题目是很明显的搜索,我推荐使用深度优先搜索,简称DFS。 终止条件:如果时间到了,那么结束搜索。 搜索时使用的参数:当前横、纵坐标,以及当前时间。 扩散:每一次向四周搜索,不能跑出地图,而且不能撞墙。 剪枝:由于数据较小,可以不剪枝(假的,后面会发现问题)。 剪 阅读全文
posted @ 2020-08-08 15:03 Bushuai_Tang 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 一、目录概览 一、目录概览 二、题目大意 三、本题思路 四、简单介绍_Permutation 五、代码剖析 二、题目大意 这道题目的意思可以转换为: 用0~9若干个数码,可以组成一些自然数,目标是在这些自然数中找出比X大的最小值。 原题戳链接哦 三、本题思路 这道题目,如果学过STL中的Permut 阅读全文
posted @ 2020-08-08 15:01 Bushuai_Tang 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 言归正传,这道题目,我们可以用暴力枚举来解决。 首先,输入,输入元素个数,及最大值,还有数组。 暴力枚举三个数的下标即可,注意下标不能重复哦! 求出三个数后,求和,看看符不符合要求,再在所有符合要求的里面取最大值。 跑得还挺快。 于是,没什么好说的了,毕竟他是一道入门题。 上代码: #include 阅读全文
posted @ 2020-08-08 14:51 Bushuai_Tang 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 这道题目,我们可以用暴力枚举解决。 因为输入的三个数都在[-100,100],所以,第四个数,估摸着不会超过[-300,300]。 暴力枚举第四个数,每次将这四个数排个序,看看两两之间差是否相同,如果可以,就输出答案,否则继续找。 那就没什么好说的了,毕竟它是一道红题嘛! 上代码啊: #includ 阅读全文
posted @ 2020-08-08 14:50 Bushuai_Tang 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 一、目录概览 一、目录概览 二、题目大意 三、大致思路 四、代码实现 五、代码剖析 六、总结回顾 二、题目大意 kkksc03想好了很多应该有的文件夹路径名。 问题是,需要是使这些文件夹都存在,需要新建几个文件夹呢? 文件夹路径是什么?例如/A/B/C,表示在根目录下有A文件夹,在A文件夹里有B文件 阅读全文
posted @ 2020-08-08 14:49 Bushuai_Tang 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 这道题目其实很简单。 我们如果将所有香肠拼在一起,可见至少切M-1刀,可是,有的地方原来已经帮我们切好了。 因此,我们要减去原来切好的刀数。 转念一想,不就是Gcd(n,m)么? 答案可见。 代码(13行) #include<bits/stdc++.h> using namespace std; i 阅读全文
posted @ 2020-08-08 14:47 Bushuai_Tang 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 这篇题解简单些,请见谅 一、目录概览 一、目录概览 二、题目大意 三、答题思路 四、代码剖析 二、题目大意 有个集合,还有N个数。 题目保证这个集合里的所有元素都在这N个数里。 我们要找出在这N个数中的其他数中,与集合中的某个元素的差,是a的倍数,那么答案+1,如果答案为0,就输出Great Set 阅读全文
posted @ 2020-08-08 14:45 Bushuai_Tang 阅读(170) 评论(1) 推荐(0) 编辑
摘要: 先排序,第一次跳一定是第一只袋鼠或是第三只袋鼠。 每一次跳,都可以做到只将长度缩小一。 开始时长度为:max(A[3]-A[2],A[2]-A[1]) 这样我们就求出了初始长度,因为每次缩小一,直到为一时结束,所以答案为:max(A[2]-A[1],A[3]-A[2])-1 代码请自己打! 阅读全文
posted @ 2020-08-08 14:42 Bushuai_Tang 阅读(121) 评论(1) 推荐(0) 编辑
摘要: 这是一道简单题。 我们可以枚举长,然后通过周长算出宽,公式易证:b=(C+4-a-a)/2; 然后算一算里面的面积:S=(a-2)*(b-2) 验证一下S,如果正确,就跳转输出即可。 代码不到20行,请自己敲一敲,锻炼手指。 阅读全文
posted @ 2020-08-08 14:41 Bushuai_Tang 阅读(138) 评论(1) 推荐(0) 编辑
摘要: 这是一道动态规划题目。 我们先预处理出Sum数组,Sum[i][j]表示[i,j]这个区间用一个网捕捉的最小浪费。 我们不妨这样计算:Sum[i][j]=(j-i+1)*Max-Prefix 其中Max表示[i,j]区间蛇的最大值,Prefix表示[i,j]的和。 然后我们可以动态规划了。 设状态: 阅读全文
posted @ 2020-08-08 14:40 Bushuai_Tang 阅读(105) 评论(1) 推荐(0) 编辑
摘要: 这是一道很简单的题目 我们先把奇怪的键盘换成正常的,把数字都换回来 然后,我们预处理每一个字母应打出的数字 最后根据字符串输出即可 简单至极,但是代码量较长,需要耐心一点 所以我代码就不放辣 阅读全文
posted @ 2020-08-08 14:36 Bushuai_Tang 阅读(99) 评论(2) 推荐(0) 编辑
摘要: 拿了最优解,再来蹭题解 这道题目其实就是让你去求斐波那契数列的第N项 其中: Fibonacci[0]=1; Fibonacci[1]=2; ...... Fibonacci[i]=Fibonacci[i-1]+Fibonacci[i-2]; But! 记得开高精! 让我们来回顾下高精求和 因为不会 阅读全文
posted @ 2020-08-08 14:34 Bushuai_Tang 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 这道题目我们可以用线性基解决 线性基的定义: 对于n个数,a1,a2,a3,a4…… 线性基b1,b2…… 线性基满足的情况是这n个数,其中的任意个数的异或值都能用数组b中的某几个数求出来。 我们先来看看无解的情况,如果所有数的异或和为0,不管你怎么分都是无解。 如果有解,直接输出线性基就好了。 为 阅读全文
posted @ 2020-08-08 14:29 Bushuai_Tang 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 这题肯定不能暴力,精度太低。 我们考虑记录分子和分母。 如果最后结果分子和分母都对应相等,那我们就认为正确。 记得将P,Q也约分好。 约分就是将两个数同时除以他们的Gcd。 答案呼之欲出。 #include<bits/stdc++.h> using namespace std; typedef lo 阅读全文
posted @ 2020-08-08 14:28 Bushuai_Tang 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 这是一道KMP算法题。 首先GetNext,这是不用说的,GetNext可以说是每一道KMP都要做的。 接下来我们考虑如何求解。 我们不妨假设这个字符串长度为N,那么N-Next[N]这个位置一定是重复的那个最长子串最后一个字符所在的位置 那如果这整个字符串真的是由好几个相同字符串重复连接,那么N 阅读全文
posted @ 2020-08-08 14:24 Bushuai_Tang 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 这道题目我们可以模拟 我们枚举每一个点,如果他是字母,那么我们就直接算出他附近点的坐标,看这个点是否可行 如果可行,我们就输出,并结束程序。 题目过于简单,我就不多说了 #include<bits/stdc++.h> using namespace std; int Side; char Map[3 阅读全文
posted @ 2020-08-08 14:20 Bushuai_Tang 阅读(143) 评论(0) 推荐(0) 编辑