首页 > 其他分享 >2024年8月6日 加训

2024年8月6日 加训

时间:2024-08-07 21:38:17浏览次数:10  
标签:lfloor frac text bmod rfloor 加训 2024 题解

2024年8月6日 加训

赛时只过了 C。D 有思路,不过没写。

A CF1969E 2402*

把一个数修改之后,显然直接把序列拆成两个部分。

找出所有的 \((\text{prev}(i), \text{next}(i))\),那么所有合法区间都是包含 \(i\) 的子区间。

然后考虑 dp 划分,f[i] 表示前缀 \(i\) 最少需要几次修改,转移就是当 \((j ,i]\) 是合法子区间,可从 \(f[j] + 1\) 转移过来。

假了。判断所有子区间是不是合法区间非常难。

题解

直接从左往右贪心啊哥们,你在 dp 牛魔。这都没想到直接退役吧。

B CF1957F2 2847*

树,点有点权。\(q\) 次询问,找出树上两条路径 \(u_1\to v_1\) 和 \(u_2\to v_2\) 哪些点权的出现次数不一样,最多找 \(10\) 个即可。

不会啊,初步想法 XOR HASHING,或者点分治,但是如果是出现次数这种问题,还得是 XOR HASHING 或者根号分治吧,但也不像能根号的样子(完全没找到什么能均摊)。感觉这题应该挺随机化的。

题解

考虑简单版本的,在序列上,求两段区间哪些颜色出现次数不同。

做法是给每种颜色随机一个哈希值,然后扔到主席树上,可以在主席树上二分找出哪个颜色出现次数不同。

树上同理,拆成 \(u\to \text{root}\) 的路径,对这个建立主席树,查询 LCA 即可。

C CF1957E 2501*

感受了一下,应该是个威尔逊定理。因为求 \(C(i, k) \bmod k\) 实际上等于:

\[\frac{i\times(i-1)\times\cdots\times(i - k + 1)}{k} \bmod k \]

你这玩意,化简之后有 \(k\) 项,显然是 \(1, 2, \cdots, k-1\),还有一个 \(\lfloor\frac{i}{k}\rfloor\)。

我们知道前面这个 \(1\sim k-1\) 乘起来,显然有:

