自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并查集思想及例题

并查集是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并和查询问题。经典的应用有:判断连通性、最小生成树 Kruskal 算法、最近公共祖先(Least Common Ancestors, LCA)等。并查集在算法竞赛中也十分常见:一是简单且高效,二是应用很直观,三是容易和其他数据结构和算法结合。例题:剪邮票 - 蓝桥云课 (lanqiao.cn)...

2022-02-20 22:00:34 699

原创 自写全排列

#include<bits/stdc++.h>using namespace std;int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13};void dfs(int s, int t){ //从第s个数开始到第t个结束的全排列 if(s == t) { // 递归结束,产生一个全排列 for(int i = 0; i <= t; ++i) //输出一个排列 cout.

2022-01-29 14:13:26 864

原创 贪心思想及例题

贪心(greedy)思想:一个问题拆解成多个步骤,每个步骤采用最优的解法(叫局部最优),不考虑对别的步骤的影响。最少硬币问题:题目描述:某人带着3种面值的硬币去购物,有1元、2元、5元的,硬币数量不限;他需要支付M元,问怎么支付,才能使硬币数量最少?思路:根据生活常识,第一步应该先拿出面值最大的5​ 元硬币,第二步拿出面值第二大的2​ 元硬币,最后才拿出面值最小的1​ 元硬币。在这个解决方案中,硬币数量总数是最少的。#include<bits/stdc++.h>usi...

2022-01-14 20:05:46 1960

原创 2.7排列 (OJ2811)

1833:排列描述题目描述:大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。任务描述:给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。比如:n = 3,k=2 给出排列2 3 1,则它的下1个排列为3 1 2,下2个排列为3 2 1,因此答案为3 2 1。输入第一行是一个正

2021-11-30 20:49:01 201

原创 3.5熄灯问题 (OJ2811)

描述有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。在上图中,左边矩阵中用X标记的按钮表示被按下,右边的矩阵表示灯状态的改变。对矩阵中的每盏灯设置一个初始状态。请你按按钮,直至每一盏等都熄灭。与一盏灯毗邻的多个按钮被按下时.

2021-11-29 21:23:51 236

原创 4.5八皇后问题 (OJ 2754)

描述会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。输入第1行是测试数据的组数n,

2021-11-29 19:03:04 567

原创 4.2汉诺塔问题

在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。输入数据 汉诺塔内的盘子个数n(1<=n<=64)输出数据 输出移动的步骤,每行一步,如从A座移动到C座,输出“A->C"解析:...

2021-11-28 17:09:43 182

原创 2.9(习题2-1)与7无关的数 (OJ 2701)

描述一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.输入输入为一行,正整数n(n < 100)输出输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。样例输入21样例输出2336今天搞晚了,时间没分配好,我还有300单词没背呢,只好拿简单题敷衍下了。我哭,程序输出与案例对不上,检查了半天,最后发现题目的条件我少看了一个,

2021-11-05 21:37:44 428

原创 2.5约瑟夫问题(OJ 2746)

描述约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。输入每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m,n <=300)。最后一行是:0 0输出对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号样例输入6 212 48..

2021-11-04 22:53:47 244 2

原创 2.4 装箱问题(OJ 1017)

描述一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常使用一个 6*6*h 的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他们很需要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。输入输入文件包括几行,每一行代表一个订单。每个订单里的一行包括六个整数,中间用空格隔开,分别为1*1至6*6这六种产品的数量。输入

2021-11-03 23:09:17 178

空空如也

空空如也

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

TA关注的人

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