P1719 Let's play a game!

337 阅读1分钟

image.png

image.png

image.png

image.png

RNOM~}}5YZ48M1AG(93L9.png

(这里倒数第二行写反了,应为()-T)

index是关键词,编译会报错

一开始我找的是所有点中的距离左边可去除点的最大值,然后就直接max+index1。

维护的是这个点左边的点去除掉需要的最小步数。

关键代码

ans[0]=0;
    ans[1]=dis[1]+1;
    for(int i=2;i<=index1;i++){
        int T=ans[i-1];
        if(T>=dis[i]){
            ans[i]=T+1;
        }
        else{
            ans[i]=T+(dis[i]-T)+1;
        }
    }
    cout<<ans[index1]<<endl;