24.10.12

news/2024/10/12 17:28:10

所谓 NOIp 模拟赛。

怎么会有 NOIp 模拟赛放 AT 银牌题呢哈哈

A

暴力:枚举点对 \((c, s)\),合法点对的贡献是 \((A - c + 1)\times (B - s + 1)\)

对于 \(x = 1\) 的部分分,打表发现合法点对只有 \(c = s\) 的点对,那么贡献为

\[\begin{aligned} &\sum_{i = 1}^{\min(A, B)}(A - i + 1)(B - i + 1)\\ =&\sum_{i = 0}^{\min(A, B) - 1} (A - i)(B - i) \\ \end{aligned} \]

\(C = \min(A, B) - 1\).

\[\begin{aligned} =&ABC - (A + B) * \sum_{i = 1}^{C}i +\sum_{i = 1}^{C}i^2 \end{aligned} \]

模数是 \(2^{23}\),自然数和建议开 __int128 直接乘,\(3\) 的逆元是 \(2796203\)

然后暴力跑了几组数据发现 \(s \neq c\) 的合法点对数量好像不是很多,并且 \(s\) 很小。

考虑 \(s(c + x) | c(s + x)\) 化成 \(\dfrac{c(s + x)}{s(c + x)} = d\),那么枚举 \(s\) 可以算出 \(c = \dfrac{dsx}{x + s - ds} \in [1, A]\),这里由于要求 \(c \neq s\),所以 \(d > 1\),那么 \(s \le x\),并且 \(d\in\left[\max\left(2, \dfrac{x + s}{sx + s}\right), \dfrac{x + s}{\frac{sx}{A} + s}\right]\),枚举 \(s\)\(d\),差不多是调和级数 \(O(x \ln x)\)

B

  • 每个点集均满足以下两个条件之一:
    • 该点集中的元素两两之间均有边。
    • 该点集中的元素两两之间均没有边。
  • 对于任意点 \(u\) 以及任意不包含 \(u\) 的点集 \(S\),需满足以下两个条件之一:
    • \(S\) 中的每个节点与 \(u\) 都有边。
    • \(S\) 中的每个节点与 \(u\) 都没有边。
  • 这些点集的并是点的全集。

那么两个点 \(x, y\) 在同一个集合里的充分条件是 \(\forall i \neq x \wedge i \neq y,w(x, i) = w(y, i)\)

用异或哈希维护每个点相连的集合。

维护 \(hash_x\) 表示与 \(x\) 相连的点的权值异或和,那么两个点可以在一个集合满足 \(hash_x = hash_y\)(两点间无边)或 \(hash_x \oplus val_x = hash_y \oplus val_y\)(两点间有边)。

先算出所有哈希值。依次加入点,维护所有出现的哈希值,如果加入 \(x\) 时如果 \(hash_x\)\(hash_x \oplus val_x\) 存在,说明 \(x\) 可以放到已有集合,不然 \(x\) 就要新开一个集合。

修改时先把 \(x, y\) 从维护的值里删去,修改后在加进去。

C,D

战绩可查 23/0/0,改不动。

对了这是 D。C 比 D 还抽象。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

软工第二次个人作业

软工第二次个人作业这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253这个作业的目标 使用Python编写一个“羊了个羊”风格的消除类小游戏学号 102202106Github仓库 目录一.使用AI…

【报警视图的应用】

1. HMI报警的状态 HMI报警一般有三种状态,到达(I)、离开(O)、已确认(A),组态报警的类别不同,该报警所具有的状态也不同。 项目中默认的报警类别包含以下几种:默认的类别中,Errors类别是带单次确认的报警,具有“到达/离开/确认”三种状态,而Warnings类别是不带确认…

免费解锁数学难题——体验Math.now AI数学求解器

想要快速解决数学问题,获得分步解答?Math.now是一款免费且强大的AI数学求解器,基于先进的Math GPT技术,无论是代数、几何,还是微积分,它都能提供精准的解答,帮助您轻松掌握每个数学概念。摘要:想要快速解决数学问题,获得分步解答吗?Math.now是一款免费且强大的AI数学…

idea如何通过不同jdk版本进行打包

本地安装的jdk版本是11,有个项目想打包成jdk1.8的版本,试了好多方法还是不得行,本来是以为修改Project Structure 里面修改SDK的jdk版本就可以,试了不行 最后面发现,这个的打包方式是采用maven的setting.xml里面制定的JDK版本有关 最后修改了,maven制定的setting.xml里面…

【设备漏洞】挖掘思路

1.信息收集1.1 弱口令搜索1.2 硬编码问题2.相同组件及OEM框架挖掘2.1 组件漏洞问题2.2 OEM漏洞问题免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。文章来源:先知社区 在日…

3DCAT实时云渲染赋能2024广东旅博会智慧文旅元宇宙体验馆上线!

2024广东旅博会再次引入3DCAT实时云渲染技术,成功构建了智慧文旅元宇宙体验馆.中国移动通信集团广东有限公司提供技术总支持,携手瑞云科技的3DCAT实时云渲染技术与广东惠众信息科技的三维建模能力,共同打造了一个全方位的沉浸式虚拟展览环境.广东国际旅游产业博览会(以下简称“…

关于使用plsql操作oracle的一点小技巧和几个常用的查询语句

plsql是什么:就是这个,专门操作oracle的一个工具,好用还免费。 创建一个测试表:create table Student( Id number not null, Name varchar(20), Age number, Grade number, Gender varchar(2) )里面的varchar2()是oracle自己专门的字符类型,用就行了。 光标移到表上,右键选…

github action的使用

近年来,我一直在使用jenkins 来部署自己的项目,发现太耗内存了, 因此将自动化部迁的操作改为使用github action。 初始化action配置 选择一个合适的action类型,比如webpack、gitPage、Nodejs等等。比如我这里选择了webpack,选择完成后 可以看到在仓库里多了一个文件 .git…