牛客练习赛 131 A-D
A
枚举 或枚举 ,贪心最大化另一个值,所以答案就是原序列升序后的某个后缀,从后扫到前,维护答案即可。
具体实现上,用 pair 存原序列,输出序号时放到 set 里,遍历 set 输出。
B
每个人独立,先处理出每个人形成 每个数的方案数。
扫一遍 dp 即可。
小技巧:
- 状态不是正整数,设置一个偏移量, 映射到 。
- 直接用 map 存储状态,同时用 set 维护有效的状态。此做法多个 ,但是在有效状态少,且数值较大不易偏移时有用。
C
是树上路径异或和,转换成树上异或前缀和,对答案的贡献就是 。
因为所有不相邻的二元组都有贡献,统计一下每个 有几次贡献即可。
,可以用 __int128 存储,也可以用 bitset,甚至直接 string 模拟也是可以的。
输出时要输出整段,不能忽略前导零。
时间复杂度:。
D
题目要求维护一个间隔 的区间加等差数列,求区间和的问题。
因为 是个定值,所以把序列按 划分成 段,然后区间修改就是在 这段上进行连续的区间加等差数列了。
直接开 棵线段树维护即可。
时间复杂度:
然后是我对比赛的槽点:(均按照之前我比赛内测的标准来看的话)
- 题意多多少少都有问题,A 题题意不符合实际,木桶装水体积公式不对。题目中只写了取决于 m²×h,未说明之间的关系,正比关系是周长和 m 的关系,不是体积的关系。B 题本身就是阅读理解,最大的问题是,“用双手表示的数进行加减运算”,然后你跟我说,第一个数前面可以有负号?“所有同学的手指健全”意义不明,如果要杠的话,请问六指怎么处理?C 题没有解释什么是 01 串的异或,那个连续异或的符号意义不明。D 题题面一坨,“能量波衰减能量绝对值减少一”的表述很神秘,长度 L 的设备上 x 位置发射能量波,感觉很奇怪。E 题,我根本没有读懂,“每个国家都希望占领尽可能多的城池”“但是小H不希望游戏结束太快,因此希望两个国家势均力敌”请问决策点在哪?小 H 能进行什么样的操作?F 题没看,不做评价(赛时只有 7 提交,无有效提交)。
- 题面书写上的问题,小H,H 应和汉字之间有空格。文段间换行随意,A 题没有换行;B 题段之间没有间隔;C 题间隔正常,D 题无间隔。E 题无换行。D 题没有指明 l 和 r 之间的大小关系。总的题面都很抽象,不优美,感觉很多意义不明的表达。一些出题上意义不明的事情,B 题手不能表示 0;C 题要忽略相邻的,权值不用整数,要用字符串(但是又允许暴力异或的时间);E 题是有根树。
一个感受就是,我内测的时候,出现这些问题,我都尽可能地去修改,结果这场这样就放出来了吗?怎么感觉要求完全不一样?
然后是从“题目质量”的角度,吐槽一下(均按照之前我比赛内测的标准来看的话):
- A 题签到题,没什么好说的。但是就是,敢说这种套路的题目,完全没有在别的平台出现过吗?即:“这不一眼原”
- B 题大典 dp,同样感觉不存在完全没有在别的平台出现过,或者就是,我觉得这题是很容易 gpt ac 的题。
- C 题魔改异或前缀和典题,纯粹是题意故弄玄虚,还有意义不明的长度为 L 的 01 串。
- D 题区间加等差数列板子,luogu1438,就加了个 λ 就端上来了。E 题我觉得如果不是读不懂,难度比 D 低。
以上均是吐槽一下。我内测时的要求这么复杂,结果练习赛 131 就这?
正常而言,一场套题形式上没问题,我都接受,以上只是基于,我内测时的感受,有感而发。
哦,题面写的一坨的目的不会是为了防止直接 复制 给 GPT 吧?题面写的好的,反而容易让 GPT 输入,这下幽默了。