
程序设计方法与实践2022
文章平均质量分 78
摇摆的小土豆z
BIT在读硕士,AI专业,有灵感了就会分享
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
有一个人前来买瓜 | C++ | 二维背包问题
具体的循环过程是这样的,对每一个瓜,我扫描所有的重量和成熟度的组合,如果dp[ j ][ k ]有价值,我就可以考虑进行转移,转移情况有两种,即买这个瓜和不买这个瓜,因此转移方程为dp[ j+w[i] ] [ k+v[i] ] = max( dp[j][k]+g[i] , dp[ j+w[i] ] [ k+v[i] ])。接下来n行,每行三个整数,第i行的三个整数为wi,vi,gi(1≤wi,vi,gi≤100),分别代表第i个瓜的重量,成熟度和价值。具体过程去课本上或者网络上一搜便是,也不难,不多赘述。原创 2022-09-05 08:48:14 · 1911 阅读 · 0 评论 -
一道简单背包题 | C++ | 背包问题
思路一:对于每一个物品都是取或者不取,把所有的状态计算出来,一一判断能否整除V。原创 2022-09-03 20:33:38 · 1524 阅读 · 0 评论 -
方向标 | c++ | 动态规划
假设从下往上数第k块箭头的情况数为S(k),第(k+1)块箭头的情况数为S(k+1),S(k+1)和S(k)之间是有关系的。题目输入共两行,第一行是木板的数量 n ,第二行的数据量为 n+1 ,其中第二行的第一个数据是最下面箭头的底部,之后的n个数据是第n-1行箭头的顶部。原创 2022-09-03 19:50:22 · 1278 阅读 · 0 评论 -
进圈 | BFS
龙龙只能移动在允许行走的沙地上,同时每一时刻,龙龙只能朝着当前位置周围的上、下、左、右四个方向移动。请输出一个正整数 t,表示龙龙从(x1,y1)到(x2,y2)进圈最少需要的时间(分钟),如果龙龙最终不能进圈,则请输出-1。...原创 2022-09-01 14:39:57 · 658 阅读 · 0 评论 -
成语接龙 | c++ | 建图和BFS
当我上优快云搜索“图的实现”,出来的结果往往是先梳理图的基本知识,然后立刻就毫无征兆地冒出来一堆莫名其妙的代码,不加任何解释,让我看着非常头大。例如这例中,第一层是1,第二层是2和3,第三层是4、5、7,第四层是8、6、A、9。换言之,你想从1访问到A,A在第四层,也就是说最短步数为4,这个最短路径为1->3->7->A。注意,一条分支下面可能还有多个分支,但是不要紧,我们完全是随机选择的,只要能走到底就行了。于是回溯到上一步,为F,F有分支FH,于是顺着这一条路走到底,走到了I,至此,DFS结束。...原创 2022-08-30 17:05:28 · 2926 阅读 · 1 评论 -
查寝 | c++ | 不用双向链表(下篇)
在这个优化版本中,我把next和previous改为link1和link2,它们是artical的两根“链条”,这样我就不需要再考虑artical之间的先后关系,只要它们是“串在一起”的就行了。这个就是思路三的优化版本。......原创 2022-08-28 12:24:14 · 327 阅读 · 0 评论 -
查寝 | c++ | 不用双向链表(上篇)
具体来说,小军有 n 件物品,放在 n 个盒子里,第 i 个盒子有物品 i ,小军会进行 m 次整理,第i次整理,小军会依次在第 x 个盒子顶拿走物品放入第 y 个盒子内,直至第 x 个盒子完全搬空。原创 2022-08-27 16:12:42 · 695 阅读 · 0 评论 -
填坑Ⅱ | C++ | 栈
呃,和填坑Ⅰ大差不差吧,稍作修改就可以了。原创 2022-08-26 14:26:40 · 153 阅读 · 0 评论 -
填坑Ⅰ | C++ | 栈
我可以把北湖划分为若干个列组,每个列组有一个或两个列,并且每个列组都是上述三种最简单的情形之一。是不是就可以解了?原创 2022-08-26 12:02:47 · 256 阅读 · 0 评论 -
打饭队列 | c++ | 队列基础
隔壁队伍每次到达一名同学,他就会记录下这个同学的名字,同时队伍的第一个同学打饭完成后会离开队伍。原创 2022-08-25 19:23:58 · 1335 阅读 · 0 评论 -
看楼房 | C++ | 栈
我们需要让楼高入栈,确保从栈底到栈顶是递减的,栈内每一个元素就是我们在当前位置所能看到的每一栋楼房;在此基础上,统计这些楼房的颜色有几种,就是我们观察到的颜色数量。在从左向右看楼房的时候,左边较矮的楼房会被右边较高的楼房挡住。原创 2022-08-25 16:47:34 · 1172 阅读 · 0 评论 -
北理工的恶龙 | c++ | 贪心算法
懒得写了,以后想起来再写吧。原创 2022-08-24 16:18:38 · 382 阅读 · 0 评论 -
水晶球 | c++ | sort初体验
如果 k = 2,则请输出两个正整数 x , y (1 ≤ x , y ≤ n)(用空格间隔),表示久莲希望亚瑟斯帮她将编号为 x 和 y 的水晶石融合成一块更大的水晶石,并选择用这块水晶石来打磨加工。同时亚瑟斯有一种魔法,如果这两块长方形水晶石在某一个面能够完美的契合在一起(完美的契合是指这两个长方形面全等),那么可以将它们融合成一块完整的大石头,如果真的实现的话,那么久莲就可能打磨出更大的水晶球啦!对于样例,如果久莲选择第六个水晶球,那么她可以打磨成半径为 r = 2.5 的水晶球,这是最优的选择。..原创 2022-08-24 14:59:04 · 360 阅读 · 0 评论 -
括号匹配 | 2022.8.22
括号匹配原创 2022-08-22 20:27:40 · 272 阅读 · 0 评论 -
A + B(Ⅱ)| 2022.8.22
实数的可视化运算原创 2022-08-22 16:00:49 · 1028 阅读 · 0 评论 -
改作文 | 2022.8.21
小张的英语不太好,今天他又要面临英语作文的困扰了。原创 2022-08-21 18:19:32 · 215 阅读 · 0 评论