摘要: 贪心算法 动态规划思想 DP的状态和状态转移: dp[i][j]表示第j个五分钟时John位于池塘 i 的情况最多可以钓到多少鱼。 dp[i][j] = max(dp[i][j], dp[i - 1][j - t[i] - k]); 实际处理时,对于所有可行的k: dp[i + 1][j + k + 阅读全文
posted @ 2020-11-07 16:23 Quella' 阅读(101) 评论(0) 推荐(0)
摘要: 题目大意: 约翰要去钓鱼。他有h小时可用(1 <= h <= 16),该区域有n个湖泊(2 <= n <= 25),可沿着一条单行道到达。约翰从1号湖出发,但他可以在任何他想 要的湖结束。他只能从一个湖到另一个湖,但他不需要在任何一个湖停下来,除非他愿意。对于每个i = 1,…n - 1,从i湖到湖 阅读全文
posted @ 2020-11-07 16:20 Quella' 阅读(375) 评论(0) 推荐(0)
摘要: 解题思路 dp[i][j]:代表从坐标(i,j)出发的最大长度 则: dp[i,j]=1+max{ dp[i-1,j], dp[i+1,j], dp[i,j-1], dp[i,j+1]} 即搜素(i,j)的上下左右四个方向,找出最长。 注意情况: 我们应该关注计算的顺序。如果,按照一行一行的来,会发 阅读全文
posted @ 2020-11-07 15:32 Quella' 阅读(64) 评论(0) 推荐(0)
摘要: 链接 思想: 给你你一行数量为n的数组row[n],如何从中找出和最大的一段子数组? 我们可以这样考虑: 用一个大小同样为n的数组maxrow存储以每个以row[i]结尾的最大子序列的和。 举个例子: 如果: row[5]={1,2,3,-7,5} 那么: maxrow[0]=1 maxrow[1] 阅读全文
posted @ 2020-11-07 12:08 Quella' 阅读(12) 评论(0) 推荐(0)
摘要: 详解 此处仅提供代码: //问题:题目大意:已知一个 n*n 的矩阵 A,计算 //S =A +A 2 +A 3 + … +A k , S 的值对 m 取模 #include<stdio.h> #include<string.h> struct node { int p[65][65]; }; in 阅读全文
posted @ 2020-11-07 10:41 Quella' 阅读(65) 评论(0) 推荐(0)
摘要: 问题:求m*m矩阵的等比前n项和,即A+A2+A3+...+A^n struct node { int mat[15][15];//定义矩阵 }x,y; 分析:矩阵乘法中关于等比矩阵的求法: | A E| | 0 E| E为单位矩阵。 由等比矩阵的性质: * n | A , E| |A^n , 1+ 阅读全文
posted @ 2020-11-07 09:57 Quella' 阅读(97) 评论(0) 推荐(0)
Live2D