自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 汉诺塔变种(限制移动方式的汉诺塔)

汉诺塔

2022-07-21 11:54:46 692

转载 圣诞树的打印(初级与进阶)

打印圣诞树 观察规律

2022-07-20 13:29:00 3313

原创 2011ACM 进制数

进制数

2022-07-02 13:01:11 195

原创 回型矩阵问题

螺旋顺时针输出矩阵

2022-06-23 13:13:41 315

原创 有个小小的实现(很简单 但是没想到)

easy

2022-06-21 00:14:21 73

原创 小猫爬山问题(DFS)

如果我们能把所有的分配情况都列举出来,一定能找出用车最少得情况,最终求出最少需要的趟数。这时,我们需要考虑深度优先搜索算法。深度优先搜索算法,简单地说就是一种能穷举所有可能结果的算法:这个算法可以通过函数递归实现,先通过不断的迭代获得一种结果,接着回溯,再迭代得到另一种结果;不断进行上述操作,直到获得所有结果。在取得每种结果时,可以获得解决问题所需要的信息,当然,我们也可以通过一些条件判断终止某类结果的求解过程,以节省时间与空间,这被称为“剪枝”。深度优先搜索是一种图论算法,我们可以在讲授算法的书中找到..

2022-04-29 16:52:40 451

原创 并查集(合并集合)

描述:一共有n个数,编号是1~n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:“M a b”,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; “Q a b”,询问编号为a和b的两个数是否在同一个集合中;数据范围:1≤n,m≤10^5输入:第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为“M a b”或“Q a b”中的一种。输出:对于每个询问指令”Q a b”,都要输出一个结果,如果a和b在同一集合内

2022-04-06 23:34:10 288

原创 摆碟子问题(动态规划)

描述:假设你的餐桌上摆放了n个盘子,每个盘子有且只能放1个菜,相邻的盘子最多连续两个菜品相同。求你在桌子上能够摆放菜的方式(个数)。#include<iostream>using namespace std;int n, k, dp[2][200001], ans;int main(){ while (scanf("%d %d", &n, &k) != EOF) //分为两个种情况 dp[0][n] 1.前n个盘子的摆放总数(而且第n-1个盘子和第.

2022-04-05 23:21:59 1609 1

原创 矩阵链乘法问题(动态规划)

矩阵链乘法问题描述:输入:输入共n+1行第一行输入矩阵的总个数n[2,1000]后n行分别输入矩阵的维数[1,100]输出:最后一行输出少乘法次数输入样例 1:630 3535 1515 55 1010 2020 25输出样例 1:15125#include<iostream>#include<vector>#include<algorithm>const int Max = 1 <<

2022-04-01 10:34:00 438

原创 0/1背包问题(动态规划)

描述:有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。数据范围0<N,V≤10000<vi,wi≤100输入:第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi,用空格隔开,分别表示第i件物品的体积和价值。输出:输出一个整数,表示最大价值。输入样例 14 51 2

2022-03-31 12:15:12 274

原创 求最大子序列和(动态规划)

最大子序列和描述:给定一个序列a[1],a[2],a[3]......a[n],你的工作是计算一个子序列的最大和。例如,给定(6,-1,5,4,-7),这个序列的最大和是6+(-1)+5+4=14。输入:输入的第一行包含一个整数T(1<=T<=20),表示测试用例的数量。然后是T行,每行以数字N(1<=N<=100000)开始,然后是N个整数(所有整数都在-1000到1000之间)。输出:对于每个测试用例,你应该输出两行。第一行是 "Case #:",#表示测

2022-03-30 23:09:25 1698

原创 最长公共子序列(动态规划)LCS

#include<iostream>#include<string>using namespace std;int n;int m;char a[1010];char b[1010];int dp[1010][1010]; //存储每个i,j对应的状态 就是教材的c[i,j];int lcs(){ for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) if (...

2022-03-28 14:36:14 742

原创 求排列的逆序数(分而治之思想)

主要升华一下mergesort的思想方法 比较巧妙

2022-03-27 20:36:02 197

原创 归并排序(最典型的分而治之思想)

#include<iostream>#include<cmath>#include<algorithm>using namespace std;int n;int a[100010];int temp[100010]; //临时数组 归并的时候用void merge(int low,int mid,int high)//二路归并 就是合并两个有序数组{ int k = low-1; int l = low, r = mid + 1; //l为左.

2022-03-26 16:55:04 1099

原创 N皇后问题 (分而治之)

N皇后问题的递归分治解法

2022-03-20 19:13:47 130

原创 2021-07-13

新手上道各位多多照顾

2021-07-13 19:35:43 81

空空如也

空空如也

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

TA关注的人

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