- 博客(5)
- 收藏
- 关注
原创 最大组合数问题
此时再看21和2,按照新的补齐方式,就应该补为22,21,排序输出后就是221,输出正确。我们想到,对多个具有相同位数的数,其值最大的数也就是数字最大的数,那么以此为基础,我们可以将给出的几个数全部变为位数相同的数,然后进行排序,就可以得到最后的组合方法。最开始进行补齐的时候,想的比较简单,直接进行的是补0操作,比如对8和28就直接进行8*10补0,但是后面发现结果不对,考虑之后发现下面的情况:21和2,如果直接补0后排序得到21和20,那么排序组合后就是212,但是实际应该是221。
2022-09-29 15:24:44
1040
原创 机器人攀登问题
根据贪心法原则,将整个攀登视为m次1m的攀登,那么每次选择一个机器人去攀登时,就应该在所有机器人中选择当前其攀登1m用时最少的机器人。根据题意得到机器人攀登越长速度越低,而其速度就反映在每爬1m需要的时间,而原输入的时间是机器人连续攀登所消耗的总时间,所以第一步我们就需要将机器人连续攀登每1秒所用的时间算出来,进而进行直观的比较。其中ans数组记录第一步处理后的攀登时间,selc数组记录k个机器人当前再攀爬1m各自所需的时间并保持更新,gone数组记录k个机器人当前已连续攀登的距离。
2022-09-29 15:17:55
328
原创 有重复元素的排列问题
根据题例可以看出,对元素进行全排列,其步骤就是分别取每个元素作为第一个元素,剩下n-1个元素进行不同排列,而对于这剩下的n-1个元素,其实也是重复这一过程,选出n-1个元素中的每个元素再来做开头,然后对n-2进行排序。重复此过程,直到只剩最后元素,那么此时之前每一次的选定元素做开头的操作已经对元素排好序了,直接输出此时的元素排序就是一种序列。同时,题目中指出元素可能会不同,那么在每一次选择元素作为排头的,就应该在其之前的元素中遍历一次,查找是否有相同元素,如果有,则跳过此次置换。有重复元素的排列问题。
2022-09-21 20:40:15
3364
1
原创 最大K乘积问题
分析该问题,首先其具有最优子结构,对于一个n位整数,划分k次,那么其乘积最大的划分情况一定是在划分k-1次时,再在第k次寻找一个使其乘积最大的划分。而对于划分结果输出,选择另设一个数组solve[i][k],记录在求得dp[i][k]的最优值时,其x的值,也就是此时的断点。根据该断点层层倒退,下一次个断点就应该位于求得dp[solve[i][k]][k-1]时的断点,以此类推得到所有断点,即可完成划分结果输出。根据分析的问题特点,设数组dp[i][k]代表对前i位数进行k次划分得到的最大乘积的值。
2022-09-21 20:20:31
1794
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人