自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十届蓝桥杯C++省赛B组题解

A题B题C题D题E题F题G题H题I 题J题

2020-09-10 17:15:31 921

原创 全排列的实现(函数加手动)

全排列问题给定一个数字的序列,返回其所有可能的全排列。方法一利用 next_permutation()函数 或 prev_permutation()函数,它们都在头文件下。next_permutation()函数是对给定的序列范围进行异变,按字典序尝试异变出更大字典序的序列,若成功返回true失败返回false。prev_permutation()函数与之相反是尝试异变出字典序更小的序列。我们可根据此性质编写全排列算法。代码:以next_permutation()函数为例#include&lt

2020-06-11 11:47:00 176

原创 C++高精度基本运算(全面实现)

C++高精度写在开头:本文主要实现的是自然数范围内做运算的 加法、减法、乘法、除法 四种基本高精度运算以及依靠减法和乘法实现的大数 阶乘 和利用字符串比较实现的 比较 运算(如果有需要可以自行加判断将范围扩充到整数范围内)实现思路我们用字符串去储存大数,让各个函数可以处理这些字符串进行模拟运算并返回一个用字符串表示的大数C++高精度 之 加法运算:大数加法运算的模拟相对简单,我们直接模...

2020-03-28 10:08:18 7605 1

原创 最佳加法表达式 + 高精度

本题来源:MOOC郭炜老师算法学习练习最佳加法表达式问题重述给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如,在1234中摆放1个加号,最好的摆法就是12+34,和为36输入有不超过15组数据每组数据两行。第一行是整数m,表示有m个加号要放( 0<=m<=50)第二行是若干个数字。数字总数n不超过50...

2020-03-14 22:32:13 383

原创 LeetCode接雨水I、II

本文题图来源于: LeetCode接雨水I问题重述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6思路分析:题目给定...

2020-03-14 21:33:23 241

原创 背包九讲 之 依赖背包

依赖背包问题重述有 N 个物品和一个容量是 V 的背包。物品之间具有依赖关系,且依赖关系组成一棵树的形状。如果选择一个物品,则必须选择它的父节点。如果选择物品5,则必须选择物品1和2。这是因为2是5的父节点,1是2的父节点。每件物品的编号是 i,体积是 vi,价值是 wi,依赖的父节点编号是 pi。物品的下标范围是 1…N。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价...

2020-03-10 21:24:02 1864

原创 背包九讲 之 分组背包思路题解

分组背包问题问题重述有 N 组物品和一个容量是 V 的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数 N,V,用空格隔开,分别表示物品组数和背包容量。接下来有 N 组数据:每组数据第一行有一个整数 ...

2020-03-09 21:49:04 1178

原创 背包九讲 之 混合背包思路题解

混合背包问题问题重述有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包);第二类物品可以用无限次(完全背包);第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下...

2020-03-09 16:32:47 418

原创 背包九讲 之 多重背包及其优化

多重背包在了解了01背包以及完全背包后。我们继续学习多重背包。问题重述有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格...

2020-03-08 10:22:25 364

原创 单调队列求解滑动窗口的最值问题

滑动窗口最大值问题重述:给定一个数组 ,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。输入第一行输入数组元素的个数 n 和窗口大小 k第二行输入 n 个数作为数组元素输出返回题述每个窗口中的最大值(假设k总是合法的)思路最简单的方式我们用O(nk)的时间复杂度遍历每一次的窗...

2020-03-07 15:42:38 211

原创 背包九讲 之 完全背包思路题解

完全背包问题本文基于01背包问题问题重述有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的...

2020-03-05 22:03:01 252

原创 背包九讲 之 01背包问题求具体方案

01背包问题求具体方案本文基于01背包问题问题重述有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 字典序最小的方案。这里的字典序是指:所选物品的编号所构成的序列。物品的编号范围是 1…N。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和...

2020-03-04 22:31:13 2089

原创 背包九讲 之 01背包求方案数

01背包求方案数本文基于01背包问题问题重述有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 最优选法的方案数。注意答案可能很大,请输出答案模 109+7 的结果。输入格式:第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N...

2020-03-03 21:37:48 1492

原创 背包九讲 之 01背包及二维背包

01背包问题问题重述:有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值...

2020-03-02 17:48:10 778

原创 Boolean Expressions题解

Boolean Expressions问题重述描述The objective of the program you are going to produce is to evaluate boolean expressions as the one shown next:Expression: ( V | V ) & F & ( F | V )where V is ...

2020-02-22 14:15:50 597

原创 整数划分计数问题

整数划分计数问题整数划分的问题输入一个整数尝试将这个整数划分为不同整数相加之和,例如4可以划分为:4=1+1+1+14=1+1+24=1+34=2+24=4一共有5种划分方案尝试编写代码输入一个n,按字典序升序输出所有的解这道题是经典的递归问题我们可以枚举所有可能递归实现C++代码如下:#include<iostream>#include<ve...

2020-02-22 11:51:48 412

原创 八皇后问题的改进N皇后问题

N皇后问题N皇后问题经典的八皇后问题是在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。现对该问题进行改良要求在一个n×n的棋盘上摆放n个皇后问有多少解法。从输入一个n,要求程序可以输出每一种解的摆放,并输出总的解法。简单分析:在n×n的棋盘上摆放n个皇后不能互相攻击,我们要做的就是找到这n个皇后各自的位置所以...

2020-02-18 10:57:49 408

原创 手动构造循环队列实现约瑟夫环

约瑟夫环问题问题重述已知有n个人他们彼此都有编号且互不相同,他们围坐在一起。从第k个人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。第一行由键盘输入一个n,接下来的一行共n个互不相同的数由空格间隔,第三行输入k和m空格间隔要求程序给出他们的出列顺序;代码实现#include<stdio.h>#...

2020-02-18 09:46:02 533

原创 基于C语言链表的简易同学录

基于C语言链表的简易同学录上机作业,数据结构只用了一个链表结构,整体谈不上用了什么算法,主要想做的交互性更好一点,倒是用了些心思。整体思路大概如下:首先想清楚这个同学录大概要实现几个功能,我这大概就是插入、删除、修改、查看、统计、打印输出、结束操作七个操作,然后把它们标好号封装在一个函数里随时被打印做提示用。之后在实现这几个功能函数前,要先把首要的创建函数写好就是构建链表的函数。然后就是...

2020-02-09 11:39:27 374

空空如也

空空如也

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

TA关注的人

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