GDCPC广东省大学生程序设计竞赛
比赛链接
GDCPC广东省大学生程序设计竞赛
A.An Easy Problem
给你三个数n,m,k
然后会根据n,m生成数列
1×1,1×2,······,1×m
2×1,2×2,······,2×m
···
n×1,n×2,······,n×m
问你将这些数字中第k大的数字是多少
解题思路
二分
- 时间复杂度:
大根堆
将 放入大根堆中,每个二元组负责 个数,这样所有的数都能兼顾到,且初始时数最大,如 负责 这些数,当前最大数要求在堆中,将最大数 弹出,同时将 压入堆中,此时最大值肯定仍在堆中,弹出 次即得 大数
注意 不会很大,数列中实际上会有很多重复数
- 时间复杂度:
代码
B.Byfibonacci
组询问,求出 ,用不同斐波那契数构成的 的方案的价值的和,方案的价值为每个斐波那契数的乘积
解题思路
dp
首先有斐波那契数的一个前缀和性质:,故大概对于任何一个数 ,其由不同斐波那契数组成的数的最大数要么是小于等于该数的最大值,要么是小于等于该数的次大值, 设小于等于 的斐波那契数的最大值为 ,组成 的斐波那契数的最大值为小于等于 的次次大值 ,则有 ,,,即 ,而由于小于等于 的最大斐波那契数为 ,则 ,与 矛盾,故假设不成立,所以最大数是最大值与次大值两者取一,注意不能同时取,如果同时取的话,由斐波那契数列,,即同时取的时候,最大的那个斐波那契数应该是 ,与定义的 矛盾,故只能两者取一,利用这一点进行 转移即可,另外注意在取较大值 时,可能选取的 里面会有等于 的元素,而要求的是不同元素,所以在转移时当出现相同元素时这部分不应该统计进答案,即判断小于等于 的最大和次大的斐波那契数是否等于 。另外简单证明一下为什么选取最大数 时, 里面不会出现 ,设 里面出现了 ,则 ,,,则小于等于 的最大斐波那契数应该是 才对,与 的定义矛盾,故假设不成立,证毕
设 为小于等于 的最大的斐波那契数的下标,则
-
状态表示:
-
- 表示 选取最大的那个斐波那契数的乘积和
-
- 表示 选取次大的那个斐波那契数的乘积和
满足要求的斐波那契数才 个,所以二分寻找小于等于 的最大的斐波那契数的复杂度可以忽略不计,则:
- 时间复杂度:
代码
C.Conspicuousness
给定一个由 组成的长度范围为()的字符串,并给出 次询问,每次给出个长度 , 求出该字符串中长度至少为 的子串的最多出现次数
解题思路
后缀自动机
后缀自动机裸题,本题拿后缀自动机中的树求解即可,即通过树求得 ,其中 表示状态节点的大小,用其更新长度 的贡献,虽然 表示的是状态节点 里面表示的子串的最长长度,但由于最后求解的是至少长度为 的子串的最多出现次数,且长度越小的子串的出现次数越多,所以需逆序更新最大值,故可以直接拿 更新答案
- 时间复杂度:
代码
D.Double
打架游戏,给出 个战斗力。战斗力大的能战胜小的,相等的胜率一半,并且只能和相邻的战斗,每次胜利之后战斗力会翻倍,要求输出所有可能胜利到最后的人的序号
解题思路
思维
由于每次翻倍且范围为 ,所以对于一个数来说,操作能大于等于 次就胜利了,故对于一个数可以左右操作直到左右都不能操作或者操作数大于等于 时停止对该数的操作
- 时间复杂度:
代码
F.Fake Math Problem
给出一个序列 ,求 ,其中
解题思路
暴力
关键点在于 ,乘法计算最多乘 次后面模 就为 了,然后暴力即可
- 时间复杂度:
代码
G.Good Game, GG
和 玩一场游戏,给定 个整数。
有两种操作:
① 选一个奇数,将其分成两个整数
② 拿掉一个
只有 种操作:选择一个偶数并且将这个偶数拆分成两个数
为先手,判断谁是winner。
解题思路
博弈论
首先对于 ,只能 操作而 不能操作,对 , 只能将其拆成 ,这样反而 还比 多操作一次, 肯定不会操作 ,故相当于 没用,而 ,故对于 来说,如果 的话,其必定会构造出一个偶数,这样最好是给 构造无用的 ,其操作数为 ;而对于偶数 , 一定会划分为两个偶数,以划分为 为例,其操作数为 ,比较两操作数即可
- 时间复杂度:
代码
H.History
给定一张 个点, 条带权边的图,每到一个点所有边权 都根据 (其中 为质数)变化,求最短路
解题思路
分层图
考虑 式子的变化,设 ,则 ,而 ,故权值为周期为 的一个循环,这样可利用分层图求解。这与一般的分层图不同,一般的分层图从建图入手,而这里从设置状态入手,即用 表示到节点 且在 层的最短路,当然层数不好设置,但由于只有 个权值,所以需将 对 取模
- 时间复杂度:
代码
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/16439309.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!