
解题报告
文章平均质量分 66
算法的解题报告
2301_78981471
这个作者很懒,什么都没留下…
展开
-
LeetCode - 2207. 字符串中最多数目的子序列
那么我们应该如何在只遍历一遍的情况下得到原本字符串中的子序列个数(未插入情况下)呢?由于子序列长度只有2,所以要么首位插入队头,要么末位插入队尾,就能取得最大数目。的个数,两者取最大值,就是插入的字符组成的子序列个数。于是遍历一遍字符串,统计。原创 2024-09-24 22:30:54 · 462 阅读 · 0 评论 -
LeetCode - 1702. 修改后的最大二进制字符串
简单来说我们需要想办法将0配对,将其变为10,对于单个的0,我们需要用10->01这个操作将后面的0冒泡到前面进行配对。原创 2024-04-10 23:40:48 · 592 阅读 · 3 评论 -
LeetCode - 2529. 正整数和负整数的最大计数
【代码】LeetCode - 2529. 正整数和负整数的最大计数。原创 2024-04-09 20:30:20 · 432 阅读 · 0 评论 -
Leetcode - 2009. 使数组连续的最少操作数
枚举窗口的右边界,也就是让数组中的每一个数都充当一次右边界,然后我们的左边界从0开始,看是否符合窗口大小,不符合就一直推进左边界到合法,然后重新计算窗口内的数字多少,取最大值,此值就是我们能保留的数目的最大值,那么需要修改的最小数目用数组长度减去保留的最多数目。题中所述的连续数组就是一串连续的自然数,想问需要多少次操作能将原数组变为连续的数。我们排序去重,用逆向思维想能保留的数字数目最多是多少,及用滑动窗口来获取最大数目。原创 2024-04-08 22:05:04 · 367 阅读 · 0 评论 -
Leetcode - 2580. 统计将重叠区间合并成组的方案数
区间和并,快排(对二维数组进行排序),快速幂原创 2024-03-27 22:18:15 · 414 阅读 · 0 评论 -
LeetCode 2864. 最大二进制奇数
我们可以利用双指针,一个指着原数组,一个指着新开的数组(全0)。原指针一直走,当原数组中碰到1时,就给交换一下,新指针指向下一位,一直循环。当走到末尾,只要把新指针的后一位跟末尾的0交换即可。但是其实我们发现这可以在一个数组中直接操作,我们默认新指针指的元素一直是0,等到原指针碰到1交换,最后交换末位。由于二进制基数的最后一位必须是1,而其他位越大越好,所以让一个1在最低位,其他全部放到最高位即可。所以我们数出字符串中1的个数,另开一个字符空间,把最后一位置1,把剩余的1全部放在前面。原创 2024-03-13 20:10:34 · 362 阅读 · 0 评论 -
洛谷B3614 【模板】栈
对于每组数据,按照「题目描述」中的要求依次输出。我的评价是垃圾题目,题目描述都描述不明白,害我浪费时间。均需要输出对应字符串。栈的 size 为 0。每组数据第一行是一个整数,表示操作的次数。和字符串之间用空格隔开;行,每行首先由一个字符串,为。对于第二组数据,始终为空,所以。对于全部的测试点,保证。输入第一行是一个整数。,则本行没有其它内容。,表示要被加入的数,原创 2023-11-26 10:10:52 · 1097 阅读 · 0 评论 -
洛谷P1449 后缀表达式
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。一开始读入整个字符串,锁定数字变得极其麻烦,直接一整个呆掉,蒟蒻是这样的。不想写这篇解题报告,真的很弱智啊,可是弱智的我一开始没写出来 <_>将括号去除,把运算符放在两个运算元素的后面,数字后面用。,答案和计算过程中的每一个值的绝对值不超过。,如果是其他运算符就弹出两个数进行相应运算。输出一个整数,表示表达式的值。为表达式的结束符号。原创 2023-11-25 22:52:31 · 855 阅读 · 0 评论 -
洛谷 P1168 中位数
题目链接:点击这里。题目可以理解为,先给你第一个数,输出他(第一次的中位数),在之后每泵入两个数,对已泵入的所有数取中位数输出。NNN 最大为 10510^5105,所以复杂度不可能超过 o(N2)o(N^2)o(N2),大概率是 o(N×logN)o(N \times logN)o(N×logN)。拿到本题一开始手足无措,不知所云。以为是把输入数组排个序然后输出前 (N+1)/2(N + 1) / 2(N+1)/2 个数字,于是写了个小顶堆交上去了,接着就 WA 了。其实这是一道 对顶堆 题。正如他的名字原创 2023-11-01 17:22:07 · 82 阅读 · 0 评论 -
P8647 [蓝桥杯 2017 省 AB] 分巧克力
从多个矩形中切出若干等大的正方形,使正方形在满足数量条件下尽可能大。位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。当然小朋友们都希望得到的巧克力尽可能大,你能帮小。块巧克力分给小朋友们。蓝桥杯 2022 省赛 A 组 I 题。二分试答案,由于巧克力最小边长为1,所以。输出切出的正方形巧克力最大可能的边长。输入保证每位小朋友至少能获得一块。为了公平起见,小明需要从这。计算出最大的边长是多少么?形状是正方形,边长是整数。,然后记录矩形的最大边长。的方格组成的长方形。原创 2023-10-26 10:40:22 · 139 阅读 · 0 评论 -
P1024 [NOIP2001 提高组] 一元三次方程求解 && 浮点数二分 && 牛顿迭代
我们知道二分只能确定一个数,那怎么找三个数呢 --> 找三次。此法是以每个整数区间为一组进行检测,如果有跟进行二分。感觉不如我第一次写的,题解都是这些。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后。时即找到目标区间,我们记录下这个区间的右边界,下一次从这里开始往右找即可。均为实数),并约定该方程存在三个不同实根(根的范围在。这样的一个一元三次方程。个实根,从小到大输出,并精确到小数点后。之间),且根与根之差的绝对值。NOIP 2001 提高组第一题。原创 2023-10-24 21:41:17 · 97 阅读 · 0 评论 -
P1571 眼红的Medusa #二分
原因是:他发现很多人都和她一样获了科技创新奖,特别是其中的某些人,还获得了另一个奖项——特殊贡献奖。而越多的人获得了两个奖项,Miss Medusa就会越眼红。于是她决定统计有哪些人获得了两个奖项,来知道自己有多眼红。输出一行,为获得两个奖项的人的编号,按在科技创新奖获奖名单中的先后次序输出。输入数据保证第二行任意两个数不同,第三行任意两个数不同。个正整数,表示获得科技创新奖的人的编号。个正整数,表示获得特殊贡献奖的人的编号。个人获得科技创新奖,,获得奖项的人的编号。,获得奖项的人的编号。原创 2023-10-23 20:51:31 · 176 阅读 · 0 评论 -
P8708 [蓝桥杯 2020 省 A1] 整数小拼接
拼接数字比大小,很自然地想到先排序再双指针找区间端点。(左端点l,右端点r)蓝桥杯 2020 第一轮省赛 A 组 H 题。请你计算有多少种拼法满足拼出的整数小于等于。一前一后拼成一个新的整数。你可以从中选出两个数。原创 2023-10-23 17:23:59 · 150 阅读 · 0 评论 -
P1638 逛画展
寻找包含所有画师作品的最短序列长度,序列中同一画师可能重复出现,且选取最优解下左端点最小的序列。越界时退出,最后判断如果是画师满员了,则对区间长度进行比较,接着更新值。位画师的作品扔进去,如果这个画师之前未出现过,即。从左往右顺序遍历,然后从序列中把第。用来记录序列中某画师的作品数目。代表序列中已有的画师数量,,那么计数器++,当。原创 2023-10-11 21:58:31 · 116 阅读 · 0 评论 -
P1102 A-B 数对
找到后计数器加上序列长度。那如果找不到符合条件的A怎么办?若都不符合条件,那么。,注意到,给的数据可能会有重复的数字,所以我们要找的是。的数对数,利用双指针算法。指向我们要找的序列的右端点,接着定义指针。指向第一个数,然后定义指针。相似,去找序列的左端点,直到。从第一个数开始,定义。原创 2023-10-11 12:31:04 · 47 阅读 · 0 评论 -
P7714 「EZEC-10」排列排序
位开始往后寻找需要排序的右边界;边界条件是:从第i位开始的元素最大值等于右边界的索引值,即。,所以应该分开讨论,最好用while,用for循环时应该注意,for的最后操作是。本题意为排序所要的最小代价,即需要排序的各最小区间的长度的和。1.对这种数字与下标相关的题目,应该从1开始存数、计数,而非0。在向右途中不断更新最大值。首先从头遍历,找到第一个非顺序的元素,即。时,i继续向右寻找不符合的元素,即。然后设立另一个指针j,从。原创 2023-10-10 22:03:08 · 129 阅读 · 0 评论 -
B3691
会超时,不能双重循环遍历对比所有元素,所以想到利用桶将相同的数字找出来,然后另开一个数组对下标进行标记,最后直接利用标记数组来计算有多少段。所以要寻找第i位被标记但是第i - 1位没被标记的元素,避免多数,然后计数器++;所以标记数组从1开始计数并且标记第0位,防止多计数和数组越界。原创 2023-10-10 19:52:45 · 95 阅读 · 1 评论