自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 类和对象——封装

C++面向对象的三大特性为封装、继承、多态C++认为万事万物都皆为对象,对象有其属性和行为例如:人可以作为对象,属性有姓名、年龄、身高、体重...,行为有走、跑、跳、吃饭、唱歌...车也可以作为对象,属性有轮胎、方向盘、车灯....行为有载人、放音乐、开空调...具有相同性质的对象,我们可以抽象称为人属于人类,车属于车类。封装是C++面向对象三大特性之一。

2023-10-04 19:04:03 57

原创 动态规划(一)

dp[cur][rest] == -1 -> process1(cur , rest)之前没算过!规定机器人必须走K步,最终能来到P位置(P也是1~N中的一个)的方法有多少种。返回:机器人从cur出发,走过rest步以后,最终停在aim的方法数是多少?假设有排成一行的N个位置,记为1~N,N一定大于或等于2。如果机器人来到N位置,那么下一步只能往左来到N-1位置;开始时机器人在其中的M位置上(M一定是1~N中的一个)如果机器人来到1位置,那么下一步只能往右来到2位置;dp是缓存表 n+1*k+1。

2023-10-04 15:12:55 51

原创 7625:三角形最佳路径问题

若(i,j)的前一个位置是(i-1,j-1),那么从(1,1)到(i,j)的数字最大和,为从(1,1)到(i-1,j-1)的数字最大和,加上(i,j)位置的数字,即。若(i,j)的前一个位置是(i-1,j),那么从(1,1)到(i,j)的数字最大和,为从(1,1)到(i-1,j)的数字最大和,加上(i,j)位置的数字,即。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。定义a[i][j]为(i,j)位置的数,dp[i][j]为从(1,1)到(i,j)最大的数字和。

2023-06-13 18:43:27 110

原创 7614:最低通行费

总时间限制:1000ms内存限制:65536kB描述一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开网格)。输入第一行是一个整数,表示正方形的宽度N (

2023-06-01 17:16:25 112

原创 666:放苹果

如果要使用全部j个盘子,那么可以先在每个盘子中放一个苹果,还剩下i-j个苹果。接下来就是将i-j个苹果放入j个盘子的过程,方案数为a[i-j][j]把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。如果苹果数量i小于等于盘子的数量j,那么最多也就可能使用i个盘子,摆放的方案数为将i个苹果放入i个盘子的方案数,即a[i][i]。如果不使用全部j个盘子,这种情况下可以将苹果放入前面j-1个盘子,第j个盘子空着。

2023-05-27 20:28:49 150

原创 6049:买书

小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。一个整数 n,代表总共钱数。(0 <= n <= 1000)问小明有多少种买书方案?(每种书可购买多本)总时间限制: 1000ms。内存限制: 65536kB。一个整数,代表选择方案种数。

2023-05-27 20:10:44 124

原创 6045:开餐馆

j从1开始循环到i-1,同时要满足m[i] - m[j] > k,对于每一个可能的第i地点餐馆前一个餐馆的地点j,可以得到:前j个地点中选择地点开餐馆,且在第j地点开餐馆能获得的最大利润dp[j],再加上第i地点开餐馆的利润p[i],即为在前i个地点中选择地点开餐馆且在第i地点开餐馆能得到的最大利润。每组测试数据有3行,dp[i]为在前i个地点中选择地点开餐馆且确定要在第i地点开餐馆,餐馆之间距离大于k,能够获得的最大利润。第i地点开餐馆的利润为p[i],第i地点的位置为m[i]。以上所有情况取最大值。

2023-05-21 14:08:16 96

原创 4982:踩方格

请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;有一个方格矩阵,矩阵边界在无穷远处。b. 走过的格子立即塌陷无法再走第二次;允许在方格上行走的步数n(n <= 20)c. 只能向北、东、西三个方向走;

2023-05-21 13:52:48 28

原创 4978:宠物小精灵之收服

在所有小精灵中选择小精灵捕获,消耗n个精灵球,要捕获数量为dp[ka][n][m]的小精灵,皮卡丘最少消耗的体力可以是多少。情况一:捕捉第i个小精灵,然后在前i-1个小精灵中选择小精灵,最多用j-b[i]个精灵球,皮卡丘最多消耗k-d[i]点体力值,在这种情况下能够捕捉到的小精灵数量最多为dp[i-1][j-b[i]][k-d[i]],加上刚捉到的1只,所以。那么在所有野生小精灵中,选择要捕获的小精灵,最多消耗n个精灵球和m点皮卡丘的体力,能获得的最多的小精灵的数量为dp[a][n][m]。

2023-05-13 18:25:02 101

原创 4977:怪盗基德的滑翔翼

他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0 < h < 10000),按照建筑的排列顺序给出。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。

2023-05-10 16:26:23 173

原创 3532:最大上升子序列和

