【考试总结】2022-07-29
点
计算两个都不包含圆心的方案和一个不包含一个任意的方案。
包含圆心等价于凸包上两个相邻的点之间的距离 。枚举 中某个点并让其作为长度 线段的端点。在线段上的点只能选另一个颜色,剩下的可以任选,得到点数之后可以快速幂
对于后半部分,枚举两个相邻异色点作为断环成链的两个端点。从左端点右端点分别延伸出长度为 的线段,有交则中间部分快速幂。但是这会算重,不过重复的情况都存在分界线,方案数减去分界线数量即可
列
分治,将 的数字视为 ,否则视为 。那么每一层的目标就是将所有 翻到 右边
将连续的 缩成一个,再将每对 视作一段进行一次操作,操作过后再将连续 缩起来,段数减半。那么操作次数是 级别
当区间不为 时可以并行处理,于是每层操作 次,一共 层,由于层数增加时区间长度减小,于是实际上附带了 的常数
对于可能因为翻转产生的 实际上在 右边的情况可以在输出答案的时候将操作序列 翻转。
实现每层的处理时不必拘泥于模拟上面所说,可以再进行一次分治,每个区间返回区间内 的数量并将区间里面的 翻到 的左侧,合并两个区间只需要翻转 中间的一对
树
定义乘法为狄利克雷卷积,并令 于是可以得到根权值为 的树的数量 的转移表达式
注意到非叶子节点本身没有权值,于是可以做些简单和式变换得到:
整道题的答案就是 前缀和的第 项,尝试使用定义式 来求,左式的 表示前缀和第 项。
可以通过 的 Venn 图容斥来求一项,注意每个集合的倍数数量的整除除数是集合元素
对于 使用标准杜教筛来处理,因为 。根据定义式这都是成立的,即使 并不是传统意义上的积性函数。不过给 附加常数项好像并没有对指数上的运算产生任何影响,我不是很理解。
对于 也是用 来做,乍一看出现了环形转移,但是 所以不必担心。
按照定义式 求出来上述函数的前缀和,其中狄利克雷卷积的逆运算表达式为
时间复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律