雷火第二题怎么写呀,有木有佬儿给个思路
雷火第二题怎么不超时啊😣
全部评论
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;
}
想了好几个错解,一小时才过,我这方法感觉有点垃圾,但是能过。
相关推荐
04-01 18:11
南京航空航天大学 golang 点赞 评论 收藏
分享
03-11 11:20
青海大学 运维工程师
Kurumis:整个简历看下来就发现你其实对测试理解还很浅,很多地方都是硬凑上去,项目也是学生课设级别,没什么含金量
首先是学习建议:
1.系统性了解一个真实工程的框架,有利于你后续提升项目含金量,理解测试的逻辑
2.真正去学一下自动化测试和性能测试
再就是简历本身包装问题:
1.投测试的话就不要说自己独立开发自己测,专注描述自己怎么做测试的
2.项目经历太像套话,很容易让人怀疑你到底真的做过没有,比如并发是具体做了多少并发?自动化脚本是怎么跑兼容性和性能测试的?测试用例写了多少条?
3.教务管理系统一听就是数据库课设作业,含金量不高,不过你可以在原项目基础上重构扩展,比如添加docker容器部署MySQL和Redis,添加消息队列和锁机制防止系统扛不住高并发访问,让它真的像个实际工程
4.技能里性能专项测试没有把握不要乱写,就写你会什么工具就行了,做专项性能测试的都是行业大佬,你要写的话一定要有对应的专项性能测试项目
5.可以在简历里附上项目链接,压缩简历内容的同时提升简历真实性 点赞 评论 收藏
分享
查看14道真题和解析 点赞 评论 收藏
分享