常用算法
文章平均质量分 76
常用算法
Whisper_yl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode: 1109. 航班预订统计(差分数组求区间和)
这里有n个航班,它们分别从 1 到 n 进行编号。有一份航班预订表bookings ,表中第i条预订记录bookings[i] = [firsti, lasti, seatsi]意味着在从 firsti到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi个座位。请你返回一个长度为 n 的数组answer,其中 answer[i] 是航班 i 上预订的座位总数。示例 1:输入:bookings = [[1,2,10],[2,3,2...原创 2021-08-31 19:49:14 · 377 阅读 · 0 评论 -
最小价值和
题目描述给定 n 个整数对(ai, bi), 每个整数对的价值是(i-1)*ai + (n-i)*bi (下标从1开始, 这里的 ai 、bi 和输入不一定对应),然后问所有整数对的最小价值总和。输入输入包含多组测试用例。对于每组测试用例,首先输入数对的数量n(n<=1e5)接下来输入n对数对 ai bi (0<=ai,bi<=1e9)输出对于每...原创 2020-03-19 11:39:59 · 468 阅读 · 0 评论 -
好坑的电子地图
题目描述小明是今年参加复试的外校考生,他要去民主楼小礼堂签到。由于对中南大学校本部很不熟悉,小明找到了这边读书的好朋友鲁大师,不巧,鲁大师在忙着自由探索项目的结题工作,不能给他带路,只好给他发了一份半成品的电子地图。地图上只列出了校本部内的N个点,M条路,小明处于S点,民主楼小礼堂是T点。小明感谢鲁大师,当然只是在拿到地图的一瞬间,后面的情况让他知道这半成品到底有多坑。鲁大师制作的电子地图是带...原创 2020-03-14 11:23:17 · 353 阅读 · 0 评论 -
士兵排阵
题目描述在一个划分成网格的操场上,n个士兵散乱地站在网格点上。 网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、 下、 左、 右移动一步, 但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。如何选择x和y的值才能使士兵们以最少的总移动步数排成一列。 计算使所有士兵排成一行需要的最少...原创 2020-03-13 11:31:42 · 1249 阅读 · 1 评论 -
笔记
深搜:关键在于解决“当下该如何做”,“下一步如何做”与“当下如何做”是一样的。void dfs(int step){ 判断边界 尝试每一种可能for(){ 继续下一步dfs(step + 1); } 返回}分治法(divide and conquer):把原问题分解成规模较小的问题从小问题的解构建出原问题的解T(N) =...原创 2020-03-03 22:05:26 · 155 阅读 · 0 评论 -
快速排序
分治法的一种应用,也是一种基础算法,就不多做介绍了,只是把简单实现的代码贴上来。#include<iostream>using namespace std;int N;int a[10000];void QuickSort(int left, int right){ int i = left, j = right; int pivot = a[le...原创 2019-01-15 11:07:47 · 155 阅读 · 0 评论 -
并查集(Disjoint Set)
#include<iostream>using namespace std;#define VERTICLES 6void Initialise(int parent[], int rank[]){ for(int i = 0; i < VERTICLES; i++){ parent[i] = -1; rank[i] = 0; }}int Find...原创 2019-01-12 00:05:09 · 216 阅读 · 0 评论 -
页码统计(统计数字)
牛牛新买了一本算法书,算法书一共有n页,页码从1到n。牛牛于是想了一个算法题目:在这本算法书页码中0~9每个数字分别出现了多少次?输入描述:输入包括一个整数n(1 ≤ n ≤ 1,000,000,000) 输出描述:输出包括一行10个整数,即0~9这些数字在页码中出现的次数,以空格分隔。行末无空格。示例1输入999输出189 300 300 300...原创 2018-09-22 18:16:25 · 2373 阅读 · 1 评论 -
筛选法统计素数
学习到一种高效的筛选素数的方法——埃拉托色尼筛选法,如果要选出[2, n]范围内的素数,可以参考以下步骤: 1.构造一个[2, n]范围的数组,全部标记为1(true)。 2.删除掉数组中的非素数,将其标记为0(false)。 ①:删除2的倍数 ②:删除3的倍数 ③:删除4的倍数(没有必...原创 2018-09-09 21:24:41 · 419 阅读 · 0 评论 -
最小公倍数(LCM)与最大公约数(GCD)算法
最大公约数 关于求最大公约数和最小公倍数,最简单的也就是穷举法了。不过穷举法效率低下,大家基本也都会,就不做介绍了。这里介绍另外两种比较经典的算法:辗转相除法和更相减损法。 1.辗转相除法 ①有两整数a和b(假设a > b),且a % b = k ...r ②如果r == 0,则b即为最大公约数 ③如果r != 0,令a...原创 2018-08-05 23:12:51 · 1561 阅读 · 0 评论
分享