CF edu 173 刷题笔记

A

简单数学题。

图形画出来是一个满二叉树,所以数层数就好了,能除以多少个 4 就有多少层,然后答案就是 2 的这个次幂。

B

考察整除的性质。

由于只需考虑 19 中的奇数,所以一个一个来看。

1 肯定能被整除。

3 整除的条件是所有数位上的数相加是 3 的倍数,给定的数的数位和为 dn!,显然在 n3 时一定包含因子 3,即此时一定能被 3 整除。除此之外能整除的条件就是 d3 的倍数。

5 整除的数需要末尾为 05,所以只有当 d=5 时才行。

7 整除的数需要将原数三位截断后奇偶段做差后也为 7 的倍数。当 n3 时这个差都是 0,一定整除;否则就只有 d=7 时行。

9 整除的条件和 3 相似,所有数位上的数相加是 9 的倍数,显然在 n6 时一定包含因子 9,即此时一定能被 9 整除。除此之外能整除的条件就是 d9n3d3 的倍数。

if 语句写一下就行了。

C

(在大佬 Hagasei 的悉心指导下会做了)

tip:

他曾说:“对于序列上的数区间问题,无非就固定一个端点分治,放在 C 题多半都是固定端点。”

同时还要注意题目条件的特殊性。

看到序列中除了一个位置 ai[109,109],其他都是 11,那么不妨先考虑全为 11 的情况。

题目要求所有的区间和的值域,在这样的序列上,假设我们已经找到了一个区间 [l,r],那么将左端点或右端点移动一格,取值都只会变化 +11,所以这个值域一定是一个连续的整数段,也就是说中间是不可能出现断层的。既然如此,我们就找出上下界,说白了对原序列各求一遍最大子段和和最小子段和即可。

接着考虑有一个特殊值的情况。

这时候不妨分类讨论子段和的包含对象。分为两类:包含此特殊值的和不包含她的,最后答案取并集即可。不包含的上面已经考虑过了,所以现在只用考虑包含她的,也可以分为两部分,分别是在她左边和在她右边。和上面的分析相同,我们也要找包含她的最大/最小子段和,又有:

最大子段和 = 左边最大后缀和 + 右边最大前缀和;

最小子段和 = 左边最小后缀和 + 右边最小前缀和。

这样一来这道题就解决了。

D

一道神奇的题目。

看到题的一瞬间就想到令 A=λG,b=μG,A<B,那么即求最大的 μλλμ

暴力地思考,找到 λ,μ 的取值范围,然后猜想取最大值时 λ 距离左端点不会太远,暴力枚举 100 次,结果就这样过了……

(实际上复杂度是对的,直接暴力做也能过)

证明还是看题解吧

posted @   Brilliant11001  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示