![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
比企谷叭帆i
热爱可抵岁月漫长。
展开
-
003递归实现排列型枚举
把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1代码:#incl...原创 2019-09-17 21:23:14 · 93 阅读 · 0 评论 -
002递归实现组合型枚举
从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。输入格式两个整数 n,m ,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。数据范围n>0 ,0≤m≤n ,n+(n...原创 2019-09-17 21:20:54 · 88 阅读 · 0 评论 -
001递归实现指数型枚举
递归实现指数型枚举从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 ...原创 2019-09-17 21:10:39 · 98 阅读 · 0 评论 -
97. 约数之和
假设现在有两个自然数A和B,S是AB的所有约数之和。请你求出S mod 9901的值是多少。输入格式在一行中输入用空格隔开的两个整数A和B。输出格式输出一个整数,代表S mod 9901的值。数据范围0≤A,B≤5×107输入样例:2 3输出样例:15注意: A和B不会同时为0。using namespace std;const int mod = 9901;int ...原创 2019-09-22 20:30:31 · 196 阅读 · 0 评论 -
96. 奇怪的汉诺塔
汉诺塔问题,条件如下:1、这里有A、B、C和D四座塔。2、这里有n个圆盘,n的数量是恒定的。3、每个圆盘的尺寸都不相同。4、所有的圆盘在开始时都堆叠在塔A上,且圆盘尺寸从塔顶到塔底逐渐增大。5、我们需要将所有的圆盘都从塔A转移到塔D上。6、每次可以移动一个圆盘,当塔为空塔或者塔顶圆盘尺寸大于被移动圆盘时,可将圆盘移至这座塔上。请你求出将所有圆盘从塔A移动到塔D,所需的最小移动次数是多...原创 2019-09-22 10:32:13 · 214 阅读 · 0 评论 -
004费解的开关
原题链接:https://www.acwing.com/problem/content/97/你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态10...原创 2019-09-18 11:04:54 · 92 阅读 · 0 评论 -
101. 最高的牛
有 NN 头牛站成一行,被编队为1、2、3…N,每头牛的身高都为整数。当且仅当两头牛中间的牛身高都比它们矮时,两头牛方可看到对方。现在,我们只知道其中最高的牛是第 PP 头,它的身高是 HH ,剩余牛的身高未知。但是,我们还知道这群牛之中存在着 MM 对关系,每对关系都指明了某两头牛 AA 和 BB 可以相互看见。求每头牛的身高的最大可能值是多少。输入格式第一行输入整数N,P,H,MN...原创 2019-09-22 09:51:51 · 135 阅读 · 0 评论 -
AcWing 100. IncDec序列
给定一个长度为 nn 的数列 a1,a2,…,ana1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。输入格式第一行输入正整数nn。接下来nn行,每行输入一个整数,第i+1行的整数代表aiai。输出格式第一行输出最少操作次数。第二行输出...原创 2019-09-22 09:48:39 · 107 阅读 · 0 评论 -
快速幂算法模板
求 mk%pmk%p,时间复杂度 O(logk)O(logk)。int qmi(int m, int k, int p){ int res = 1 % p, t = m; while (k) { if (k&1) res = res * t % p; t = t * t % p; k >>= 1; ...原创 2019-09-22 15:52:59 · 99 阅读 · 0 评论