- 博客(5)
- 收藏
- 关注
原创 滑雪动态规划解法
然后,我们可以从每个区域出发,计算以该区域为起点的最长滑雪路径长度。对于每个区域,我们可以向上下左右四个方向滑行,但前提是目标区域的高度低于当前区域的高度。dp[i][j] = max(dp[i][j], dp[nx][ny] + 1),其中 (nx, ny) 是当前区域的上下左右四个邻接区域。首先,我们可以定义一个二维数组 dp,其中 dp[i][j] 表示以第 i 行第 j 列区域为起点的最长滑雪路径长度。最后,我们遍历整个矩阵,找到 dp 数组中的最大值,即为可完成的最长滑雪路径长度。
2024-03-30 18:03:05
232
转载 [NOI1995] 石子合并
在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出一个算法,计算出将N堆石子合并成1堆的最小得分和最大得分。
2023-01-15 13:57:11
207
1
转载 李白打酒加强版
状态设计:dp[i][j][k]的值表示遇到i家店,j朵花,酒壶中还剩k斗酒的可能情况数; 他一共遇到店 N 次,遇到花 M 次。 最后一次肯定遇到的是花,那么最后的结果便是dp[N][M-1][1];va 初始值为 2,要求经过 n+m次操作后 va=0的方案数取模。 边界设计:除了dp[0][0][2]=1,其他元素全为0;请你计算李白这一路遇到店和花的顺序,有多少种不同的可能?已知最后一次遇到的是花,他正好把酒喝光了。一天,他提着酒显,从家里出来,酒显中有酒。
2023-01-15 13:55:20
704
原创 抽签——X星球要派出一个5人组成的观察团前往W星。
之后填空,此时我们赋值完之后,我们来到了最外层循环,这个时候再去看if语句,有一个k的判断,然后m会等于0就输出。我们看向函数,它有四个参数,一个是最大名额的数组a[],然后是两个整数k,m,M=5最后是一个字符数组b。这里就有一个if语句和两层的for循环,那么我们最好的办法就是带入值跟着函数走一遍。所以我们可以知道下一个应该是递归,m和k的数值都要变化才符合。,数组a,b,很好理解不需要变,k+1代表下一个国家,外层循环是每个国家的最大名额数,内层循环数是i的值。A国最多可以派出4人。
2023-01-15 13:52:08
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人