- 博客(17)
- 收藏
- 关注
原创 汉诺塔问题
汉诺塔问题,条件如下:1、这里有A、B、C三座塔。2、这里有n个圆盘,n的数量是恒定的。3、每个圆盘的尺寸都不相同。4、所有的圆盘在开始时都堆叠在塔A上,且圆盘尺寸从塔顶到塔底逐渐增大。5、我们需要将所有的圆盘都从塔A转移到塔 C上。6、每次可以移动一个圆盘,当塔为空塔或者塔顶圆盘尺寸大于被移动圆盘时,可将圆盘移至这座塔上。求出把A的盘子移到C上的步骤数。思路:1.将n - 1个盘子从a移到c中(以b为介质)2.将a中最后一个盘子,也就是最大的...
2022-04-13 19:14:11
260
原创 递归实现指数型枚举
从1∼n这n个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3思路:这题采用填空的方法,就是dfs(暴力搜索),把每种合理的情况枚举出来,之后...
2022-04-12 21:06:58
260
原创 防 晒
题目:有 C 头奶牛进行日光浴,第 i 头奶牛需要 minSPF[i] 到 maxSPF[i]单位强度之间的阳光。每头奶牛在日光浴前必须涂防晒霜,防晒霜有 L种,涂上第 i 种之后,身体接收到的阳光强度就会稳定为 SPF[i],第 i 种防晒霜有 cover[i]瓶。求最多可以满足多少头奶牛进行日光浴。输入格式第一行输入整数 C和 L。接下来的 C行,按次序每行输入一头牛的 minSPF 和 maxSPF 值,即第 i 行输入 minSPF[i] 和 maxSPF[i]。再接下来的 L行,按次序每行
2022-03-19 22:12:45
755
1
原创 最短Hamilton路径
题目:给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1的最短 Hamilton 路径Hamilton 路径的定义是从 0 到 n−1不重不漏地经过每个点恰好一次。输入格式第一行输入整数 n。接下来 n行每行 n 个整数,其中第 i 行第 j 个整数表示点 i 到 j 的距离(记为 a[i,j])。对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z]。输出格式输出一个整数,表示最短
2022-03-19 17:46:03
73
原创 超快速排序(逆序对+树状数组)
题目:在这个问题中,您必须分析特定的排序算法----超快速排序。该算法通过交换两个相邻的序列元素来处理 n个不同整数的序列,直到序列按升序排序。对于输入序列 9 1 0 5 4,超快速排序生成输出 0 1 4 5 9。您的任务是确定超快速排序需要执行多少交换操作才能对给定的输入序列进行排序。输入格式输入包括一些测试用例。每个测试用例的第一行输入整数 n,代表该用例中输入序列的长度。接下来 n行每行输入一个整数 ai,代表用例中输入序列的具体数据,第 i 行的数据代
2022-02-25 08:57:18
122
原创 _对顶堆_
例题:动态中位数依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。输入格式第一行输入一个整数 P,代表后面数据集的个数,接下来若干行输入各个数据集。每个数据集的第一行首先输入一个代表数据集的编号的整数。然后输入一个整数 M,代表数据集中包含数据的个数,M一定为奇数,数据之间用空格隔开。数据集的剩余行由数据集的数据构成,每行包含 10个数据,最后一行数据量可能少于 10个,数据之间用空格隔开。输出格式对于每个数据集,第
2022-02-24 20:00:55
50
原创 递归实现组合型枚举
从1∼n这n个整数中随机选出m个,输出所有可能的选择方案。输入格式两个整数n,m,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行11个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。数据范围n>0n>0,0≤m≤n0≤m≤n,n+(n−m)≤25n+(n−m)≤25输入样例:5 3...
2021-09-12 11:04:02
313
1
原创 最短Hamilton路径
给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1的最短 Hamilton 路径。Hamilton 路径的定义是从 0到 n−1不重不漏地经过每个点恰好一次。输入格式第一行输入整数 n。接下来 n行每行 n 个整数,其中第 i 行第 j 个整数表示点 i 到 j 的距离(记为 a[i,j])。对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y] + a[y,z] ≥ a[x,z]。输出格式输出一个整数,表示
2021-09-10 23:04:40
99
原创 c++大数相乘
求 a 乘 b 对 p取模的值。输入格式第一行输入整数a,第二行输入整数b,第三行输入整数p。输出格式输出一个整数,表示a*b mod p的值。数据范围1≤a,b,p≤1018输入样例:345输出样例:2在写本题的时候,笔者最开始想到的是最原始的二进制乘法,这里初略介绍一下二进制乘法二进制乘法例:0010 * 1010,1010代表的是2 ^ 3 + 2 ^ 1, 我们将0010分别向左移动3位...
2021-09-06 22:32:00
103
原创 c++ a^b
题目(来源:https://www.acwing.com/problem/content/91/)求 a 的 b 次方对 p取模的值。输入格式三个整数 a,b,p,在同一行用空格隔开。输出格式输出一个整数,表示a^b mod p的值。数据范围0≤a,b≤1091≤p≤109输入样例:3 2 7输出样例:2本题考察快速幂。这里初略的介绍一下快速幂在计算7^n的时候,最容易想到的方法就是写成n个7相乘,这样的时间复...
2021-09-05 22:57:52
1114
原创 bfs和连接块问题
你有一张某海域 N×N像素的照片,”.”表示海洋、”#”表示陆地,如下所示:........##.....##........##...####....###........其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:.
2021-06-06 23:24:24
203
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人