算法题
文章平均质量分 56
为梦而生~
Python新星创作者,CSDN潜力新星,阿里云社区专家博主。我在学习的是算法和机器学习、深度学习的相关内容,欢迎大家来与我探讨交流,一起进步!在我的博客中,你可以找到我对于某些知识点的理解和经验分享,也欢迎与我交流和讨论编程相关的话题。谢谢你的光临!
展开
-
【DFS简单题汇总】递归与递推
递归实现指数型枚举、递归实现排列型枚举、递归实现组合型枚举等经典简单题统统搞定原创 2024-02-27 15:49:09 · 1383 阅读 · 51 评论 -
【AcWing每日一题】3400. 统计次数
对于每一个数,枚举它的每一位,看一下所有的位含有多少个k,根据数据的范围,计算量大约五六百万,根据C++ 的计算能力,用暴力枚举就可以算完。给定两个正整数 n 和 k,求从 1 到 n 这 n 个正整数的十进制表示中 k 出现的次数。从 1 到 12 这些整数中包含 1 的数字有 1,10,11,12,一共出现了 5 次 1。共一行,包含两个整数 n 和 k。输出一个整数,表示答案。原创 2022-12-27 20:27:15 · 209 阅读 · 0 评论 -
【AcWing每日一题】4366. 上课睡觉
你可以对石子堆进行合并操作,将两个相邻的石子堆合并为一个石子堆,例如,如果 a=[1,2,3,4,5],合并第 2,3 堆石子,则石子堆集合变为 a=[1,5,4,5]。一开始还有一个条件我没注意到,只能合并相邻的两堆,这样堆排序好像没法用了。我们希望通过尽可能少的操作,使得石子堆集合中的每堆石子的数量都相同。有 N 堆石子,每堆的石子数量分别为 a1,a2,…以内,约数个数最多的数是720720,有240个约数。总的石子个数sum,最终每堆石子cnt个,他的方法是用的数论的推导。每组数据输出一行结果。原创 2022-12-29 09:12:03 · 367 阅读 · 0 评论 -
【AcWing每日一题】3443. 学分绩点
既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。总评绩点 = 所有学科学分绩点之和 / 所有课程学分之和。北京大学对本科生的成绩施行平均学分绩点制(GPA)。现要求你编写程序求出某人 A 的总评绩点(GPA)。输出有一行,总评绩点,精确到小数点后 2 位小数。第二行,相应课程的学分(两个学分间用空格隔开);一门课程的学分绩点 = 该课绩点 × 该课学分。课程得分范围 [0,100]。第三行,对应课程的实际得分;此处输入的所有数字均为整数。学分取值范围 [1,10],第一行,总的课程数 n;原创 2022-12-29 20:16:08 · 229 阅读 · 0 评论 -
【AcWing每日一题】4818. 奶牛大学
注意这个问题涉及到的整数可能需要使用 64 位整数型(例如,Java 中的 “long”,C/C++ 中的 “long long”)。如果 Farmer John 收费 4,那么 3 头奶牛将会入学,从而使他赚取 3×4=12 的金额。我改进的代码因为用的cin和cout,需要输入输出流,所以运行时间稍微长一点,需要392ms。Farmer John 想赚尽可能多的钱,从而可以给他的讲师提供一笔可观的工资。如果这笔学费大于一头奶牛愿意支付的最高金额,那么这头奶牛就不会入学。输入的第一行包含 N。原创 2022-12-30 22:15:01 · 623 阅读 · 2 评论 -
【AcWing每日一题】4261. 孤独的照片
如果队伍中的第 i 头奶牛是更赛牛,则字符串的第 i 个字符为 G。这个例子中的每一个长为 3 的子串均恰好包含一头更赛牛或荷斯坦牛——所以这些子串表示孤独的照片,并会被 Farmer John 扔掉。然而,他不想拍摄这样的照片,其中只有一头牛的品种是更赛牛,或者只有一头牛的品种是荷斯坦牛——他认为这头奇特的牛会感到孤立和不自然。在为每个连续不少于三头奶牛的序列拍摄了一张照片后,他把所有「孤独的」照片,即其中只有一头更赛牛或荷斯坦奶牛的照片,都扔掉了。输出 Farmer John 会扔掉的孤独的照片数量。原创 2023-01-01 10:58:58 · 748 阅读 · 0 评论 -
【AcWing每日一题】4644. 求和
对于 30% 的数据,1≤n≤1000,1≤a。对于所有评测用例,1≤n≤200000,1≤a。利用前缀和,直接将时间和空间复杂度从O(n。输出一个整数 S,表示所求的和。,求它们两两相乘再相加的和,即。输入的第一行包含一个整数 n。请使用合适的数据类型进行运算。第二行包含 n 个整数 a。给定 n 个整数 a。原创 2023-01-03 20:23:28 · 674 阅读 · 0 评论 -
【AcWing每日一题】4653. 数位排序
因为最快的排序也需要O(nlogn)的时间复杂度,所以需要先存下所有数的数位和,不然会TLE。例如,2022 排在 409 前面,因为 2022 的数位之和是 6,小于 409 的数位之和 13。当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。给定正整数 n,m,请问对 1 到 n 采用这种方法排序时,排在第 m 个的元素是多少?又如,6 排在 2022 前面,因为它们的数位之和相同,而 6 小于 2022。对于 50% 的评测用例,1≤m≤n≤1000。原创 2023-01-05 09:26:14 · 557 阅读 · 0 评论 -
【AcWing每日一题】4655. 重新排序
小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查询结果的和尽可能地大。给定一个数组 A 和一些查询 Li,Ri,求数组中第 Li 至第 Ri 个元素之和。第二行包含 n 个整数 A1,A2,⋅⋅⋅,An,相邻两个整数之间用一个空格分隔。接下来 m 行,每行包含两个整数 Li、Ri,相邻两个整数之间用一个空格分隔。对于 70% 的评测用例,n,m≤5000;对于 50% 的评测用例,n,m≤500;对于 30% 的评测用例,n,m≤50;对于所有评测用例,1≤n,m≤10。原创 2023-01-05 23:51:43 · 386 阅读 · 0 评论 -
【串的匹配】IP判断
利用字符串操作判断ip是否符合条件原创 2022-01-05 22:12:18 · 242 阅读 · 0 评论 -
【思维题】与进制数关联的回文数
如果能在30步以内得到回文数,输出“STEP=xx”(不含引号),其中xx是步数;写一个程序,给定一个N(2原创 2021-01-16 08:33:34 · 490 阅读 · 1 评论 -
【DFS经典例题】2n皇后问题
问题描述给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。输出格式输出一个整数,表示总共有多少种放法。样例输入41 1原创 2021-01-15 09:21:00 · 1653 阅读 · 1 评论 -
【贪心策略】区间选点问题
先找尽量靠右的点,因为这可能命中更多的区间。 - 首先按照区间右端点排序,然后对排序之后的区间,从第一个开始取点。 - 同时要用一个数组模拟坐标来记录某个点是否已经被选择。 - 在后面的区间判断取点之前,要先根据坐标轴上的点来判断还需要取几个点原创 2022-02-07 15:45:00 · 951 阅读 · 0 评论 -
【DFS练习】困难的串
DFS+剪枝,无需回溯。结合前缀法。原创 2022-01-29 15:01:31 · 819 阅读 · 0 评论 -
【DFS练习】素数环
DFS+回溯+剪枝,同时用空间换时间。原创 2022-01-29 14:28:08 · 2989 阅读 · 0 评论 -
【DFS练习】水洼数
用深搜检查出所有的水洼数原创 2022-01-29 13:53:32 · 889 阅读 · 0 评论 -
【排列组合】子集生成
二进制法原创 2022-01-28 14:44:34 · 394 阅读 · 0 评论 -
【递归进阶练习】全排列
递归的进阶练习,包括前缀法和递归加回溯。全方位搞懂全排列玩法!原创 2022-01-28 14:28:43 · 499 阅读 · 0 评论 -
【递归算法题】硬币表示
可以有明确的递推关系。我们可以选择用递归来做。原创 2022-01-28 14:12:17 · 830 阅读 · 1 评论