自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 标准库类型 String

标准库类型 String定义和初始化String对象string test1; //空串string test2 = "内容"; //使用=string test3("内容"); //使用引用字符数组作为参数传给构造函数string test4(test2); //用一个string初始化另一个stringstring test4_1(test2,pos)...

2020-02-22 14:12:48 147

原创 C++ 基本操作

C++ 基本操作变量和基本类型基本内置类型使用过程中如果int的数值范围太小,那就选择long long当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。例如,8比特带下的unsigned char表示的是0-255区间内的值,如果我们对它赋值-1,其结果是该值对256取模后的余数,为255。而当我们赋给带符号类型一个超出它表示范围的值时,...

2020-02-22 14:08:15 624

原创 旅行售货商问题

17 旅行售货商问题描述一个国家有 n 个城市,每两个城市之间都开设有航班,从城市 i 到城市 j 的航班价格为 cost[i, j] ,而且往、返航班的价格相同。售货商要从一个城市出发,途径每个城市 1 次(且每个城市只能经过 1 次),最终返回出发地,而且他的交通工具只有航班,请求出他旅行的最小开销。关于输入输入的第 1 行是一个正整数 n (3 <= n <= 15)...

2020-02-22 13:52:46 1851

原创 最大子矩阵

16 最大子矩阵描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。关于输入输入是一个N * N的矩阵。输入的第一行给出N (0<N<=1000 < N <= 1000<N<=100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数……)给出矩阵中的N...

2020-02-22 13:52:12 192

原创 最大等差数列子集

13 最大等差数列子集描述一个等差数列是指以增序排列后,相邻的两个数后一个与前一个数之差值恒定。规定一个等差数列中的数不应少于3个。任给 n ( 2 < n < 5000)个正整数,请判断可否从中选择子集构成等差数列。若能,则选出满足条件的最大子集合(即,元素个数最多),并按从小到大输出子集中的元素,逗号间隔。若有多个子集同时满足最大,则取差值最大的子集;若同时有多个子集满足集合大...

2020-02-22 13:51:06 897

原创 佳佳的筷子

12 佳佳的筷子描述​ 佳佳与常人不同,吃饭用三只筷子,两根短的加一根比较长的。两只短的筷子的长度应该尽可能接近,但是最长的那根长度是无所谓的。如果一套筷子的长度分别是a,b,c(a<=b<=c)(a<=b<=c)(a<=b<=c),则用(a−b)∗(a−b)(a-b)* (a-b)(a−b)∗(a−b)的值表示这套筷子的质量,这个值越小,这套筷子的质量越高...

2020-02-22 13:50:12 1210

原创 鸡蛋的硬度

11 鸡蛋的硬度描述​ 从高楼扔鸡蛋来测试鸡蛋的硬度,假设鸡蛋硬度的上限是 100。如果鸡蛋从高楼的第a层摔下来没摔破,但是从a+1层摔 下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是a。 假如有足够多同样硬度的鸡蛋,可以用二分的办法用最少的次 数测出鸡蛋的硬度。 但是假如鸡蛋不够用,比如只有1个鸡蛋,那么我们就不得不从第1层 楼开始一层一层的扔,最坏情况下要扔100次。 如果有n层楼,m个鸡蛋...

2020-02-22 13:48:07 1193

原创 合唱队形

10 合唱队形描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1<T2<…<Ti,Ti>Ti+1>…>TK(1<=i<=K)T_1 < T_...

2020-02-22 13:47:12 512

原创 Zipper

07 Zipper描述Given three strings, you are to determine whether the third string can be formed by combining the characters in the first two strings. The first two strings can be mixed arbitrarily, but...

2020-02-22 13:45:54 168

原创 0-1背包问题

06 0-1背包问题描述​ 有N件物品和一个容积为M的背包,第iii件物品的体积w[i]w[i]w[i],价值为d[i]d[i]d[i]。求解将哪些物品放入背包可以使得价值总和最大。每种物品只有一件,可以选择放或者是不妨。(N<=3500,M<=13000N<=3500,M<=13000N<=3500,M<=13000)分析​ 首先我们从递归的角度来思考...

2020-02-22 13:44:05 166

