- 博客(3)
- 收藏
- 关注
原创 算法分析打卡--DP约瑟夫环
m+1变成第一个元素,差了m,这是[n,m]问题推到–>[n-1,m]问题时,减了m,反推的话就是+m,这样得到的数字序号就可以用最开始的[n,m]序列表示。第一轮循环删除第m个节点,剩余n-1个元素,删除掉的是第(m-1)%n个,m可以大于n,剩余问题变成[n-1,m],删除(m-1)%(n-1),直到剩余一个节点就是输出,f(n,m)设为[n,m]问题的解,那么f(n,m)=(f(n-1,m)+m)%n。3.给出一种情况下的解,比如此题如果i=1,问题的解dp[1]=0,恒为0。
2023-04-06 15:35:24
271
1
原创 算法分析-贪心打卡1
农场里有n头牛,每头牛会有一个特定的时间区间[a,b]在蓄栏利挤牛奶,并且一个栏内任何时刻只能有一头牛挤奶,求最少蓄栏能够满足上述要求,并给出安排方案。解:设牛的编号1-n,活动的时间是闭区间,不能重复,所以将所有活动排序:结束时间相同按开始时间递增排序,否则按时间结束时间递减排序。适合最优子结构,即大问题的最优解包含子问题的最优解。这是一个最大兼容活动子集,同样2、7是一个子集,5又是一个自己,最大兼容活动子集个数为3。找出一个最大兼容活动子集,个数就是最少蓄栏的个数。
2023-04-04 13:35:56
318
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人