3.31恒生电子笔试
/*
1.sql
利用where,orderby好像就足够ac了
---------
2.N-水仙花数
模拟过程就行
-----------
3.股票最大收益
设dp[i][k]表示前i个股票交易k次的最大值
dp[i][k]=max({dp[i][k],dp[j][k],dp[j][k-1]/history_[j]*history_[i]});//其中j
res=max(res,dp[i][k]);
枚举i,j,k即可
*/
#include
using namespace std;
int main(){
double M;
int N,K;
cin>>M>>N>>K;
vector history_;
for(int i=1;i<=N;++i){
double x;
cin>>x;
history_.push_back(x);
}
vector dp[N];
double res=M;
for(int i=0;i for(int k=0;k<=K;++k){
if(k==0){
dp[i].push_back(M);
continue;
}else{
dp[i].push_back(0);
}
for(int j=0;jdp[i][k]=max({dp[i][k],dp[j][k],dp[j][k-1]/history_[j]*history_[i]});
}
res=max(res,dp[i][k]);
}
}
cout< return 0;
}
/*
10000.0 4 2
1.0 2.0 1.0 3.0
1000.0 1 2
1.0
1000.0 2 2
1.0 2.0
*/
1.sql
利用where,orderby好像就足够ac了
---------
2.N-水仙花数
模拟过程就行
-----------
3.股票最大收益
设dp[i][k]表示前i个股票交易k次的最大值
dp[i][k]=max({dp[i][k],dp[j][k],dp[j][k-1]/history_[j]*history_[i]});//其中j
res=max(res,dp[i][k]);
枚举i,j,k即可
*/
#include
using namespace std;
int main(){
double M;
int N,K;
cin>>M>>N>>K;
vector
for(int i=1;i<=N;++i){
double x;
cin>>x;
history_.push_back(x);
}
vector
double res=M;
for(int i=0;i
if(k==0){
dp[i].push_back(M);
continue;
}else{
dp[i].push_back(0);
}
for(int j=0;jdp[i][k]=max({dp[i][k],dp[j][k],dp[j][k-1]/history_[j]*history_[i]});
}
res=max(res,dp[i][k]);
}
}
cout<
}
/*
10000.0 4 2
1.0 2.0 1.0 3.0
1000.0 1 2
1.0
1000.0 2 2
1.0 2.0
*/
全部评论
sql 没有运行环境 算法题没有例子.. 甚至题目说可以写伪代码和写思路...
不是很懂代码块怎么贴😂
大佬
欢迎补充
请问,编程题可以到本地编辑器做完之后再贴过去吗?三类题型可以同时做吗,还是只能做完一部分提交之后再做其他的?
相关推荐
昨天 18:05
北京化工大学 生物制药岗 点赞 评论 收藏
分享