品牌策划网站建设,广西建设网站在线服务,青海省城乡建设信息官官方网站,国内做网站的龙头企业第二次参加 总分77.5#xff0c;主要是在最后一题数据有误#xff0c;花费了巨量时间… 参加的另一次比赛最后一道题目也出现了一点问题#xff0c;有点遗憾。 题解
T1#xff1a;最优利润值
你在读的经营课程上#xff0c;老师布置了一道作业。在一家公司的日常运营中主要是在最后一题数据有误花费了巨量时间… 参加的另一次比赛最后一道题目也出现了一点问题有点遗憾。 题解
T1最优利润值
你在读的经营课程上老师布置了一道作业。在一家公司的日常运营中是会对一些商品的价格走势根据一些经验和数据进行预估并据此进行决策。例如假设某商品每天的价格都有可能变动我们要做的就是低买高卖获得最高利润。比如假设我们预估该商品接下来七天内的价格走势如下 4 1 2 3 6 4 8 那我们采取的最佳策略是在价格1块钱的时候买入在价格8块钱的时候卖出。为了简化整个过程我们限定在此周期内只能有一次买入一次卖出且商品在没有购入前是无法卖出的即该商品不是期货而是现货。 现要求你用程序来实现自动决策。输入一定天数的商品预估价格自动计算出最优利润值。例如上面的例子中最优利润值为8-17。简单起见只考虑0-100000之间的整数价格
最大值 - 最小值即可注意卖出时间比进货时间晚。
Code(时间复杂度小)
#includebits/stdc.h
using namespace std;
int a[8],ans,mn1e9;
int main(){for(int i1;i7;i){scanf(%d,ai);mnmin(mn,a[i]);ansmax(ans,a[i]-mn);}printf(%d,ans);return 0;
}T2开学趣闻之美食诱惑
小艺酱又开学了可是在上学的路上总会又各种意想不到的美食诱惑让小艺酱迟到。 假设小艺酱家到学校是一个n*n的矩阵。 每个格子包含一个诱惑值p诱惑着小艺让她迟到。 小艺位于矩阵的左上角学校在矩阵的右下角落。 小艺想知道自己到达学校所要经历的最小诱惑值是
数字三角形 dp 板题。
Code
#includebits/stdc.h
using namespace std;
int n,a[5005][5005],f[5005][5005];
int main(){scanf(%d,n);for(int i1;in;i) for(int j1;jn;j) scanf(%d,a[i][j]);f[1][1]a[1][1];for(int i1;in;i) f[i][0]f[0][i]1e9;for(int i1;in;i){for(int j1;jn;j){if(iji1) continue;f[i][j]min(f[i-1][j]a[i][j],f[i][j-1]a[i][j]);}}printf(%d,f[n][n]);return 0;
}T3小艺照镜子
回文串是一个正读和反读都一样的字符串已知字符串str。 输出字符串str中最长回文串的长度 CSDN竞赛题目短的题能难吗 和前两题比起来能。 Manacher板题。
Code
#includebits/stdc.h
using namespace std;
const int N110005;
int cnt,len,ans,p[N1];
char s[N1],S[N],ch;
inline void Rd(){ans0;s[0]~;s[1]|;lenstrlen(S);for(int i0;ilen;i) s[i*22]S[i],s[i*23]|;cntstrlen(s);return ;
}
int main(){while (~scanf(%s,S)){Rd();for(int t1,r0,mid0;tcnt;t){if(tr) p[t]min(p[(mid1)-t],r-t1);while (s[tp[t]]s[t-p[t]]) p[t];if(tp[t]r) rtp[t]-1,midt;if(p[t]ans) ansp[t];}printf(%d\n,ans-1);}return 0;
}T4爱吃鬼 小艺酱每天都在吃和睡中浑浑噩噩的度过。 可是小肚子是有空间上限v的。 小艺酱有n包零食每包零食占据小肚子空间##a_i##并会给小艺酱一个甜蜜值##b_i##。 小艺酱想知道自己在小肚子空间上限允许范围内最大能获得的甜蜜值是多少? 题目描述是01背包 而看数据应该是完全背包 而交上去评测是 别问我我也不知道错哪儿了额。
#includebits/stdc.h
using namespace std;
typedef long long LL;
LL v,n,a[10005],b[10005],f[10000005];
int main(){scanf(%lld%lld,v,n);for(int i1;in;i) scanf(%lld%lld,ai,bi);for(int i1;in;i) for(int ja[i];jv;j) f[j]max(f[j],f[j-a[i]]b[i]);printf(%lld,f[v]);return 0;
}找了一遍最后一题的题解还是没有啊 CSDN