2024.07 做题笔记

news/2024/10/6 3:06:30/文章来源:https://www.cnblogs.com/eastcloud/p/18288095

7.6

简单写点省队集训考试题和讲课的题。

T2 UOJ427 化学竞赛

给定一个大小为 \(n\) 的阿贝尔群,再给定一个序列 \(a_m\),其中每个元素都在群中,\(q\) 次询问一个区间内的数的生成群大小。\(n \leq 3\times 10^3,m,q \leq 1 \times 10^6\)

一个结论是 Abel 群可以被直积分解成若干个循环群,即如果 \(n=p_1^{q_1}p_2^{q_2}\cdots p_c^{q_c}\),那么 \(S=\mathbb{Z}_{p_1^{q_1}}\times \cdots \times \mathbb{Z}_{p_c^{q_c}}\),这个证明以后补一下,读抽代的时候没仔细看。

然后就是 OI 内容了,考察所有 \(q\) 为 1 怎么做,不难发现这时候一个向量(我们把数分解掉)的生成群阶数其实就是它所有有数的位上的 \(p\) 的积,这个还是比较显然的,因为所有 \(\gcd\) 都是 1,所以我们就不用管太多东西,只要考虑哪些位上有数。

接着问题转化为求区间并的位数,但是 \(p\) 只有 \(\log\) 种,扫描线 \(l\),维护一些 \(r\) 使得这些 \(r\) 相较于前面答案发生了变化,这个只有 \(\log\) 种,而且每次操作 \(r\) 集合的变化是 \(O(1)\) 的,二分修改一下就是第一个 \(\log\)

\(q\) 不是 1 呢?这时候每位上就不一定是 1 或者 0,但是我们发现把它扩充到 \(q\) 就还能沿用上述做法,且较小数一定比大数优,把并换成线性基就可以做到两个 \(\log\)

T3 UOJ705 黄忠庆功宴

给定一个大小为 \(p\) 的环,\(q\) 次询问每次从环上 \(x\) 点跳 \(l\) 步每步跳 \(k\) 个间隔,路上所有点 \(a\) 加起来是多少。\(p\)质数\(p,q \leq 3 \times 10^5\)

暴力做法:断环成链,然后暴力跳。这个做法能扩展到 \(k\) 比较小的情况,但是比较大比较无能为力,这启发我们根号分治,但是我们其实并没有什么比较好的做法。

还有一个思路:发现走到边界返回开头这个过程是比较关键也是我们不好处理的,我们能不能尽量把这部分简单化?

两部分殊途同归,有两个做法:

第一个是考虑我们在走 \(k^{-1}\) 后等价往前走了一格,然后剩下的部分相当于是前面部分到的点全部 \(+1\) ,我们就把原序列划分成了 \(k^{-1}\) 个公差是 1 的等差数列,如果 \(k^{-1}\) 很小,我们直接暴力找到这个等差数列,然后算一算就做完了。

但是这两部分还是没办法平衡,\(k\)\(k^{-1}\) 没有必然联系,这时候有个惊人的观察,就是每个 \(k\) 必然存在一个分解使得 \(k=\frac{a}{b}\) 使得两个数都是根号级别的,证明可以考虑所有 \({a-bk}\) 中必然有重复(鸽笼),然后大的减一下就有了,有了这个结论之后我们就预处理所有 \(a\) 的对应等差数列,问题转化成每次在对应 \(a\) 处理出来的序列上走 \(b^{-1}\) 个格子,然后就运用上面做法解决。

其实这个做法的本质还应该是考虑 \(k\) 怎么缩小或者分解成若干个子部分,这样能比较好做,然后你按照每次一步走小于根号所有预处理出来,一次走 \(k\) 也存在一个分解在预处理的上面走的步数不多,然后能按照上述方法处理。

