- 博客(7)
- 收藏
- 关注
原创 【动态规划】
证明作为构成原问题最优解的组成部分,每个子问题的解就是它本身的最优解。方法是反证法,考虑加入某个子问题的解不是其自身的最优解,那么就可以从原问题的解中用该子问题的最优解替换掉当前的非最优解,从而得到原问题的一个更优的解,从而与原问题最优解的假设矛盾。设 f(i,j) 表示只考虑 A 的前 i 个元素,B 的前 j 个元素时的最长公共子序列的长度,求这时的最长公共子序列的长度就是 子问题。如果有大量的重叠子问题,我们可以用空间将这些子问题的解存储下来,避免重复求解相同的子问题,从而提升效率。
2023-08-22 15:24:07
119
1
原创 【深度优先算法】
侠盗 Hank 经过千难万险终于来到了恶人岛,为了拿到恶人岛的宝座去帮助穷人,Hank 先对恶人岛进行了侦查,发现恶人岛有一个迷阵,宝藏摆在了迷阵的深处。迷阵由 M×N 个方 格组成,有的方格内有可以发现 Hank 的守卫,而有的方格内则是安全。沿着某条路径遍历,直到末端,然后回溯,再遍历另一条路径(走没有走过的岔路口)做同样的遍历,直到所有的节点都被访问,即回溯到源节点并且源节点已无未被访问的子节点。<‘y’<‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。”号围成的下列图形的面积。
2023-08-20 09:55:43
225
1
原创 【深度优先算法】
有 1 个 n×n 的迷宫方格,在方格内,“0”表示可以走,“1”表示是障碍物,不能行走,有个人在放个左上角起点( 1 , 1 )的位置,他在迷宫内可以向当前位置的上、下、左、右四个方向行走,问能不能在迷宫里走到终点右下角( n,n ),保证起点和终点均为“0”,走的时候不能走出迷宫的四周。有一个m*n格的迷宫(表示m行、n列),用0表示可以走,1表示不可以走,从迷宫的(1,1)位置开始出发,到指定的位置停止(两个数据描述,分别表示行和列)。棋盘那么大,程程很迷茫,希望会编程的你,能用计算机帮助他。
2023-08-19 20:29:44
1394
原创 【贪心问题】---童童的纸牌问题
从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放到①(10 10 10 10)。在编号为 n 的堆上取的纸牌,只能移到编号为 n-1 的堆上;移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;就把它分成 n 堆纸牌,纸牌编号分别为 1,2,…an ( n 堆纸牌,每堆纸牌初始数,l≤ai≤10000)寒假到了,n 个小朋友,童童、程程、美美…第一行一个整数 n,表示有 n 堆纸牌(1≤N≤100)
2023-08-19 10:59:36
168
原创 【贪心问题】--兔子拿胡萝卜
4堆胡萝卜,共4行:每行第一个正整数n,是一堆胡萝卜的数量(≤1000)。后面n个正整数,是每堆胡萝卜中每个胡萝卜的重量(1<=单个胡萝卜重<=100)。小童的目标是拿走总重量最重的 4 根胡萝卜。假如我们知道每根胡萝卜的重量,爱学编程的你来帮帮小童吧。兔子采集队工作回来,把采集回来的胡萝卜分成 4 堆,小童只能从每堆里拿走 1 根胡萝卜。请问拿走的4根胡萝卜总重量最大是多少?
2023-08-19 10:57:57
375
原创 【贪心问题】---糖果问题
小 A 每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有 x 颗或以下的糖果,至少得吃掉几颗糖。小 A 有 N 个糖果盒,第 i 个盒中有 a_i颗糖果。第二行 N 个整数,为 ai,0<ai <= 100。第一行输入 N 和 x,其中 0<N,x<=100。至少要吃掉的糖果数量。
2023-08-19 10:55:53
170
原创 【广度优先搜索】---奇怪的电梯
当然,如果不能满足要求,相应的按钮就会失灵。例如:3 3 1 2 5 代表了 Ki(K1=3,K2=3,...),从一楼开始。在一楼,按“上”可以到 4 楼,按“下”是不起作用的,因为没有-2楼。大楼的每一层楼都可以停电梯,而且第 i 层楼 (1≤i≤N)上有一个数字 Ki(0≤Ki≤N)。第一行为三个用空格隔开的正整数,表示 N,A,B (1≤N≤200,1≤A,B≤N)。输出仅一行,即最少按键次数,若无法到达,则输出 -1。第二行为 N 个用空格隔开的正整数,表示 Ki。
2023-08-19 10:38:14
107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人