比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。注意,最长的上升子序列的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上升子序列和为100,而最长上升子序列为(1, 2, 3):对所有满足j < i的j, 如果a[i]>a[j],则以第j元素为结尾的上升子序列加上第i元素,形成新的上升子序列。题目要求的是最大上升子序列的最大加和,那么就是求以每个位置为结尾的最大上升子序列的加和,即求dp数组中的最大值。

2023-05-10 16:11:36 51

原创 3531:判断整除

输入的第一行包含两个数:N(2 < N < 10000)和k(2 < k< 100),其中N代表一共有N个数,k代表被除数。添加x后加和能被k整除,那么有( s + x ) % k = 0 即如果s % k = ( k − x % k ) % k ,那么添加x后加和能被k整除。添加-x后能被k整除,那么有( s − x ) % k = 0 , 即如果s % k = x % k 那么添加-x后加和能被k整除。比如序列:1、2、4共有8种可能的序列:。dp[0][0]为前0个数字的加和是否除k余0,是的。

2023-05-03 19:53:29 227

原创 2989:糖果

糖果公司的N件产品每件都包含数量不同的糖果。Dzx希望他选择的产品包含的糖果总数是K的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。dp[i][j]表示再前i个产品中选择,糖果总数满足除以k余j,糖果数量最大的方案的糖果数(如果不存在,那么该值为负无穷)Dzx的选择是2+3+4+5=14,这样糖果总数是7的倍数,并且是总数最多的选择。以下N行每行1个整数,表示糖果公司该件产品中包含的糖果数目,不超过1000000。符合要求的最多能达到的糖果总数,如果不能达到K的倍数这一要求,输出0。

2023-05-02 16:35:00 30

原创 2728:摘花生

地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。每行数据有 C 个整数,按从西向东的顺序描述了该行每株花生苗上的花生数目 M ( 0<= M <= 1000)。dp[i][j]为走到(i,j)位置时可以摘到的花生个数的最大值。每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C ( 1<= R,C <=100)对每组输入数据,输出一行,内容为Hello Kitty能摘到得最多的花生颗数。中间的位置,比较下面和右面,谁大摘谁,再与之前累加。

2023-04-05 16:27:47 49

原创 2718:移动路线

对于1行1列的方格矩阵,蚂蚁原地移动,移动路线数为1;对于1行2列(或2行1列)的方格矩阵,蚂蚁只需一次向右(或向上)移动,移动路线数也为1……桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)路线1:(1,1) → (1,2) → (1,3) → (2,3)路线2:(1,1) → (1,2) → (2,2) → (2,3)路线3:(1,1) → (2,1) → (2,2) → (2,3)。

2023-04-05 15:54:58 52

原创 1996:登山

五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?因为可以先上山再下山,所以需要先从前往后计算最大的上山游览景点数,再从后向前计算下山的最大游览景点数,然后对于在某一点处转折的最大dp值就是上山dp+下山dp-1的结果,这里-1是因为对于同一点上山时计算了一次,下山时也计算了一次,所以减去。

2023-04-05 15:42:02 40

原创 1944:吃糖果

假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;如果N=4,则名名可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有3+2=5种方案。总时间限制: 1000ms 内存限制: 65536kB。输出只有1行,即名名吃巧克力的方案数。

2023-04-05 15:25:33 30

原创 1808:公共子序列

比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也是Y的子序列。定义dp[i][j]为示X序列的前i个元素与Y序列的前j个元素的最长公共子序列的长度。X序列前i个元素与Y序列前0个元素的最长公共子序列的长度为0:dp[i][0] = 0。X序列前0个元素与Y序列前j个元素的最长公共子序列的长度为0:dp[0][j] = 0。

2023-04-05 15:21:48 36

原创 1775:采药

为此,他想拜附近最有威望的医师为师。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。输入的第一行有两个整数T(1 <= T <= 1000)和M(1 <= M <= 100),T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的的整数,分别表示采摘某株草药的时间和这株草药的价值。输出只包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。

2023-04-05 15:06:04 50 1

原创 1759:最长上升子序列

比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8).所以比较dp[j]+1(以num[j]为最大数的最长上升子序列新添一个dp[i],所以再加1)和以num[i]为最大数的最长上升子序列。for循环,如果num[i] > num[j],则要判断是否将它加入以num[i]为最大数的上升子序列。你的任务,就是对于给定的序列,求出最长上升子序列的长度。最长上升子序列的长度。

2023-04-04 20:54:07 128

原创 *1759:最长上升子序列

1759:最长上升子序列

2023-03-17 20:25:30 49 1

原创 *4977:怪盗基德的滑翔翼

他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0 < h < 10000),按照建筑的排列顺序给出。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。

2023-03-17 20:15:13 57 1

空空如也

空空如也

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

TA关注的人

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