原创 神奇的口袋(背包问题)

05 神奇的口袋(背包问题)描述​ 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入​ 输入的第一行是正...

2020-02-22 13:43:01 494 1

原创 滑雪

04 滑雪描述Michael喜欢滑雪这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子输入输入的第一行表示区域的行数R和列数C(1<=R,C<=100)(1 <= R,C <=...

2020-02-22 13:42:24 162

原创 公共子序列

03 公共子序列描述我们称序列Z = < z1, z2, …, zk >是序列X = < x1, x2, …, xm >的子序列,当且仅当存在 严格上升 的序列< i1, i2, …, ik>,使得对j = 1, 2, … ,k, 有xij= zj。比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c &...

2020-02-22 13:41:51 1235

原创 最长上升子序列

02 最长上升子序列描述一个数的序列 bi,当b1 < b2 < … < *bS*的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有...

2020-02-22 13:39:08 177

原创 数字三角形

01 数字三角形描述Write a program that calculates the highest sum of numbers passed on a route that starts at the top and ends somewhere on the base. Each step can go either diagonally down to the left or d...

2020-02-22 13:37:39 97

原创 动态规划的基本原理

动态规划的基本原理能用动态规划解决的问题的特点问题具有最优子结构性质:如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质。无后效性:当前的若干个状态值一旦确定,则此后过程的演变就只和这若干个状态的值有关,和之前是采取那种手段、哪条路径演变到当前的这若干个状态无关。事实上,不满足无后效性的问题分解是写不出状态转移方程的。不过这也与我们分划问题涉及状态的艺术有...

2020-02-22 13:36:51 3331

原创 幼儿园分糖果

09 幼儿园分糖果描述​ 新年将至,幼儿园的老师们为小朋友们准备了各种各样的糖果。不同的小朋友所喜欢的糖果可能是不同的,为了让更多的小朋友得到他/她喜爱的糖果,幼儿园的老师们对小朋友们的“糖果偏好”(即哪位小朋友喜欢哪几种糖果)进行了统计。现已知老师们共准备了F(1 ≤ F ≤ 20)种糖果,准备为幼儿园里的N位小朋友(1≤ N ≤20)分配糖果。同上所述,我们假设:(1)每位小朋友...

2020-02-22 13:35:25 1249

原创 集合里的乘法

08 集合里的乘法描述给定整数集合S和一个目标数T,判断是否可以从S中挑选一个非空子集,子集中的数相乘的乘积为T。关于输入输入为两行。第一行为目标数T和S中的元素个数N,以空格隔开。第二行为S中的N个元素,以空格隔开。其中 N <= 16。关于输出如果可以,则输出YES,否则输出NO。例子输入Sample Input 1:12 51 2 3 4 5Sample ...

2020-02-22 13:34:04 8054

原创 算24

03 算24描述给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法)。比如,对于5,5,5,1,我们知道5 * (5 – 1 / 5) = 24,因此可以得到24。又比如,对于1,1,4,2,我们...

2020-02-22 13:33:02 1242

原创 四则运算表达式求值

03 四则运算表达式求值输入输入为四则运算表达式,仅由数组、四则运算符、左右括号组成,不含空格。假设运算符结果都是整数。输出输出这个表达式的值分析首先我们要搞清楚表达式的定义是什么:表达式:由一个或者多个项组成,多个项的表达式由+ -连接项:由一个或者多个因子组成,多个因子由* \连接因子:由(表达式)或者整数组成我们发现,这是一个递归定义的东西,自然我们也可以用递归...

2020-02-22 13:32:07 452

原创 2的N次幂表达式*

