关注
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
牛客热帖
更多
- 1... 以Mentor视角,更喜欢有这些沟通技巧的实习生2.1W
- 2... 得物暑期实习oc1.2W
- 3... 来算一算你的offer究竟到手工资多少!(详细教程)1.0W
- 4... 悟已往之不谏,知来者之可追9473
- 5... 【26届四段大厂】实习爆炸产出方法论 2.09148
- 6... 双非本秋招字节转正失败春招重新拿下字节和腾讯8987
- 7... 暑期实习后,如何完成学生到职场人的身份转换?6324
- 8... 感觉在字节实习有点幸福了5104
- 9... 💗 521凉面筋真好吃~记录一把本小女孩人生第一面4340
- 10... 上点科普贴——什么是五险一金、六险二金?4033
正在热议
更多
# 毕业季,给职场新人一些建议 #
29289次浏览 492人参与
# 国企vs私企,怎么选? #
20410次浏览 168人参与
# 我的求职总结 #
31256次浏览 513人参与
# 辞职之后最想做的一件事 #
11814次浏览 172人参与
# 我的实习日记 #
2449395次浏览 25484人参与
# 选offer应该考虑哪些因素 #
22009次浏览 313人参与
# 小米硬件提前批进度交流 #
165043次浏览 1516人参与
# 为了秋招你都做了哪些准备? #
11214次浏览 169人参与
# 晒一晒你收到的礼盒 #
62987次浏览 377人参与
# 薪资一样,你会选择去大厂还是小公司 #
16890次浏览 103人参与
# 你想吐槽公司的哪些规定 #
18069次浏览 69人参与
# Offer比较,求稳定还是求发展 #
49766次浏览 241人参与
# 硬件开发岗知多少 #
10335次浏览 111人参与
# 我的工作日记 #
99859次浏览 1280人参与
# 第一份工作应该只看薪资吗 #
139225次浏览 1462人参与
# 你想留在一线还是回老家? #
38698次浏览 453人参与
# 一人推荐一个值得去的通信/硬件公司 #
177040次浏览 1832人参与
# 你见过最离谱的招聘要求是什么? #
188856次浏览 1404人参与
# 工作中的卑微时刻 #
9183次浏览 56人参与
# 字节跳动工作体验 #
393096次浏览 4299人参与