- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
一、编程题
1、1.吃奶酪
Jerry准备偷吃Tom的奶酪。所有的奶酪排成了一条直线,每块奶酪都有不同的美味
程度。然而,如果有相邻两块奶酪都被Jerry偷吃,Tom就会发现这一点并迅速抓住
Jerry。Jerry当然希望在不被Tom发现的条件下吃到的奶酪美味度总和最大。当然,
他也可以选择一块奶酪都不吃。请你帮助他规划一下偷吃的方案,告诉他最多能偷
吃到多少的美味度吧。
时间限制:1000
内存限制:65536
输入
第一行一个整数T(T=100),表示测试数据组数。
接下来,每组测试数据包含两行。其中,第一行一个整数n(1=n=100,000)
,表示奶酪的数量;第二行n个整数,表示这一排直线上奶酪的美味程度,请注意
,美味度保证能够被int类型存储,且可能是负数。
输出
对于每组测试数据,输出一个整数,表示Jerry可以吃到的最大美味度总和。请注意
,美味度总和可能超过int存储范围
样例输入
2
4
1231
5
27931
样例输出
4
12
参考答案:
略
解析:【喵呜刷题小喵解析】:这个问题可以使用动态规划来解决。我们定义dp数
组,其中dp[i]表示在偷吃奶酪到第i块时,能够获得的最大美味度总和。我们使用
动态规划的思想,通过遍历每一块奶酪,根据当前奶酪的美味度和前两块奶酪的美
味度总和,计算出偷吃奶酪到第i块时能够获得的最大美味度总和。最终,dp[n]就
是所求的最大美味度总和。在遍历每一块奶酪时,我们有两种选择:偷吃或者不吃
。如果我们选择偷吃第i块奶酪,那么dp[i]的值就是dp[i-2]+
cheese[i];如果我们选择不吃第i块奶酪,那么dp[i]的值就是dp[i-
1]。我们比较这两种选择的美味度总和,取较大的值作为dp[i]的值。这样,我们就
可以通过动态规划的思想,计算出偷吃奶酪能够获得的最大美味度总和。
2、2.奶牛散步
参考答案:
略
解析:【喵呜刷题小喵解析】:由于题目中并未给出具体的编程要求,因此无法直
接给出编程答案。需要根据题目中奶牛散步的图片,结合具体的应用场景,才能确
定需要实现的功能和算法。如果这是一道图像处理或计算机视觉的题目,可能需要
识别图片中的奶牛,跟踪其运动轨迹,或者分析其行为模式等。如果这是一道游戏
开发或动画制作的题目,可能需要模拟奶牛散步的动作,或者制作一个奶牛散步的
动画等。因此,在给出具体的编程答案之前,需要更详细的了解题目的背景和要求
,才能确定需要实现的功能和算法。同时,也需要根据具体的编程语言和环境,选
择合适的算法和数据结构来实现所需的功能。
3、3.数字构造
火山宝打算造一个n位的十进制数字出来。
对于1到n中的每一个i,火山宝可以从xi,1,...,xi,ki这ki个0-9
的数字中选择一个作为ai。
在选择结束后,a1a2...an形成了一个n位的十进制数——
这就是火山宝造出来的数。
你需要帮火山宝计算他能造出的数中,有多少个是3的倍数。
时间限制:1000
内存限制:65536
输入
第一行输入一个整数n(1≤n≤18),表示数字的位数。接下来n
行,每行第一个整数ki(1≤ki≤10),表示第i中候选的数字数量。接着是ki
个两两不同的0-9范围内的数字xi,1,...,xi,ki。输入保证0不是第一位的可选项。
输出
你需要输出一行一个整数,表示火山宝能造出的数字中,3的倍数的数量。
样例输入
样例输入1:
2
556789
501234
样例输入2:
5
9123456789
100123456789
100123456789
100123456789
100123456789
样例输出
样例输出1:
9
样例输出2:
30000
提示
样例1能造出来的3的倍数有51,54,60,63,72,81,84,90,93。
参考答案:
略
解析:【喵呜刷题小喵解析】:本题是一道动态规划问题,可以使用动态规划来解
决。首先,定义dp[i][j]表示前i位数字中,以数字j结尾的3
的倍数的数量。根据题目描述,我们可以得到以下状态转移方程:1.如果j%3==
0,则dp[i][j]=dp[i-1][(j-
原创力文档


文档评论(0)