关注
100%代码:
#include<bits/stdc++.h>
using namespace std;
const int N=16384;
unordered_map<int,int> dp[N];
int mi[N];
void solve(){
memset(mi,0x3f,sizeof mi);
dp[1][1]=2;
mi[1]=1;
for(int i=2;i<N;i++){
int minx=1e9;
for(int j=1;j<=i/j;j++){
if(i%j) continue;
int a=j;
dp[i][a]=mi[a]+i/a;
minx=min(minx,dp[i][a]);
a=i/j;
dp[i][a]=mi[a]+i/a;
minx=min(minx,dp[i][a]);
}
dp[i][i]=minx+2;
dp[i][1]=min(dp[i][1],minx+2);
for(auto [a,b]:dp[i]){
mi[a]=min(mi[a],b-i/a);
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
solve();
int t=1;
cin>>t;
while(t--){
int num;
cin>>num;
int res=1e9;
for(auto [a,b]:dp[num]){
//cout<<num<<" "<<a<<" "<<b<<endl;
res=min(res,b);
}
cout<<res<<endl;
}
return 0;
}
想了好几个错解,一小时才过,我这方法感觉有点垃圾,但是能过。
查看原帖
2 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
9020次浏览 220人参与
# 实习简历求拷打 #
14952次浏览 178人参与
# 被上班搭子“传染”了哪些习惯 #
5988次浏览 100人参与
# 秋招被挂春招仍然能投的公司 #
7319次浏览 103人参与
# 工作后,你落下了哪些病根 #
14216次浏览 193人参与
# 作业帮求职进展汇总 #
83681次浏览 549人参与
# 外包能不能当跳板? #
54219次浏览 256人参与
# mt对你说过最有启发的一句话 #
37999次浏览 452人参与
# 一起聊美团 #
307445次浏览 1764人参与
# 摸鱼被leader发现了怎么办 #
102910次浏览 654人参与
# 京东开奖 #
631857次浏览 3180人参与
# 投格力的你,拿到offer了吗? #
153188次浏览 819人参与
# 秋招特别不鸣谢 #
16247次浏览 184人参与
# 考研失败就一定是坏事吗? #
201953次浏览 1382人参与
# 选实习,你更看重哪方面? #
14774次浏览 223人参与
# 安克创新求职进展汇总 #
62442次浏览 541人参与
# 京东美团大战,你怎么看? #
158268次浏览 861人参与
# 第一次面试 #
1036733次浏览 13683人参与
# 担心入职之后被发现很菜怎么办 #
266582次浏览 1134人参与
# 你今年的保底offer是哪家 #
155356次浏览 677人参与
阿里云工作强度 727人发布