![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯_算法训练
文章平均质量分 68
莫忻
这个作者很懒,什么都没留下…
展开
-
算法训练 拿金币(动态规划,java实现)
有一个N x N的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。如果是这样的矩阵,那么 用这个代码就会出错(按照刚刚的代码计算结果为,13(路径为紫色),正确答案应该为23(路径为蓝色))应该采用动态规划解决问题:我们可以把走到每个格子能获取到的最多金币数都列出来。我这里的处理方法是先将边界值计算出来,再计算其他的格子的值。以下n行描述该方格。金币数保证是不超过1000的正整数。原创 2024-02-28 22:23:59 · 439 阅读 · 0 评论 -
算法训练 印章(动态规划,java实现)
首先,题目说买m个印章,凑齐n种不同的印章。有2个变量,自然的想到使用二维数组(一般的题目都是用二维数组),而题目是求买m个印章,集齐n种印章的概率。其中前2步尤为关键。除此之外,对于同一个问题使用用动态规划算法,可以设计出不同的状态和对应的状态转移方程(即dp数组所代表的含义和递推公式不唯一)因为需要用到i-1并且for循环从q开始的,然后在设置概率数组的时候就+1,即new double[m+1][n+1]共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。原创 2024-02-28 20:34:36 · 437 阅读 · 0 评论