![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
文章平均质量分 59
scutcxp
预备前端,现在大三~
展开
-
Easy Program from Rujia Liu?
一道map+vector的题。 第一次知道map里面可以使vector数组——map >a; map的清空就一句——a.clear(); a.count(j)——统计j数组中元素的个数 if(!a.count(j)) a[j]=vector();——创建数组 a[j].push_back(i)——增加元素 if(!a.count(原创 2014-03-18 09:07:19 · 400 阅读 · 0 评论 -
Goldbach's Conjecture
首先是预处理,把所有的质数保存在数组里。可以在主函数里输出top来决定数组的大小。这个是打表的做法,素数判断,基础知识,比较简单粗暴,但只用了125ms,也不算太慢。显然已知第一和第二个素数是2和3,当然,也可以直接背出自己记得的素数表,但没必要。因为2,3比较特殊,所以从5开始进行打表,2,3预先写进数组。因为多组测试数据都是用同一个素数表,所以没有必要每一个输入对应一次打表,预处理一次原创 2014-03-20 19:38:01 · 444 阅读 · 0 评论 -
青蛙的约会
用拓展欧几里得来做。x+km=y+kn(mod l)化简成为 (m-n)k=y-x(mod l) 参照方程ax+by=c然后就是求最大公约数和方程组求解了。连着4次编译错误——错误时——b=long long(abs(b))—— error: expected primary-expression before 'long'后来改成b=(long long)abs(doub原创 2014-03-23 12:26:26 · 699 阅读 · 0 评论 -
The Triangle
最基础的DP了。用二维数组把数据储存起来,dp[110][110]。从下往上走,每一步都选最优,则每个节点都是往下走的最优解,因此,走到最后,dpdp[1][1]就是最优的了。关键在于——在最底层,每一个节点都是最优解。要注意题目中给出的数字三角形与INPUT中给出的数字三角形的不一致。状态转移方程为dp[i][j]=max(dp[i+1][j],dp[i+1][j+1]).代原创 2014-03-24 22:38:28 · 299 阅读 · 0 评论