DAY1

T1

人生在世就要不断做出选择。一般来说,选择牵涉着不止一个方面的利益,在不同的利益方面,一个选项的影响也可以或正或负。比如,选择参加本次夏令营,你将付出一定的金钱和时间,同时以算法能力的提升作为回报。为了做出最优化的选择,人们投入了大量资源研究并应用各种运筹学(Operations Research)理论和算法。各种规划问题同样也是算法竞赛的重要组成部分,并将在此次夏令营的最后两次课详细介绍。在本次练习中我们关注一个较为简单,可以使用搜索解决的简单 01 规划问题。

我们定义两种价值(下称金钱和精力)。你初始具有 0 的金钱和 w 单位的精力。

有 n 个物品,第 i 个物品具有一个字符串表示的名字,并可以提供 u[i] 单位的金钱和 v[i] 单位的精力( 都可以是负的,详见数据范围),对于每个物品你有两种选择:选取或丢弃,且不能选取多次。

你的任务是给出一种选择方案,使得选择结束以后,你拥有的精力非负且金钱尽可能大。

输入格式
第一行两个正整数 n,w ,含义如题。

接下来 n 行,第 i 行具有一个字符串 s[i] 和两个正整数 u[i],v[i],表示一个物品的唯一名字和能提供的两种价值的量。

输出格式
第一行一个非负整数,表示最大能获得的金钱的量。

接下来若干行字符串,输出你选择的每个物品的名字,有多种方案的话,请输出任意一种。

样例
输入
4 100
wonder -50 -50
miracle -50 10
dream 100 -55
responsibility 230 -55
输出
280
miracle
dream
responsibility

T2

两正整数的最大公约数是能同时整除两数的最大正整数。

同理,多个数的最大公约数是能同时整除它们每个数的最大正整数。

给出一个长为 n 的正整数序列 和 q个询问,每个询问给出一个区间 l,r,对于每个询问,你需要给出GCD(a[l~r]) 。

保证给出的询问满足一种滑窗性质,详见数据范围与约定部分。
输入格式
第一行一个正整数 。

第二行 n 个正整数,表示序列中的数。

第三行一个整数 。

接下来n 行,第 i 行两个整数 。

以上未特殊说明变量的含义均如题所述。

输出格式
输出 q 行,第 i 行表示第 i 个询问的答案 的值。

输入
5
2 4 9 10 25
2
2 3
4 5
输出
1
5
对于 30 的数据,n,q<=100。

对于 100 的数据,n,q<=1e6 ai<=1e9。

t3

Bardisk 和 Barisore 喜欢玩 Minecraft。这天 Bardisk 收集了 n 种建筑方块,第 n 种建筑方块有 ui 个,Bardisk 想把这些方块铺成一个宽度为 k 的长方形,起初他把相似的方块铺在一起,但是 Barisore 嫌太丑了,她要求每行(即沿着宽度的方向)的 k 个方块种类都是不同的。

Bardisk 是建筑白痴,所以他想问问聪明的你,使用现有的材料,他最多可以按这样的要求铺多少行?
第一行两个正整数 n,k,意义如题。

第二行 n 个正整数,表示序列 u,意义如题。
输出格式
输出一个正整数,表示答案
样例
输入
6 5
1 9 1 9 8 6
输出
2
对于前 60 的数据,ui<=64。

对于100 的数据,k<=n<=5e5,u<=1e9。

本题考察贪心和二分。

t4

题目描述
RMQ 问题,全称为 Range Maximum/Minimum Query,表示区间最大 / 最小值查询。

顾名思义,本题要求解决 RMQ 问题,具体来说,要求解决区间静态最大值查询问题。

给出一个长为 的整数序列 和 个询问,每个询问给出一个区间 ,对于每个询问,你需要给出 之中的最大值。

输入格式
第一行两个正整数 ,其中 意义此后将给出。

第二行 个正整数,表示序列中的数。

第三行一个整数 。

接下来 行,第 行两个整数 。

以上未特殊说明变量的含义均如题所述。

输出格式
输出 行,第 行表示第 个询问的答案 的值。

样例
输入
5 1
2 4 9 10 4
3
2 3
1 4
1 2
输出
9
10
4
数据范围与提示
对于前 的数据,,这个部分分考察暴力。

对于前 的数据,,这个部分分考察倍增。

对于另外 的数据,,这个部分分考察前缀和。

对于另外 的数据,,这个部分分可能考察二分使用。

对于 的数据,。

你可能需要组合一种以上的算法来通过本题。


__EOF__

本文作者ljfyyds
本文链接https://www.cnblogs.com/ljfyyds/p/17540872.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ljfyyds  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示