
算法题目
文章平均质量分 56
在codeforces,PAT,Letcode,牛客上面刷题的题解。
金鳞踏雨
断剑重铸之日,就是归来之时。
展开
-
Leetcode全排列
全排列package 算法;import java.util.ArrayList;import java.util.List;public class 全排列 { public static void main(String[] args) { List<List<Integer>> res = new ArrayList<List<Integer>>(); List<Integer> li原创 2022-04-15 02:59:53 · 372 阅读 · 0 评论 -
Codeforces的使用
1.首先,输入codeforces点击进入。2. 进入之后,你将会看到这样的一个页面,先点击左上角,Register(注册)3.emmmmmmm如下,#我的QQ邮箱,懒得删。按照它的提示输入信息,完成之后,Register一下。然后正常登入就好4.你可以输入自己的信息,这里就不多说了5.如图,说的很详细了吧6.选题目点击进入...原创 2019-04-09 12:50:00 · 22783 阅读 · 19 评论 -
二叉树之红黑树
红黑树是一种自平衡的二叉查找树。是计算机科学中用到的一种数据结构。1972年出现,当时被称之为平衡二叉B数。后来,1978年被修改为如今的红黑树。它是一种特殊的二叉查找树。红黑树的每一个节点上都有存储位表示节点的颜色。每一个节点可以是红色或者黑色。红黑树不是高度平衡的,它的平衡是通过红黑规则进行实现的。原创 2022-02-07 17:35:12 · 1135 阅读 · 0 评论 -
codeforces-432A. Choosing Teams-题解
题目:The Saratov State University Olympiad Programmers Training Center (SSU OPTC) hasnstudents. For each student you know the number of times he/she has participated in the ACM ICPC world programmin...原创 2019-03-14 01:16:35 · 425 阅读 · 0 评论 -
codeoforces-1131C. Birthday-题解
题目:生日弗拉德今天过生日 ! 有n的孩子来参加庆祝活动。为了迎接弗拉德,孩子们决定围成一圈。在来的孩子中,有高的也有低的,所以如果他们任意的站成一个圆圈,可能会发现,有一个高的和低的孩子站在一起,他们很难牵手。因此,孩子们想要站成一个圆圈,这样两个相邻的孩子的成长差异就会尽可能的小。形式上,我们把1个子结点的个数按圆圈的顺序从1到n,也就是说,对于每一个 i 个子结点,i+1的子结点旁边...原创 2019-03-13 01:44:32 · 300 阅读 · 0 评论 -
codeforces-1130B. Two Cakes-题解--(有点难)
题目:B.两个蛋糕Sasha和Dima想买两个n层蛋糕。每个蛋糕应该由n个不同的层组成。层应该按照从最小到最大的顺序排列(从上到下)。他们住在同一条街上,有2⋅n房屋在一行从左到右。每个房子都有一个糕点店,你可以在那里买一个蛋糕层。不幸的是,在每家糕点店只能买到一层,而且只能买到一种特定尺寸的:在第ii家,可以买到一层尺寸为ai(1≤ai≤n)的糕点。由于这些人携带已经购买的层,这是不可...原创 2019-03-12 23:34:00 · 431 阅读 · 0 评论 -
codeoforces-1136A. Nastya Is Reading a Book-题解(水)
题目Nastya正在读书下课后,娜斯特娅决定读一本书。这本书有n个章节,一个接一个,所以这本书的一页恰好属于一个章节,每个章节至少包含一页。昨天晚上Nastya没能读完这本书,所以她在第一个没有读的页面上标上了数字k第二天,娜斯特雅的朋友伊戈尔来问她,娜斯特雅还有几章要读?Nastya现在太忙了,所以她让你计算她还没有完全读过的章节的数量(也就是说,她还没有开始读的章节的数量,或者在中间...原创 2019-03-12 22:50:42 · 253 阅读 · 0 评论 -
codeforces-1138A. Sushi for Two-题解之
题目:A.两人份寿司阿卡迪邀请安娜去一家寿司店吃饭。这家餐厅有点不寻常:它提供排列成行的nn寿司,顾客必须选择这些寿司的连续子片段来购买。寿司有两种:金枪鱼寿司和鳗鱼寿司。让我们将左边寿司的ii-th类型表示为titi,其中ti=1表示金枪鱼,ti=2表示鳗鱼。阿卡迪不喜欢金枪鱼,安娜不喜欢鳗鱼。阿卡迪想要选择这样一个连续的寿司子片段,它具有相同数量的每种类型的寿司,并且子片段的每一半只...原创 2019-03-11 09:37:06 · 1021 阅读 · 0 评论 -
老陈的集训队---LCM(第一周)
一组正整数的最小公倍数(LCM)是一组正整数中最小的能被该组中所有数整除的正整数。例如,5、7和15的LCM是105。输入输入将由多个问题实例组成。输入的第一行将包含一个整数,该整数指示问题实例的数量。每个实例将由m个n1 n2 n3形式的一行组成…其中m是集合中整数的个数,整数。所有整数都是正的,并且位于一个32位整数的范围内。输出对于每个问题实例,输出一行包含相应的LCM。所有...原创 2019-03-10 15:43:52 · 290 阅读 · 0 评论 -
天梯赛-L1-034 点赞 (20 分)-题解
题目:微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“KF1⋯FK”,其中1≤K≤1...原创 2019-03-04 09:24:28 · 1267 阅读 · 0 评论 -
天梯赛-L1-006 连续因子 (20 分)-题解
题目:一个正整数N的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按因子1*因...原创 2019-03-03 21:26:25 · 5183 阅读 · 1 评论 -
codeforces-160A .Twins-题解
题目翻译:假设你有一个双胞胎兄弟或姐妹。有另一个和你长得一模一样的人似乎很不寻常,很难说拥有另一个自我是好是坏。如果你有一个双胞胎,你就会很清楚那是什么感觉。现在让我们想象一个典型的早晨在你的家庭。你还没醒,妈妈已经去上班了。她太性急了,几乎忘了给两个可爱的孩子留点钱去学校食堂买午饭。她在钱包里摸了摸,发现了一些硬币,确切地说,是n个任意值的硬币。但是妈妈快没时间了,她没给你们俩分硬币。所以她...原创 2019-02-24 23:03:10 · 450 阅读 · 0 评论 -
codeforces-732A. Buy a Shovel-题解
题目大意: 鲤鱼急需一把铲子,于是他来到商店选择了一个合适的,他选择的铲子以k burles的价格出售。假设商店里有无限数量的这样的铲子。他的口袋里有无限数量的“10-burle币”和正好一枚r-burles币(1<=r<=9),他购买铲子的最低数量是多少?很明显,他可以支付10把铲子,不需要任何改变(支付10把burle币的要求金额,不使用r burles币)。但也许他可以少买...原创 2019-02-23 15:21:29 · 352 阅读 · 0 评论 -
codeforces- 1117A. Best Subsegment-题解
题目大意: 在一串数字中找到最大的数字,然后计算出这串数中最长的连续个数eg:3 3 2 2 2 2,答案应为 2(这样说应该清楚了2333)思路: 1.找到最大的数 2.计次的方法计算连续数#include<iostream>int a[100000];using namespace std;int main(){ int n; cin>...原创 2019-02-23 14:46:42 · 357 阅读 · 0 评论 -
codeforces-1118A. Water Buying-题解
题目:想买鲤鱼煮汤,要做到这一点,他需要正好买n升的水。在附近的商店里只有两种瓶装水——1升瓶装水和2升瓶装水。这两种类型的瓶子在商店里有无限多。第一类瓶子是a burles,第二类瓶子是b burles。波利卡普希望尽可能少花钱。如果第一类瓶装水的价格是a burles,而第二类瓶装水的价格是b burles,那么您的任务是找出在附近的商店正好需要购买n升水的最低金额(以burles为单位...原创 2019-02-23 14:05:06 · 625 阅读 · 0 评论 -
牛客——拼数
题目:链接:https://ac.nowcoder.com/acm/problem/16783来源:牛客网题目描述设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613输入描述:第一行,一个正整...原创 2019-04-04 15:18:53 · 500 阅读 · 0 评论 -
牛客——奖学金
题目:某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名...原创 2019-04-02 18:16:28 · 525 阅读 · 2 评论 -
Codeforces Round #550 (Div. 3)———A~C的题解
emmmmmm好久没有打CF了,因为我......自闭了2333~~~A. Diverse Strings如果字符串包含拉丁字母表中连续的(相邻的)字母,并且每个字母恰好出现一次,则称为diversity。例如,以下字符串是多种多样的:“fced”、“xyz”、“r”和“dabcef”。下面的字符串没有多样性:“az”、“aa”、“bad”和“babc”,注意字母“a”和“z”并...原创 2019-04-01 03:17:52 · 401 阅读 · 0 评论 -
codeforces-711A. Bus to Udayland-题解
#include<stdio.h>int main(){ int T; while(~scanf("%d",&T)) { char map[1001][5]; int t=0; for(int i=0; i<T; i++) scanf("%s",map[i]);...原创 2019-02-16 23:11:39 · 235 阅读 · 0 评论 -
codeforces-148A. Insomnia cure-题解
题目大意:公主晚上睡不着,想到了一个数龙的方法让自己睡着,但是仅仅数龙也很无聊,她想尽可能地娱乐自己。今晚,她想象着所有的龙都在她搏斗。每k-th条龙都被一只煎锅打在脸上,每l-th条龙的尾巴都被关在阳台的门里,每m-th条龙的爪子都被锋利的脚后跟踩着,最后,她威胁每n-th条龙叫她妈妈。如果公主数出d条龙的总数,那么今晚有多少条想象中的龙受到了精神或肉体上的伤害?输入数据包含整数k, l...原创 2019-02-16 15:59:05 · 588 阅读 · 0 评论 -
codeforces-540A. Combination Lock-题解
题目大意: 组合锁由n个旋转磁盘表示,磁盘上的数字从0到9。McDuck必须转动一些磁盘,这样磁盘上的数字组合就形成了一个秘密组合。在一次移动中,他可以将一个磁盘向前或向后旋转一个数字。特别是,他可以从0到9,反之亦然。他需要的最少行动次数是多少?第一行包含一个整数n (1<=n<=1000),即组合锁上的磁盘数。第二行包含一个包含磁盘原始状态的n位字符串。第三行包含一...原创 2019-02-16 03:16:31 · 523 阅读 · 0 评论 -
codeforces-1084AThe Fair Nut and Elevator-题解
题目大意:Nut在n层的房子里,ai人住在房子的第i-th层,每个人每天使用电梯两次:从他/她住的楼层到一楼,晚上回家时从一楼到他/她住的楼层。 不使用的电梯将停留在X层,(但是X还没有被选择)。当一个人需要从a层到b层时,电梯遵循简单的算法:1.从第X层(最初停留在第X层)移动到第a层,并搭载乘客。 2.从a层移动到b层,(如果a = b,电梯只是开关门,但仍然从X层到达),从b层返回...原创 2019-02-15 16:57:44 · 282 阅读 · 0 评论 -
codeforces-1027A. Palindromic Twist-题解
题目大意:您将得到一个由n小写拉丁字母组成的字符串s。你可以这样改:例如,字母“p”应改为“o”或“q”,字母“a”应改为“b”,字母“z”应改为“y”。这样的字符串“codeforces”,例如,可以改变“dpedepqbft”(即可以把一个字母改为它的前一位或后一位,也可以不变!!!)输入一串字符串,通过如上超做能否使字符串s成为回文。如果字符串s可以转换为回文,则输出“YES”,...原创 2019-02-15 15:59:23 · 322 阅读 · 0 评论 -
codeforces-1104B. Game with string-题解
题目描述:A 与 B 正在玩一个关于由小写拉丁字符构成的字符串 s 的游戏,每一个人会轮流操作,先 A 后 B,对于每一次操作,操作者需要将 s中的两个连续且相同的字符消除,消除后的字符串由另一个人操作,同样的,对于每一次操作,如果不能找到两个符合要求的字符,那么操作者输。例如以下情况:s = ''xaax''首先是 A 操作,他只能将 ''aa'′ 删除,剩下 ′′xx′′,被 ...原创 2019-02-13 02:20:34 · 646 阅读 · 0 评论 -
codeforces-25B. Phone numbers-题解
题目:伯兰的电话号码是n位数字的序列。通常,为了更容易记住数字,它被分成两组或三组数字。例如,电话号码1198733更容易记住为11-987-33。你的任务是找出一个给定的电话号码,它可以分成两组或三组。 输入第一行包含整数n(2<=n<=100)个电话号码。第二行包含要分组的电话号码n位。输出给定电话号码分成两组或三组的任何一组。按单个字符-分隔组。如果答案不是唯一的,则输出an...原创 2019-02-12 02:45:49 · 380 阅读 · 0 评论 -
codeforces-1108C. Nice Garland-题解
题目: 解题思路:首先,采用暴力+枚举的方法,列出六种可能出现的排列情况即("GRB","GBR","RGB","RBG","BGR","BRG");然后,写一个循环把这六种情况都算一下,看看与哪一种相似度最高(一样的话随便,不影响结果),并记录需要改的地方;最后,将刚刚找到的匹配可能循环输出。#include<cstdio>#in原创 2019-02-12 02:19:09 · 320 阅读 · 0 评论 -
codeforces-268C.Beautiful Sets of Points-题解
题目:若满足以下条件,就可以说明点是美丽的:1.集合中每个点的坐标都是整数。2.对于集合中的任意两点,它们之间的距离都不是整数。考虑所有点(x,y)满足(0≤x≤n;0≤y≤m;x + y > 0)选择其最大的子集,使其也是一组漂亮的点。输入一行包含两个空格分隔的整数n和m (1≤n≤100)。输出在第一行中打印一个整数——找到的漂亮集合的大小k。在接下来的k行中,每一行打印...原创 2019-02-11 03:38:57 · 391 阅读 · 0 评论 -
codeforces-1110A.Parity-题解
题目: 题意分析: 本题要求b进制后的数字的奇偶性,如果是奇数输出odd,偶数输出even故对该题而言,我们只需对个位上的数字进行判断,注意两个公式(奇数+奇数=偶数,奇数*奇数=奇数)但凡a与b只要同时是奇数就s++(注意最后一位数字的处理!!!)下面是本人的AC代码:#include<iostream>#include<cmath>...原创 2019-02-11 01:38:35 · 357 阅读 · 0 评论 -
codeforces-1110B. Tape-题解
题目:你有一根长棍,长为m。但是,有些部分已经损坏,需要修复。你有一个无限长的修复磁带。想从胶带上剪下一些,然后用它们盖住所有的碎片。您可以覆盖不间断段;也有可能一些胶带会重叠,这些零件的最小总长度是多少?输入第一行包含三个整数n,m,k——破碎的片段数量,棒的长度和部分可以使用的最大数量。第二行包含n整数b1,b2,…,bn破碎段的位置。这些整数是按递增顺序给出的,即b1<...原创 2019-02-09 20:47:41 · 507 阅读 · 0 评论 -
codeforces-1060B Maximum Sum of Digits-题解
题目:任意给一个数 n ,把他分解为 n = a + b ,求 a 与 b 中的每一位数相加之和的最大值。思路:一:找出S的位数ant,A加上ant-1位9;eg:30000开始是9999二:A的第一位为S第一位数字-1此时A就变成了29999三:算出B=S-A,拆位,输出ans(此时ans=1) #include<cstdio>#include<...原创 2019-02-09 02:01:12 · 232 阅读 · 0 评论 -
codeforces-1111A. Superhero Transformation-题解
题意:超级英雄转换我们都知道超级英雄可以变成其他的超级英雄。但并不是所有的超级英雄都能变成其他超级英雄。一个名字是s的超级英雄可以变成另一个名字是t的超级英雄,如果s与t中的元音与t中的元音对应,辅音与辅音相对。就可以转换!!!给定两个超级英雄的名字,判断具有s名的超级英雄是否可以转换为具有t名的超级英雄。输入第一行包含长度在1到1000之间的字符串s。第二行包含长度在1到...原创 2019-02-08 01:04:53 · 327 阅读 · 0 评论 -
codeforces-1106C. Lunar New Year and Number Division-题解
题目大意: 求各组平方和的最小值。思路: 给定n个元素(保证n为偶数),将这些元素划分为若干个组,要求每个组元素个数不低于两个,不设上限,将各个元素利用sort()函数进行排序,并将最前面与最后面的进行配对,形成一组,并向中间的方向配对。证明:A.两两配对更优因为假设两个数组合起来(a+b)^2=a^2+2ab+b^2,相比于a^2+b^2,只会多了...原创 2019-02-06 14:47:29 · 303 阅读 · 0 评论 -
1206B. Make Product Equal One
题意:给出一组数, 可以进行若干次操作 : 把一个数+1或-1, 问使得所有数乘积为1的情况下最少操作几次题解:考虑-1 * -1 = 1其中正数全变1;考虑一下负数的个数, 若为负数为偶数个则全变-1, 0全变1; 若负数为奇数个则再判是否有0, 有的话抽一个0出来变为-1(省去一步).....#include<iostream>#include<cm...原创 2019-08-28 21:04:08 · 242 阅读 · 0 评论 -
codeforces—1146B. Hate "A"——题解
这题看起来简单,but:反正小编咕咕咕~~~~~难受思路:把 t 串中所有的字符a删去,形成一个新串t'。此时,我们发现:因为s'中没有字符a,所以我们删掉的都是s中的字符a,而题目告诉我们:将s中所有的字符a删去就能得到s',所以t't′就是由两个s′拼接而成。题目中有不存在正解的情况,需要特判:(1)t't′的长度不是偶数。此时t'不可能由两个s′拼接而成。(2...原创 2019-06-07 03:30:54 · 502 阅读 · 0 评论 -
A. From Hero to Zero( Educational Codeforces Round 66 (Rated for Div. 2))
emmmmmm不会模真的很烦~~~~被搞自闭了......举个例子:59 3按照题目描述:59 -> 58 -> 57 ->19 -> 18 -> 6 -> 3 ->1 ->0 一共8步但是这样数字大一点就超时了!!!所以:if(n%k!=0){ sum+=n%k; ...原创 2019-06-06 00:09:06 · 344 阅读 · 0 评论