但是这个还是很严格,还是太抽象了,于是有方法二:考虑每次我们不走到初始点加一,而是放宽限制,到加小于根号,这个可以发现如果你一次迈过的间隔大于根号,那必然在根号步内能到,证明是类似的,考虑集合 \(ay\)\(y\) 是你一次迈的间隔,只要有两个的差小于根号那就有解,否则是一个平铺之类的东西,也就不合法。

然后这个就跟上面差不多了,分成根号个公差根号的等差数列,预处理即可,这个的本质也差不多是把等差数列作小的划分,殊途同归。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739615.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法金 | 一个强大的算法模型,GPR !!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」抱个拳,送个礼 高斯过程回归(GPR)是一种非参数化的贝叶斯方法,用于解决回归问题。与传统的线性回归模型不同,GPR 能够通过指定的核函数捕捉复杂的非线性关系,并提…

[SNCPC2024] 2024 年陕西省大学生程序设计 J题猜质数II 题解

题目链接:CF 或者 洛谷 PS: CF的得等上gym。 前提说明 其实在上个月就见到这题了,当时很想做这题,结果找不到做题链接,也不知道出处,原来是陕西省赛的捧杯题。个人评价觉得是一道很不错的题,难度适中。 讲解 其实题解写的挺不错的,比很多比赛的题解写的详细许多了。这里…

[Redis]持久化

持久化 Redis的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证Redis的数据不会因为故障而丢失,这种机制就是Redis的持久化机制。 Redis的持久化机制有两种,第一种是快照,第二种是AOF日志。 快照是一次全量备份,AOF日志是连续的增量备份。 快…

Body SectionedSolidHorizontal

Body SectionedSolidHorizontal Body SectionedSolidHorizontal是通过使用两个或多个闭合轮廓(可能具有不同的尺寸)来表示产品的三维实体,这些轮廓沿准线在指定位置之间扫掠。应使用保持该几何表示的IfcShapeResentation的以下属性值:IfcShapeRepresentation.Representatio…

04.条件语句

if 语句if 的条件里可以赋值 if 的条件里赋值的变量作用域就在这个 if 语句里使用 if 语句打开 txt 文件package mainimport ("fmt""io/ioutil" )func main() {const filename = "test.txt"//返回两个值([]byte, error)文件内容和出错形式conten…

矢量数据库Chromadb的入门信息

一. 概述Chromadb是比较年轻的矢量数据库,也是LangChain默认使用的矢量数据库,使用简单,上手很容易。 官网地址:https://docs.trychroma.com/ Github:https://github.com/chroma-core/chroma二. 安装官网的指南:https://docs.trychroma.com/getting-started三. 使用模式内…

【Linux系列】Linux 性能调优工具的 9 张图

性能观察工具静态性能工具性能压测工具性能调优工具sarperf-tools追踪工具BPF性能工具

「杂文」算法竞赛之黑话大赏

欢迎投稿。写在前面 欢迎投稿。 罚时 一种根据选手完成题目的耗时,用于对通过题目数量相同的选手,进行排名的指标。 仅有选手成功通过的题目,才会计算罚时。 一道成功通过的题目的罚时为:选手第一次通过该题目时间,距离比赛开始时间之差,再加上未成功提交的罚时惩罚。 选…

汇编语言 5. [BX] 和 loop | 实验 4 : [BX] 和 loop 的使用

1) 2)向内存 0:200 - 0:23F (0020:0 ~ 0020:3f) 依次传递数据 0~63 , 只用9个指令 使用 bx 即用于偏移地址[bx] 也用于普通寄存器 bx assume cs:codecode segmentmov ax,0020hmov ds,ax ; ds : 0020h mov cx,64mov bx, 0s: mov [bx],bxinc bxloop s mov ax,4c00hint …

WAF 大全

WAF 大全 宝塔网站防火墙

替换背景 工具

https://modelscope.cn/studios/iic/ReplaceAnything?spm=a2c6h.13066369.question.1.57fb7d45DCg601ReplaceAnything as you want: Ultra-high quality content replacement我们发现,在严格保持某个“物体ID”不变的情况下生成新的内容有着很大的市场需求,同时也是具有挑战…