04 2020 档案

摘要:1. 问题 给出n个节目,给出每个节目开始时间和结束时间,同一时间段只能播放一个节目,问最多可以播放多少节目 2. 解析 贪心策略是按结束时间从小到大排序,贪心选择和最后一个节目相容的节目,最后得到就是的答案 3. 设计 排序方式 1 struct node { 2 int l,r; 3 bool 阅读全文
posted @ 2020-04-28 23:36 Tinker1998 阅读(108) 评论(0) 推荐(0)
摘要:1. 问题 求两个字符串的最大公共子序列 2. 解析 我们思考一下其实,是个很简单的问题,dp[i][j]//i表示a串到下标i,j表示b串到下标j,dp[i][j]表示当前最大公共子序列 则当a[i]=b[j]时 dp[i][j]=dp[i-1][j-1]+1; 否则dp[i][j]=max(dp 阅读全文
posted @ 2020-04-28 23:09 Tinker1998 阅读(70) 评论(0) 推荐(0)
摘要:1. 问题 给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2 ,…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。 2. 解析 这其实是个很简单的问题,区间dp模板题,dp[i][j],表示区间i到j合并的最小值,枚举k表示分割点 阅读全文
posted @ 2020-04-21 15:36 Tinker1998 阅读(82) 评论(0) 推荐(0)
摘要:1. 问题 有n个项目,m元钱,dp[x,y]表示第x个项目投资y元钱的效益,问如何投资使效益最大。 2. 解析 这其实是个很简单的问题,第x个项目投资y元,若当前投资额为m元,则他是从第x-1个项目投资额为m-y元转移过来 则dp[x][y]//x表示第x个项目,y表示当前投资额 Dp方程:dp[ 阅读全文
posted @ 2020-04-21 15:25 Tinker1998 阅读(107) 评论(0) 推荐(0)
摘要:1. 问题 给你一个序列让你找出第k大 2. 解析 写出一个快排,选定key,当左区间比他小的数大于k则递归左区间,小于k,则当前k减去小于的值,递归右区间,等于k则这个数就是我们要找的数 3. 设计 int FindKthMax(int*list, int left, int right, int 阅读全文
posted @ 2020-04-21 15:09 Tinker1998 阅读(110) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示