- 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.兔子不吃窝边草
有谚语云:“兔子不吃窝边草”。现给定若干块排列成一条线的草皮,假设兔子从任
何一块草皮开始吃,但吃完一块后,绝对不吃直接相邻的草皮,则兔子最多可以吃
掉多少草?
时间限制:10000
内存限制:65536
输入
输入第一行给出两个正整数,即N(≤105)为草皮的块数、i(1≤i≤N)
为兔子开始吃的第一块草皮的编号。第二行给出N个正整数(≤
103),以空格分隔,依次表示每块草皮的含草量。
输出
首先在一行中输出这只兔子最多可以吃掉的草量。下一行按兔子吃草的顺序输出每
块被吃掉的草皮的编号。同行数字以1个空格分隔,行首尾不得有多余空格。
注意:我们必须假设兔子只朝一个方向跳着吃草,否则如果它可以来回跳,就能吃
掉所有的草了。如果朝左右两个方向得到的结果一样,则兔子总是喜欢向左边跳;
并且如果有多块草皮都可以得到同样的结果,兔子总是选择跳到离自己最近的那块
。
样例输入
样例1:
104
2143115231
样例2:
108
2143115231
样例输出
样例1:
11
479
样例2:
9
8631
解析:
这道题目是一个典型的动态规划问题。动态规划是一种求解最优化问题的方法,其
基本思想是将问题分解为若干个子问题,通过求解子问题的最优解,逐步构造出原
问题的最优解。在这道题目中,我们可以将问题分解为求解以每块草皮为结尾的最
长不连续草皮序列的长度,然后通过比较和选择得到最优解。
具体的实现过程中,我们需要使用动态规划的思想,通过状态转移方程来计算dp值
,并在遍历过程中记录最大dp值和对应的草皮编号。由于题目中限制了内存和时
间的限制,我们需要使用高效的算法来求解。动态规划是一种非常有效的求解最优
化问题的方法,能够在较短的时间内得到最优解。
2、2.漂亮的序列
对于给定的整数m,我们称一个序列是“漂亮”的,如果它包含至少2
个整数,并且有2个相邻数字的差不超过m。你的任务是计算一个给定n
个正整数的序列中,有多少个子序列是漂亮的。
时间限制:6000
内存限制:65536
输入
输入第一行给出2个正整数n和m(2≤n≤105,1≤m≤103),随后一行给出序列中
n个不超过105的正整数。同行数字间以空格分隔。
输出
输出原始序列中漂亮子序列的个数。因为答案可能非常大,所以你需要输出对
1000000007(109+7)取模后的结果。
样例输入
42
5386
样例输出
8
提示
样例解释:
1、子序列下标为{1,2},对应值为{5,3};
2、子序列下标为{1,4},对应值为{5,6};
3、子序列下标为{3,4},对应值为{8,6};
4、子序列下标为{1,2,3},对应值为{5,3,8};
5、子序列下标为{1,2,4},对应值为{5,3,6};
6、子序列下标为{1,3,4},对应值为{5,8,6};
7、子序列下标为{2,3,4},对应值为{3,8,6};
8、子序列下标为{1,2,3,4},对应值为{5,3,8,6}。
解析:
这个问题可以通过动态规划来解决。我们可以定义一个状态数组dp,其中dp[i]表示
以第i个数结尾的漂亮子序列的数量。对于序列中的每个数,我们需要考虑两种情
况:单独作为子序列,或者作为已有漂亮子序列的延续。对于第二种情况,我们需
要查找在前面的数中,哪些数与我们当前处理的数构成的差不超过m的子序列。由
于数字可能非常大,我们需要对状态进行压缩。具体来说,我们可以使用状态压缩
的动态规划,只保留当前需要的状态信息,从而节省内存。在实现时,我们可以使
用二分查找来快速找到满足条件的状态。最后,将所有状态的数量相加即可得到答
案。由于答案可能非常大,我们需要对结果取模。因此,最终的答案是所有状态数
量的总和取模后的结果。
3、3.园林修整
园林修整中,常利用树木来形成整齐的区域分割线。园丁要将树木按高度修剪成递
增或递减的形状——
如果一棵树太高了,就需要裁剪;如果太矮了,则需要替换。修整所花费的力气与
裁剪或替换树木的数量成正比,所以需要你替他想一种最省力的修整方案。
时间限制:1000
您可能关注的文档
最近下载
- 血糖仪质控规则 .pdf VIP
- 中国矿业大学《学术英语》2021-2022学年第一学期期末试卷.doc VIP
- 2025年南京新工投资集团公司治理结构组织架构和部门职能.docx
- 组织胚胎学教学教案.doc VIP
- 2025年石家庄建设投资集团有限责任公司人员招聘笔试备考试题及答案解析.docx VIP
- 九年级英语感叹句.ppt VIP
- 第3单元第7课+中国传统色(课件)-2025-2026学年+赣美版(2024)初中美术八年级上册.pptx VIP
- Unit 6 How do you feel Part B 课件(共20张PPT)(含音频+视频).pptx VIP
- 拟任县处级党政领导职务政治理论水平任职资格考试第.doc VIP
- 《我们的互联网时代》知识梳理+考点精练(一)(原卷版).docx VIP
原创力文档


文档评论(0)