\[\prod_{i=1}^{k-1} i \equiv \left\{ \begin{matrix} k - 1 & k~\text{is prime}\\ 2 & k = 4\\ 0 & \text{otherwise} \end{matrix} \right. \pmod {k} \]

我愿称之为拓展威尔逊定理。

所以:

\[C(i, k)\equiv \left\{ \begin{matrix} (k - 1) \lfloor \frac{i}{k}\rfloor & k~\text{is prime}\\ 2\times\lfloor \frac{i}{k}\rfloor & k = 4\\ 0 & \text{otherwise} \end{matrix} \right. \pmod k \]

考虑枚举 \(k\) 即可,对 \(4\) 的处理应该不用多说,把 \(2\) 提出来,剩下的可以 \(O(1)\) 求。然后题目变成求:

\[\sum_{k\in\text{prime}}\sum_{k \le i\le n} ((k-1)\lfloor\frac{i}{k}\rfloor\bmod k) \]

怎么感觉有点熟悉,\(i\bmod k = i - k\lfloor\frac{i}{k}\rfloor\),这个式子可以化简为:\((k - 1)\lfloor\frac{i}{k}\rfloor = i - i \bmod k - \lfloor\frac{i}{k}\rfloor\)。这个还要对 \(k\) 驱魔,显然前面两项可以删掉。于是变成 \(-\lfloor\frac{i}{k}\rfloor\)。

\[\sum_{k\in\text{prime}} \sum_{k\le i\le n} -\lfloor\frac{i}{k}\rfloor \bmod k \]

对 \(k\) 枚举倍数,变成区间加,可处理出 \(n = 1\sim 1000000\) 的答案,复杂度 \(O(n \log n)\)。不过在上面那个未化简的式子的时候就可以做了。

原来这么多知识点中我数论学的最好

D CF1956E2 2906*

不是很懂,模拟?但是模拟不出来。

好像可以模拟直到第一个 \(0\) 出现,这一步是 \(O(n\log v)\) 的(大概),因为在 \(n = 3\) 的时候类似一个斐波那契,所以 \(n\) 为奇数大概就是斐波那契了。\(n = 2\) 也是同理,好像走一圈就可以得到斐波那契形式的不等式。

找到第一个 \(0\),就能找到第一个一定存活的位置,继而找到下一个 \(0\)。

找到一个一定存活的位置 \(i\),设其值为 \(x\) 可以知道 \(i + 1\) 将会经历:\(y\to y-x\to y-2x\to \cdots\),这个显然可以 \(O(1)\) 求。得到其存活 \(k\) 轮。接下来,我们考虑 \(i + 2\),将会经历:\(z\to z-y+x\to z-2y+3x\),这个显然是一个关于时间的二次函数,系数还是非 \(0\) 整数,所以 \(z\) 存活不超过 \(\sqrt a_i\) 轮,这个没关系,我们仍然暴力二分。再往下,\(p\) 就不会存活超过 \(\sqrt[3] a_i\) 轮了,我们可以直接保留权值这些变化的权值,直接做,是 \(O(n\sqrt[3]{a_i})\) 的。如果感觉不够保险,可以用三次函数二分,然后保留四次函数的权值,是 \(O(n\sqrt[4]{a_i})\) 的,这还不能过?

题解

差不多是这个意思,我们暴力做 \(\sqrt[3]{a_i}\) 轮,任何连续 4 个有值的都会死。然后在单个块中查询。本质相同,实现不同罢了。我的做法是按边统计边分割,此做法是先分割再统计。但是 u1s1,题解的做法更快。

然后我会证明找到第一个 \(0\) 是 \(O(\log v)\) 的了。其实就是 \(x^{k} = v\),求 \(k\) 的最大值。显然 \(x=2\) 时 \(k\) 最大,为 \(\log v\)。

E CF1951F 2609*

这能写?感觉没啥性质,特别是置换我很不熟悉。更主要的,C 和 D 花太多时间,现在没时间了。

题解

考虑排列 \(p\) 中的顺序和逆序对分别会对 \(k\) 产生什么影响。

若 \(p\) 中存在 \(p_i > p_j, i < j\),对 \(q_{p_i}\) 和 \(q_{p_j}\) 的值分讨,会发现一定会产生 \(1\) 的贡献。

若 \(p\) 中存在 \(p_i < p_j, i<j\),分讨后会发现产生 \(0\) 或 \(2\) 的贡献,

然后对 \(q\) 从前往后填,假设在填位置 \(i\),找到 \(i\) 在 \(p\) 中的下标 \(j\),然后考虑 \(j\) 能和在其后面且大于他的构成几个顺序对 \(c\),如果 \(k > c\) 就直接填当前最大数,否则就讨论一下即可。

F CF1949J 2727*

先伸展一下,然后直接走进目标位置不就好了?

问题在于,怎么判断缩回去哪个格子,格子往哪边走。往那边走比较简单,从目标节点开始 BFS,找到最近的点,然后沿最短路前进就好了。问题在于,怎么判断缩回去哪个格子,要求缩回去的格子不是割点。

题解

双向搜索,每个状态朝可达的字典序最小的状态移动。但感觉需要证明这样搜一定能到达目标状态。

官解是,找到一个 A 的外边界与 B 的外边界之间的最短路,然后对 A、B 分别建立一棵树,A 不断删叶子,B 不断加入一个节点。所以上面所说的问题的解法就是建树。

标签:lfloor,frac,text,bmod,rfloor,加训,2024,题解
From: https://www.cnblogs.com/lingfunny/p/18347926

相关文章

  • HDU 多校 2024 Round 2
    A-鸡爪肯定是希望\(1,2,3\)的度数尽可能多。考虑答案一定是\(\lfloor\dfrac{n}{3}\rfloor\),所以把前面\(1\sim\lfloor\dfrac{n}{3}\rfloor\)都作为鸡爪的中心,并且向\(1,2,3\)连边。剩下一些再连到\(1,2\)上面去。B-梦中的地牢战斗建分层图跑最长路,由于没有正环,所......
  • [20240807]数值累加的问题.txt
    [20240807]数值累加的问题.txt--//前几天遇到一位朋友聊天提到的问题,实际上主要讲现在要招熟悉linux,unix类的人很少,我接触国内大部分开发人员熟悉了解linux--//很少,即使是数据库管理人员,熟悉linux类的人很少,顶多会一个安装就已经不错了,基本上许多操作系统命令是非常不熟练......
  • 2024.8.7 模拟测
    A(P7968[COCI2021-2022#2]Osumnjičeni)考虑对于一次询问直接从左往右划分段,直至当前加入的人与前面某个人的身高有交集,则新开一个段。设\(nx_i=j\)表示从第\(i\)个人开始划分,要到第\(j\)个人才会出现冲突(若永远不会冲突则让\(nx_i=n+1\))。一次询问相当于初始时让......
  • 博客摘录「 MD5原理」2024年8月3日
    ,MD5消息摘要算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16个字符(BYTES))的散列值(hashvalue),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(RonaldLinnRivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在......
  • 2024.8.7 test
    A一个基环树上,给出每条边可以存在的时间,你还有\(L\)的时间可以分配给边。你要安排边开始存在的时间,使得联通的时间最长,求这个值。\(n\le10^5\)。先不考虑\(L\)。如果是树,那么答案是边存在时间的最小值。如果是基环树,那么把环上次小边加上最小边,并删掉最小边,变成树求最小边......
  • 2024年华为OD机试真题-欢乐的周末-Python-OD统一考试(C卷D卷)
    2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述:小华和小为是很要好的朋友,他们约定周末一起吃饭。通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达),求小华和小为都能到达的聚餐地点有多少个?输入描述......
  • 手机CPU性能天梯图(2024年8月),含安兔兔/GB6/3DMark跑分
    原文地址(高清无水印原图/持续更新/含榜单出处链接):2024年8月手机处理器天梯图2024年8月1日更新日志:由于近期并未有新处理器发布,故只做常规更新;移除鲁大师天梯图;补充其它天梯图数量。--------------分-割-线--------------2024年7月2日更新日志:由于篇幅有限,仅截部分(80-10......
  • 2024美团官方霸王餐API接口
    在数字化日益深入的今天,餐饮行业正经历着一场前所未有的变革。作为行业内的领军企业,美团不断推出创新服务以优化用户体验,提升商家运营效率。其中,2024年美团官方推出的霸王餐API接口便是这一趋势下的重要产物。本文将从接口的背景、功能、优势、应用场景以及未来展望等方面,深入剖析......
  • 2024.08 别急记录
    1.ARC072F-Dam发现当\(t\)递增时优先倒掉前面的,再选后面的;否则优先选后面的,再一起倒掉。所以维护单调队列中\(t\)递增,每次弹出队首\(>L\)的部分,然后插入队尾。若队尾\(t_{i-1}>t_i\)则将两个合并。点击查看代码//AT_arc072_d#include<bits/stdc++.h>usingnames......
  • 2024.8.7 模拟赛题解
    T1过于简单,不必阐述。T2给定一个仅包含\(A\)和\(P\)的字符串,每次操作可以删除相邻的\(AP\)或者\(PP\),问字符串最后的最小长度。$Sol:$为求最值问题,考虑贪心。先给出考场做法。发现若干的\(P\)是一定能合并掉的,于是贪心策略,就是如何最小化\(A\)的个数。对于每个......