随笔分类 - 算法
摘要:> 最近遇到一个算法题目,感觉挺有意思,分享一下。原题和参考题解放在最后的链接中了。 # 题目 题目描述 小美定义一个 01 串的权值为:每次操作选择一位取反,使得相邻字符都不相等的最小操作次数。 例如,"10001"的权值是 1,因为只需要修改一次:对第三个字符取反即可。 现在小美拿到了一个 01
阅读全文
摘要:做股票的人总会忍不住幻想:如果知道明天怎样就好了。那么问题来了,如果打开上帝视角,你最好能做到怎样? 真实世界的股票交易规则太复杂,我们这里做一些简化。首先我们假设有N个股票和M个交易期。 可以认为在单个交易期内所有股票的价格都是恒定的。股票卖出需要缴纳交易额的P倍的印花税。股票可以零碎地买卖,即,
阅读全文
摘要:LeetCode 287. 寻找重复数 题目 \287. 寻找重复数 中等 2.1K 相关企业 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设
阅读全文
摘要:dp的含义表示:从前i个数中挑选,满足和为j的最大乘积为多少。由于是乘积所以dp初始均为1。i为2开始是因为从1开始挑选,j为2开始应为有效数字是从2开始。 进一步空间优化,应为dp[i][j]只与其相邻的状态有关。 // 思路初探:将本题转化成完全背包问题。 // 完全背包问题不用塞满背包,而本题
阅读全文
摘要:题目:https://leetcode.cn/problems/merge-intervals/ 错误代码: ``` // 思路初探:做了很多道类似区间操作的题目了。本题就是尽可能少的创建新区间 // 1.首先对区间排序(左边界升序,右边界都行) // 2.遍历合并 class Solution {
阅读全文
摘要:蓝桥杯第四届真题 考前两三天才准备,因此只是简单过了一下,其中还有很多需要学习的知识点。 P8839 [传智杯 #4 初赛] 组原成绩 链接:https://www.luogu.com.cn/problem/P8839 [传智杯 #4 初赛] 组原成绩 题目描述 花栗鼠科技大学(Hualishu U
阅读全文
摘要:素数筛法-欧拉筛-个人理解 素数筛选有两种流派,一种是埃氏筛法,一种是欧拉筛,由于埃氏筛法很简单,而且效率没有欧筛效率高。因此本文介绍欧拉筛。 本文用另一种角度讲解为何在if(i%b[j]==0)时跳出循环,是个人理解,如有不正确的地方欢迎指点 #include<iostream> using na
阅读全文
摘要:试题 D: 路径 本题总分:10 分 【问题描述】 小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图 中的最短路径。 小蓝的图由 2021 个结点组成,依次编号 1 至 2021。 对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点 之间没有边相连;如
阅读全文
摘要:SPFA算法 1、什么是spfa算法? SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环。SPFA一般情况复杂度是O(m)O(m) 最坏情况下复杂度和朴素 Bellman-Ford 相同,为O(nm)。 2.算法步骤: queue
阅读全文
摘要:蓝桥杯的一道题:灵能传输 https://www.acwing.com/problem/content/description/1250/ 首先是简化操作,将原数组转化为前缀和数组(下标都是从1开始),一次灵能传输对原数组涉及三个数(a[i-1],a[i],a[i+1])的操作,而且操作比较麻烦,但
阅读全文
摘要:题目: 小明公司的办公区有一条长长的走廊,由 N 个方格区域组成,如下图所示。 走廊内部署了 K 台扫地机器人,其中第 ii 台在第 Ai 个方格区域中。 已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。 请你编写一个程序,计算每台机器人的清扫路线,使得 它们最终都返回出发方格,
阅读全文
摘要:树状数组与线段树 知识来源:5.1 树状数组和线段树 - AcWing 对比 1.线段树组的适用范围包含树状数组的适用范围,即树状数组可以解的题线段树可以解决,反之则不然。 2.树状数组也有优势:代码短,运行效率高 3.两种结构下标都是从1开始 树状数组 O(logn) 可以解决的问题: 使某个位置
阅读全文
摘要:y总分析:这种题(我也不知道说的是哪种题hh)一般解法为贪心或dp,而本题用的是dp。 其实个人感觉题目不是很严谨,从y总讲解和题解分析得知各个数对区间是不能重叠的,但是题目使用的是≤,感觉数对的区间边界点是可以重复的。 方法1:y总的讲解,个人感觉比较难理解,也没有完全理解,因此只贴一个链接:第一
阅读全文
摘要:AcWing 836. 合并集合 》最简单的并查集操作: 一共有 nn 个数,编号是 1∼n1∼n,最开始每个数各自在一个集合中。 现在要进行 mm 个操作,操作共有两种: M a b,将编号为 aa 和 bb 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;Q a b,询问编
阅读全文
摘要:1.日期类 有一些涉及日期判断(闰年,周几)等,如果知道日期类的操作的话能节省很多功夫且可以提高正确率。 例题:跑步锻炼 - 蓝桥云课 (lanqiao.cn) 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝每天都锻炼身体。 正常情况下,小蓝每天跑 11 千
阅读全文
摘要:感觉这道题非常有意思,学的过程中觉得及难,学完之后觉得及简单,看y总的视频没有看懂。。。,因此自己找了一篇博文理解并完成题目。 import java.io.*; /** * @author admin * @Date 2021/11/11 20:07 * @Description 思路主要参考:
阅读全文
摘要:网上只查到c++代码,补充java代码。 题目链接:434. 排座椅 - AcWing题库 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。 不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的 DD 对同学上课时会交头接耳。 同学们在教室中
阅读全文