摘要: 在算法比赛中,快读是一个常用的技巧,用于提高输入数据的速度。常见的快读方法有以下几种: 1. C++ 中的快读 C++ 中常用 scanf 和 getchar 进行快读。 #include <cstdio> #include <cstring> inline int read() { int x = 阅读全文
posted @ 2024-10-21 12:25 Tomorrowland_D 阅读(464) 评论(1) 推荐(3) 编辑
摘要: Kalindrome Array 题目链接: Kalindrome Array - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题面翻译 对于长度为 \(m\) 的序列 \(b\),我们称 \(b\) 是「回文的」,当且仅当对于所有 \(i\in[1,m]\),都有 \(b_i=b 阅读全文
posted @ 2024-10-17 08:27 Tomorrowland_D 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 1. A + B 问题I 前言 本篇作为课程第一篇,主要是对Python基础语法进行扫盲,本节课会学习到下面知识: 输入 本道题目的工作任务很简单,只是计算两个数的和,但是在计算之前,我们首先要明确的一个问题就是如何把这两个数据输入到计算机中,并由程序读取呢? 输入当然是使用键盘之类的输入设备完成, 阅读全文
posted @ 2024-10-16 17:09 Tomorrowland_D 阅读(468) 评论(0) 推荐(0) 编辑
摘要: #define read(x) scanf("%d",&x); 这行代码是一个宏定义,使用了 C 语言中的 #define 指令。它的作用是定义一个名为 read 的宏,用于简化输入操作。 具体来说: #define read(x):这部分定义了一个宏,名字是 read,它接收一个参数 x。 sca 阅读全文
posted @ 2024-10-15 19:55 Tomorrowland_D 阅读(94) 评论(0) 推荐(1) 编辑
摘要: 买卖股票 本文所讲解的内容与LeetCode122. 买卖股票的最佳时机ll,这道题题意相同,阅读完本文后可以自行挑战一下 力扣链接 题目叙述: 给定一个长度为N的数组,数组中的第i个数字表示一个给定股票在第i天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖 阅读全文
posted @ 2024-09-10 21:17 Tomorrowland_D 阅读(61) 评论(0) 推荐(1) 编辑
摘要: LeetCode516 .最长回文子序列 题目叙述: 力扣题目链接(opens new window) 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s = "bbba 阅读全文
posted @ 2024-09-07 16:18 Tomorrowland_D 阅读(129) 评论(0) 推荐(1) 编辑
摘要: LeetCode674. 最长连续递增序列 阅读本文之前,需要先了解“动态规划方法论”,这在我的文章以前有讲过 链接:动态规划方法论 本文之前也讲过一篇文章:最长递增子序列,这道题,阅读本文的同时可以与“最长递增子序列进行对比”,这样更能对比二者的区别! LeetCode300.最长递增子序列 - 阅读全文
posted @ 2024-08-24 19:19 Tomorrowland_D 阅读(58) 评论(0) 推荐(3) 编辑
摘要: 最长公共子串 阅读本文前可以先了解“动态规划方法论”,在我之前讲过的文章有讲过。 动态规划方法论 本文讲解的题与leetcode718.最长重复子数组,题意一模一样,阅读完本文以后可以去挑战这题。 力扣链接 题目叙述: 给定两个字符串,输出其最长公共子串的长度。 输入 ABACCB AACCAB 输 阅读全文
posted @ 2024-08-24 11:40 Tomorrowland_D 阅读(253) 评论(0) 推荐(4) 编辑
摘要: 大盗阿福 本题与leetcode198题——打家劫舍的题意一模一样,阅读完本文以后可以尝试以下题目 力扣题目链接) 题目叙述: 阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有N家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时, 阅读全文
posted @ 2024-08-24 08:53 Tomorrowland_D 阅读(52) 评论(0) 推荐(2) 编辑
摘要: 编辑距离 本题与力扣72.编辑距离题意一样,阅读完本文可以尝试leetcode72. 力扣题目链接 题目叙述 输入两个字符串a,b。输出从字符串a修改到字符串b时的编辑距离 输入 NOTV LOVER 输出 4 题目解释: 动态规划思路 这个问题显然是一个最优解问题,我们可以考虑动态规划的思路,那么 阅读全文
posted @ 2024-08-23 20:23 Tomorrowland_D 阅读(148) 评论(0) 推荐(3) 编辑
摘要: 最长公共子序列 本文讲解的题与leetcode1143.最长公共子序列这题一样,阅读完可以挑战一下。 力扣题目链接 题目叙述: 给定两个字符串,输出其最长公共子序列,并输出它的长度 输入: ADABEC和DBDCA 输出: DBC 3 解释 最长公共子序列是DBC,其长度为3 动态规划思路: 我们这 阅读全文
posted @ 2024-08-23 13:47 Tomorrowland_D 阅读(258) 评论(0) 推荐(4) 编辑
摘要: 最长上升子序列 本文与leetcode300.最长递增子序列,这题题意一样,阅读完本文可以挑战一下 力扣链接 题目叙述: 给定一个无序的整数数组,找出其中最长上升子序列(LIS)的长度。 输入: [5,7,1,9,4,6,2,8,3] 输出 4 解释 最长上升子序列是[1,4,6,8],其长度为4。 阅读全文
posted @ 2024-08-23 01:05 Tomorrowland_D 阅读(46) 评论(0) 推荐(1) 编辑
摘要: LeetCode300.最长递增子序列 力扣题目链接(opens new window) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7 阅读全文
posted @ 2024-08-23 00:46 Tomorrowland_D 阅读(84) 评论(0) 推荐(3) 编辑
摘要: 动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的, 我在这里举一个典型的动态规划的问题——背包问题: 阅读全文
posted @ 2024-08-20 16:45 Tomorrowland_D 阅读(346) 评论(0) 推荐(3) 编辑
摘要: 使用 next_permutation 函数非常简单,以下是具体的步骤和注意事项: 步骤: 包含头文件:确保包含 <algorithm> 头文件,因为 next_permutation 函数位于这个头文件中。 #include <algorithm> 准备容器:next_permutation 可以 阅读全文
posted @ 2024-08-16 10:25 Tomorrowland_D 阅读(58) 评论(0) 推荐(1) 编辑
摘要: LeetCode40.组合总和II 力扣题目链接(opens new window) 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有 阅读全文
posted @ 2024-08-14 21:20 Tomorrowland_D 阅读(31) 评论(0) 推荐(1) 编辑
摘要: LeetCode39. 组合总和 题目叙述: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数 阅读全文
posted @ 2024-08-14 20:45 Tomorrowland_D 阅读(41) 评论(0) 推荐(1) 编辑
摘要: 4.组合总和lll(LeetCode216) 题目叙述: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k = 3, n = 7 输 阅读全文
posted @ 2024-08-14 18:29 Tomorrowland_D 阅读(39) 评论(0) 推荐(1) 编辑
摘要: 回溯算法的理解: 回溯算法可以理解为一颗树形结构,即一颗n叉树,当遍历到叶子节点的时候,我们就到达了递归的终点,此时我们应该往上走。 回溯法解决的问题都可以抽象为树形结构,是的,我指的是所有回溯法的问题都可以抽象为树形结构!因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的 阅读全文
posted @ 2024-08-14 10:59 Tomorrowland_D 阅读(55) 评论(0) 推荐(1) 编辑
摘要: 6.帮贡排序 题目背景 在 absi2011 的帮派里,死号偏多。现在 absi2011 和帮主等人联合决定,要清除一些死号,加进一些新号,同时还要鼓励帮贡多的人,对帮派进行一番休整。 题目描述 目前帮派内共最多有一位帮主,两位副帮主,两位护法,四位长老,七位堂主,二十五名精英,帮众若干。 现在 a 阅读全文
posted @ 2024-08-07 17:58 Tomorrowland_D 阅读(22) 评论(0) 推荐(2) 编辑
摘要: 4.高精度除以低精度 题目叙述: A/B Problem 题目描述 输入两个整数 \(a,b\),输出它们的商。 输入格式 两行,第一行是被除数,第二行是除数。 输出格式 一行,商的整数部分。 样例 #1 样例输入 #1 10 2 样例输出 #1 5 提示 \(0\le a\le 10^{5000} 阅读全文
posted @ 2024-08-07 17:53 Tomorrowland_D 阅读(25) 评论(0) 推荐(2) 编辑
摘要: P1208 [USACO1.3] 混合牛奶 Mixing Milk 题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。 Marry 乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格可能相同。此外,就像每头奶牛 阅读全文
posted @ 2024-08-07 09:40 Tomorrowland_D 阅读(32) 评论(0) 推荐(1) 编辑
摘要: 1.快速幂模板 前置知识 一个数字n,它的二进制位数一定是log2n向下取整+1; 快速幂模板代码 这段代码实现了快速幂算法(Exponentiation by squaring),用来计算 ( an ) 的值,其中 ( a ) 和 ( n ) 都是整数。 int quickpow(int a, i 阅读全文
posted @ 2024-08-07 09:38 Tomorrowland_D 阅读(55) 评论(0) 推荐(1) 编辑
摘要: 【深基17.例5】木材仓库 题目描述 博艾市有一个木材仓库,里面可以存储各种长度的木材,但是保证没有两个木材的长度是相同的。作为仓库负责人,你有时候会进货,有时候会出货,因此需要维护这个库存。有不超过 100000 条的操作: 进货,格式1 Length:在仓库中放入一根长度为 Length(不超过 阅读全文
posted @ 2024-08-06 21:34 Tomorrowland_D 阅读(55) 评论(0) 推荐(1) 编辑
摘要: [USACO1.3] 修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶、门被吹飞了 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 宽度为1 自门 阅读全文
posted @ 2024-08-06 14:51 Tomorrowland_D 阅读(89) 评论(0) 推荐(1) 编辑