自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 贪心法例题(C++)

1、求2~1000的完全数:/*for (m = 2; m <= 1000; ++m){求出m的所有因子的和s;if (m == s) 输出m;}*/#include <iostream>using namespace std;int main(){ for (int m = 2; m <= 1000; ++m) { int s = 0; for (int i = 1; i <= m/2; ++i)...

2022-07-29 14:57:27 176 1

原创 求逆序对(C++)

分治算法和归并排序。思路:归并排序是分治的思想,依据归并排序的框架,在出现逆序对时更新总数即可。代码如下:#include <iostream>using namespace std;long long ans = 0;void merge(int a[], int left, int right){ if (left == right) return; int mid = (left + right) / 2; int i = left, j =...

2022-07-24 21:43:13 2165

原创 a+b+c+d==0(C++)

二分查找和分治算法。思路:将a、b、c、d四组分成两组,并且分别合并,得到两个更大的分组p、q,通过二分查找,在p中查找等于q中元素相反数的元素,每当找到一个符合条件的元素,答案加一。代码如下:#include <iostream>#include <algorithm>using namespace std;int main(){ int T; cin >> T; while (T--) { int...

2022-07-24 16:11:40 328

原创 求解递增序列中与X最接近元素(C++)

二分查找和分治算法。思路:有以下几种情况:1、当恰好存在与X等值的元素时,答案就是这一元素;2、当元素都大于X时,答案就是最小元素;3、当元素都小于X时,答案就是最大元素;4、当既有小于也有大于X的元素时,返回差的绝对值最小的。代码如下:#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ int n, m; c...

2022-07-24 15:34:02 539

原创 小于等于指定数的元素问题(C++)

二分查找和分治算法。关键二分查找思路:找寻大于等于指定数的元素的和大于指定数的元素的各自指针,再判断这两个元素的大小关系,如果前者小,那么说明前者等于指定元素,如果两个相等,说明指定元素应在前者的前面一个位置(假设这组元素已经按照递增排好了)。代码如下:#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ int n, ...

2022-07-24 14:47:52 695

原创 分行宇宙(C++)

采用递归算法。递归思路:n度的宇宙是一个大问题,n-1度的宇宙是一个小问题,n度的大宇宙由五个n-1度的小宇宙组成,这些小宇宙分别在大宇宙的四个角落和中心,终止条件是1度的时候,这时候只有一个'X'的存在,即不可拆分的最小宇宙。(这里采用矩阵来存储各个宇宙)代码如下:#include <iostream>#include <cmath>using namespace std;#define SIZE 2001#define base 3#define mult

2022-07-24 10:35:20 694

原创 N皇后问题(C++)

采用递归的算法。递归思路:摆放n个皇后为大问题,摆放n-1个皇后为小问题。从第一个皇后开始摆起,直到第n个皇后摆放到可行位置,这时候一种摆放方法结束,输出结果,本题是默认有8皇后,并计算在已摆放任意个皇后的情况下,还有多少种摆法可行,因此需要额外判断递归出来的情况是不是符合现有棋盘上已摆放皇后的情况,从而计算可行方法数量。(注意:替换终止条件部分代码和输入部分的代码就可以实现大多数n皇后问题)代码如下:#include <iostream>#include <cmath&gt

2022-07-24 09:38:25 3533

原创 投骰子游戏(C++)

采用递归算法。本题递归思路:掷骰子n次是大问题,掷骰子n-1次是小问题,而这减去的一次,包括六种掷骰子情况,分别是掷出一点、二点、三点、四点、五点、六点,假设这里的递归函数设置为game(n),n表示掷骰子几次后得到的点数之和,那么game(n)=game(n-1)+game(n-2)+…+game(1)+1,当中的+1表示n在一到六之间且恰好掷骰子得到该点数,终止条件是n=1时,即这时候掷骰子只有点数为1这一种情况。代码如下:#include <iostream>using na

2022-07-23 19:22:33 1530

原创 n阶螺旋问题(C++)

采用递归的思路求解。递归思路:一个螺旋矩阵,最外层大螺旋是一个大问题,里面的小螺旋就是一个小问题,从大问题到小问题,变化的是螺旋矩阵的边长和起点,边长每次减少2格,起点沿着矩阵的对角线每次跳一格(从(0,0)到(1,1)),当矩阵边长只剩下0或者1时,为终止情况,这时候就可以结束递归了。代码如下:#include <iostream>using namespace std;int num[1001][1001];void pic(int n, int begin, in

2022-07-23 10:28:51 340

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除