02 2的N次幂表达式*描述任何一个正整数都可以用2的幂次方表示。例如:137=27+23+20137=2^7+2^3+2^0137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:2(7)+2(3)+2(0)2(7)+2(3)+2(0)2(7)+2(3)+2(0)进一步:7=22+2+207=2^2+2+2^07=22+2+20(2(1)用2表...

2020-02-22 13:30:49 1523

原创 多边形游戏

07 多边形游戏描述一个多边形,开始有n个顶点。每个顶点被赋予一个正整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。现在来玩一个游戏,该游戏共有n步:第1步,选择一条边,将其删除随后n-1步,每一步都按以下方式操作选择一条边E以及由E连接着的2个顶点v1和v2用一个新的顶点取代边E以及由E连接着的2个顶点v1和v2,将顶点v1和v2的整数值通过边E...

2020-02-22 12:44:24 420

原创 最佳凑单

06 最佳凑单描述消费者为了享受商家发布的满减优惠,常常需要面临凑单问题。假设有n件商品,每件的价格分别为p1,p2,…,pn,每件商品最多只能买1件。为了享受优惠,需要凑单价为t。那么我们要找到一种凑单方式,使得凑单价格不小于t(从而享受优惠),同时尽量接近t。被称为“最佳凑单”如果不存在任何一种凑单方式,使得凑单价格不小于t(即无法享受优惠),那么最佳凑单不存在。比如当前还差10元享...

2020-02-22 12:35:57 2180

原创 带通配符的字符串匹配

05 带通配符的字符串匹配描述通配符是一类键盘字符,当我们不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。通配符有问号(?)和星号( * )等,其中,“?”可以代替一个字符,而“*”可以代替零个或多个字符。你的任务是,给出一个带有通配符的字符串和一个不带通配符的字符串,判断他们是否能够匹配。例如,1?456 可以匹配 12456、13456、1a456,但是却不...

2020-02-22 12:35:23 2475 1

原创 放苹果

03 放苹果描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。样例输入17 3样例输出8分...

2020-02-22 12:33:49 76

原创 走楼梯

02 走楼梯描述树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级也可以第一次走两级,第二次走一级,一共3种方法。输入输入包含若干行,每行包含一个正整数N,代表楼梯级数,1<=N<=301 <= N <= 301<=N<=30输出不同的走法数,每一行输入对...

2020-02-22 12:32:01 295

原创 全排列*

例题四 全排列*描述给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有’a’ < ‘b’ < … < ‘y’ < ‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。输入输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。输出输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的...

2019-09-29 20:35:42 117

原创 逆波兰表达式

例题三 逆波兰表达式描述逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。输入输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。输出...

2019-09-29 20:34:07 320

原创 八皇后问题

例题二 八皇后问题描述在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。输入无输入。输出按给定顺序和格式输出所有八皇后问题的解。(见Sample Output)样例输出No. 11 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0...

2019-09-29 20:33:24 166

原创 汉诺塔问题

例题一 汉诺塔问题描述有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆: 每次只能移动一个圆盘; 大盘不能叠在小盘上面。 提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。如何移?最少要移动多少次?输入输入为一个整数后面跟三个单字符字符串。整数为盘子的数目,后三个字符表示三个杆...

2019-09-29 20:32:34 585

原创 特殊密码锁

例题四 特殊密码锁描述有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态。然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转。当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮。当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态。输入两行,给...

2019-09-29 20:31:46 123

原创 熄灯问题

例题三 熄灯问题描述有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。输入5行组成,每一行包括6个数字(0或1)。相邻两...

2019-09-29 20:31:17 258

原创 假币问题

例题二 假币问题描述赛利有12枚银币。其中有11枚真币和1枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币。经过精心安排每次的称量,赛利保证在称三次后确...

2019-09-29 20:00:09 688

原创 生理周期

例题一 生理周期http://bailian.openjudge.cn/practice/2977/描述人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出...

2019-09-29 19:59:16 181

原创 装箱问题

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

2019-09-29 19:57:17 603

原创 拦截导弹

拦截导弹http://bailian.openjudge.cn/practice/2945/描述某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间...

2019-09-29 19:54:42 123

原创 分数求和

分数求和http://ica.openjudge.cn/baseb/07/描述输入n个分数并对他们求和,并用最简形式表示。所谓最简形式是指:分子分母的最大公约数为1;若最终结果的分母为1,则直接用整数表示。如:5/6、10/3均是最简形式,而3/6需要化简为1/2, 3/1需要化简为3。分子和分母均不为0,也不为负数。输入第一行是一个整数n,表示分数个数,1 <= n <...

2019-09-29 19:52:33 1393

空空如也

空空如也

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

TA关注的人

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