#3884. 点数大赚
点数大赚
🐰😺🔫 兔猫信奥学院·加菲老师的“点数大赚”挑战 🔫😺🐰
夜幕降临,信奥学院街道外的房屋灯火通明,加菲老师对小兔和小猫说:“在这一排房屋中,每间房里都藏有若干点数。每次你可以选择任意一间房 x
,获得其点数 x
,但随之所有等于 x-1
和 x+1
的房屋也会被销毁。开始时你点数为 0,问在不触发防御的前提下,一夜之间最多能获得多少点数?”
输入格式
第一行包含一个整数 m,表示房屋数量。
第二行包含 m 个整数 nums[0], nums[1], …, nums[m-1],用空格分隔,
其中 nums[i] 表示第 i 间房屋的点数。
输出格式
输出一个整数,表示能获取的最高点数。
样例 1
3
3 4 2
6
- 解释:
- 选择房屋点数为 4,获得 4 点,同时销毁所有点数为 3 和 5 的房屋(即销毁 3)。
- 剩余可选房屋点数为 [2],再选择 2,获得 2 点。
- 总点数 = 。
样例 2
6
2 2 3 3 3 4
9
- 解释:
- 点数统计:2→2 次共得 4 点;3→3 次共得 9 点;4→1 次共得 4 点。
- 视作“房屋”序列 的点数分别为 。
- 最优取法:选 3(得 9 点),销毁 2 和 4。
- 总点数 = 。
🎓 加菲老师寄语:
本题是“打家劫舍”与“价值聚合”的结合,先汇总同值点数再做动态规划。掌握此技巧,面对种类聚合型最优决策问题将游刃有余。期待你们迎接更多挑战!