P1929阶梯之谜
2024年3月29日
code
#include<iostream>
#include<string.h>
using namespace std;
#define ll long long
const int MAXN=205;
int a[MAXN],f[MAXN],n;
ll fastpow(ll a,ll b){
ll res=1;
while(b>0){
if(b%2==1){
res*=a;
}
a*=a;
b/=2;
}
return res;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    memset(f,0x3f3f3f3f,sizeof(f));
    f[1]=0;
    for(int i=2;i<=n;i++){
        if(a[i]==a[i-1]+1)f[i]=f[i-1]+1;
        for(int j=i-1;j>0;j--){
         for(int k=j-1;k>0;k--){
         if((fastpow(2,(j-k))+a[k]>=a[i]))f[i]=min(f[i],f[j]+(j-k)+1);
}
}
    }
    if(f[n]>=0x3f3f3f3f)cout<<-1<<"\n";
    else cout<<f[n]<<"\n";
}

继续阅读
所有文章
2024年3月29日

P4170 [CQOI2007] 涂色

©Mooncyan 2024