大佬们帮我压空间!!!
查看原帖
大佬们帮我压空间!!!
1144339
forever_Neuer楼主2024/9/3 20:54

我用了个记忆化搜索 MLEMLE !!!

大佬们帮我压空间!!!

#include "bits/stdc++.h"
using namespace std;
#define int long long
unordered_map<int,int> s;//加空间
int n;
int dg(int x){
	if(s[x]) return s[x];
	else{
		if(x%2==0) return s[x]=dg(x>>1),s[x];
		else return s[x]=min(dg((x+1)>>1),dg((x-1)>>1))+1,s[x];
	}//>>1相当于/2
}
int main(void){
	int T;
	s[1]=s[2]=1;//初始化
	scanf("%lld",&T);
	while(T--){
		scanf("%lld",&n);
		s[n]=dg(n);
		printf("%lld\n",s[n]);
	}
}
2024/9/3 20:54
加载中...