北京信息科技大学第十五届程序设计竞赛(同步赛)解题报告(流水账版) | 珂学家

宇宙万法的那个源头

https://ac.nowcoder.com/acm/contest/68572/A


前言

划水打了这场比赛,感觉签到题稍有点多,^_^,整体做起来挺舒服的。


欢迎关注

珂朵莉 牛客周赛专栏

珂朵莉 牛客小白月赛专栏


A. 宇宙万法的那个源头

式子可以拆为 11145 * (10^5x + 10^(5x - 5) + ... + 10^5 + 1)

所以质数一定小于11145,然后巴拉巴拉一顿分析....

回到正题,因为3是11145的因子,且这个数是奇数

所以3就是天选之子。


B. 小苯的台灯

如果模数较小,那么一定存在循环节(I题 带猫猫任务也涉及这块)。

所以模拟就行了,因为存在较小的循环节。


C. 小苯的排列构造

可以把 2 4 1 3 作为内核

然后n > 4按奇偶在两边拓展

大概是这样子 2n - 1, 2n - 3, ..., 9, 7, 5, || 2, 4, 1, 3, || 6, 8, 10, ..., 2n - 2, 2n

当n<4时,不存在这样的序列。


D. 408之计算机网络

模拟题, 可以把ip地址转换为一个32位整数,C语言中有个类型,叫做union,感觉可以简化不少。

这边的思路,是拆位统计,如果所有的ip在i位都相等,则属于CIDR前缀。

属于简单,但是写起来稍头痛。


E. 小苯的连续因子

本质是区间LCM(最小公倍数)最小。

要区间lcm最小,那[l, r]一定是[1, k],这样时间复杂度为

但是这个需要高精度支持,涉及高精度后,时间复杂度远比之前的高很多了。

那如何求解呢? 至少持平O(nlogn), 甚至O(n)

其实是小于等于k的所有质数(带次数)的乘积,这样就能减少时间复杂度。

欧拉筛, 枚举质数及其指数(质数总个数为), 因此感觉整体接近

埃式筛也可以过,并没有卡时间复杂度,卡的是直接lcm,因为高精度代价大。


F. 小苯选择队友

分组 + 前缀和预处理 + 滑窗

分组是为了枚举战队,然后模型就转变为

寻求数组中最大的子数组和

这就是经典问题了,DP/双指针都可以。


G. 轻舟已过万重山

防AK题,忽视


H. 小红的字符串构造

防AK题,忽视


I. 小苯的带猫猫任务

0-1背包的裸题

每个猫都是独立的,难点在于如何确定猫的最小代价

pos - left * x + right * y = 0 % like

这边有两种方式,至少我这边想到的。

  • exgcd,求得xy的组合, 保留最小的px+qy
  • 预处理right的循环节(like<=3000), 然后枚举left的x值, O(n)代价求得最小的px+qy

所以整体上,


J. 408之数据结构

使用了“珂朵莉树”

我对这个数据结构定义有点模糊

大概的意思,

  • 使用set
  • key为区间
  • set内区间不存在重叠

因为set(java的treeset)支持lower_bound/upper_bound,所以添加和查询相对容易,满足mex操作即可。

当然这题也可以借助

  • 链式并查集

瞄了下官解,好像解法更优,用set存 不存在的数,如果添加就remove,查询就是find first.


K. 小苯的矩阵

LIS的变体

同列的值只能取一个,所以难点其实在这里

如何规避这个问题,可以对同列从大到小进行遍历,然后进行常规的LIS操作

这样就可以得到解了。

从大到小,这个trick技巧,完美避免干扰。

官解说,灵感来自某一场力扣周赛,其实那题我印象很深,为啥呢?因为那题我看错题了,看错的题意就是这个题的弱化版,T_T.


L. 小苯的异或疑惑(easy)

和M一起讲


M. 小苯的异或疑惑(hard)

异或的技巧,因为每个值,参与次数 n - 1次

如果n-1为偶数,那结果一定为0

如果n-1位奇数,那每个值参与异或一次

所以最终结果为 数组整体的异或和。


N. 中华文化,博大精深!

原神,启动!


写在最后

alt

全部评论
mu佬还是强啊,G、H、I没时间看就不说了。K比赛的时候用的数据结构,卡不过去,然后死轴一直在优化常数,卡到结束我擦,其实就信封嵌套那个思路秒过。赛后又把E,K,J过了TAT,炸了炸了
1 回复 分享
发布于 2023-12-07 14:24 河南
官解在哪里
1 回复 分享
发布于 2023-12-06 22:49 重庆

相关推荐

行云流水1971:这份实习简历的优化建议: 结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。 经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。 岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。 信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。 技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。 优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。 若需要进一步优化服务,私信
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
11
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务