楼主: 
sixB (6B)   
2025-04-01 23:05:152140.
有点像抢房子
不过每间有规定抢了之后要跳过几格
一开始只开3格dp
后来发现没办法
他不是固定跳过一个
我就想ㄚ
这间抢了 那这个值要跳到哪边才能再取
直接把他摆到后面去 能用的时候再管他
##
dp[i] 不是第i格最大
是我现在还没取i 并且可以取iㄉ最大
所以第i格最大是dp[i] + point[i]
##
using ll = long long;
class Solution {
public:
    long long mostPoints(vector<vector<int>>& q) {
        // rob house
        int n = q.size();
        vector<ll> dp(n, 0);
        ll cur_mx = 0, mx = 0;
        for(int i = 0; i < n; i++){
            cur_mx = max(cur_mx, dp[i]);
            dp[i] = cur_mx;
            ll p = q[i][0] + dp[i], offset = q[i][1] + 1;
            mx = max(mx, p);
            if(i + offset < n){
                dp[i + offset] = max(p, dp[i + offset]);
            }
        }
        return mx;
    }
};
一遍过ㄟ连分号都没有忘记直接ac
我真的好厉害><
solution每个都倒著做好怪
感觉都gpt
爱了
想叫gpt帮我把扣转成吉卜力风格