首页 > 其他分享 >2024.10.31 近期练习

2024.10.31 近期练习

时间:2024-10-31 22:00:06浏览次数:1  
标签:2024.10 每个 31 练习 贡献 即可 考虑 times sum

板刷 ARC,再不刷就退役了。

ARC185A mod M Game 2

猜结论题,两个人牌的总和是 \(n\times (n+1)\)。若 \(n\times (n+1)\bmod m=0\) 或 \(> n\) 先手获胜。
显然手牌还有大于 \(1\) 张的时候不可能失败。
和取模 \(m\) 为 \(0\) 那么后手一定最后一张失败;若取模 \(\le n\) 则后手一直拿着这张牌先手转化为上述情况。
剩下的情况所有牌都出完,先手胜。

ARC185B +1 and -1

假设已知目标序列 \(g\),将大限制转化为小限制,对于每个前缀都满足 \(\sum a\le \sum g\) 即可。
贪心地考虑 \(g\),显然是所有数尽量相同,前面一段数,后面是该数 \(+1\) 的一段数。

ARC185E Adjacent GCD

很明显地拆贡献。同时对于每个前缀算答案启示我们增量法求答案。
加入 \(i\) 的时候,对于每个 \(j\) 有 \(\gcd(a_i,a_j)\times 2^{j-1}\) 的贡献,现在考虑 \(\gcd\) 的性质。
考虑把 \(j\) 的贡献全部存进其约数的桶里,查询的时候,\(\gcd = d\) 的贡献减去所有 \(d\) 的倍数贡献即可。
然而这么做复杂度需要调和级数,无法通过。考虑对于每个 \(d\),改变一下其贡献的系数。
我们原本求的是 \(\sum d\times f_d\),其中 \(f_d=g_d-\sum_{d|y}f_y\),\(g_d\) 表示桶里存的贡献。
考虑令 \(d\) 的系数容斥一下,因为 \(d\) 会被其因数都算一遍,所以从小到大每个减去其因数的贡献即可。
则 \(c_d=d-\sum_{y|d}c_y\),而这几把玩意其实就是 \(\varphi(d)\),因为 \(d=\sum_{y|d}\varphi(y)\),这大抵就是欧拉反演把。

ARC184A Appraiser

很几把唐氏这个题,考虑每 \(11\) 个分一组,每个组只需要比较 \(10\) 次。
每个组至少有一个真币;并且一定存在全部都是真币的组,这个可以求出来。
那么我们已知一枚真币的情况下再去对未确定的组判断即可。

ARC184B 123 Set

注意到,所有数可以按照去掉 \(2,3\) 的因数后分组。每组都是独立的。即每个数写成 \(k2^i3^j\)。
对于每组都是一个有向图,分为若干层,每层的每个点向下一层的该位置和下一个位置连边。
相当于覆盖所有点,这玩意儿可以状压 dp,只需要支持超集 \(\min\) 即可。
然后注意到有若干组的图都是相同的,这个用一下整除分块套外面即可。

ARC184D Erase Balls 2D

考虑最后点的形式,显然为若干个矩形从左上角到右下角连起来。
所以直接做一个 dp 即可。但是有一个问题就是会算重。
我们需要钦定一个矩形里面的点不能被两个首尾相连的矩形全部包括即可。
也就是相当于构造双射,使得每种点的集合映出出来的矩形集合是唯一的。

ARC183B Near Assignment

盲猜需要分讨 \(k\) 是否大于 \(1\);\(k=1\) 的情况只需判断 \(b\) 每个连续段的元素构成的序列是否是 \(A\) 子序列。
\(k>1\) 的,考虑 \(1,3,2,1\) 为何不能变为 \(1,2,3,1\),当 \(k=2\) 的时候。
我们需要保证 \(A\) 每次操作后都包含 \(B\) 的所有元素,所以相当于只有一个空位。
而最后两个 \(1\) 的距离 \(>k\),导致我们最后一定会使某个元素消失,所以就不合法。
所以充要条件是若存在 \(b_i=b_j\),且 \(|i-j|\le k,i\neq j\) 的话就合法。

ARC183C Not Argmax

简单区间 dp,每次取出最大值之后划分子任务。

ARC183D Keep Perfectly Matched

最大化 \(\sum dep_u-\sum dep_{lca({u,v})}\),我们要定一个根。
贪心地,取重心为根,既使得 \(\sum dep_u\) 最大化,且明显 \(lca(u,v)\) 都可以取到根节点。
钦定匹配边为 \(1\),非匹配边为 \(0\),不难发现,每次选一个路径出来,必须选 01 交替的,并使 01 反转。
对于根的每个儿子是独立的,只需要 dfs 一遍即可求出第几次删第几个点。
考虑到一个点只有一个匹配边出边,所以堆维护所有非匹配边儿子,每次贪心地取出大小最大的子树。

标签:2024.10,每个,31,练习,贡献,即可,考虑,times,sum
From: https://www.cnblogs.com/Simon-Gao/p/18518981

相关文章

  • 2024.10.31
    《代码大全2》是一本编程领域的经典之作,为开发者们提供了丰富且实用的指导。在阅读过程中,关于软件构建的前期准备给我留下了深刻印象。书中强调了需求分析的重要性,这就像是大厦的蓝图绘制。如果对需求理解不清晰或存在偏差,后续的代码编写可能会像没有方向的航行。例如,若开发一个......
  • 2024.10.31..
    《代码大全2》是一部编程领域的瑰宝,为编程者打开了一扇通向高质量代码世界的大门。阅读此书,深刻感受到它对于编程全方位的指导意义。从前期的规划设计到具体的代码编写,再到后期的调试优化,无一遗漏。在设计阶段,它教会我们如何准确把握需求,制定合理架构,避免盲目编码。编写代码过程......
  • 2024.10.31.
    《程序员修炼之道》为程序员们呈现了一条从入门到精通的成长路径,宛如一幅指引前行的地图。书中提到的“注重实效的哲学”让我深思。它强调要以一种务实的态度对待编程,明白每个代码决策背后的价值。例如,在选择算法时,不能仅仅因为某个算法新或者复杂就选用,而要根据实际的业务场景......
  • 24.10.31
    不喜欢CTT模拟赛。A我卡双模哈希?尊嘟假嘟?考虑先构造出两个串把第一个模卡掉,然后用这两个串拼出两个串把第二个模卡掉。两个过程是相同的。一个很唐的方法是先随机出一个串然后检查其是否有子串哈希冲突。B题解C题解P2575博弈论。可以注意到每行互不影响,所以组合游戏......
  • 10.31
    今天上了一天的体育,并且将读书笔记梳理完成了阅读笔记一:自我提升的重要性核心观点:书中强调了程序员持续学习和自我提升的重要性。无论是技术技能的提升,还是软技能的培养,都是从初级开发者成长为专家的关键。实践建议:设定学习目标:明确你想要掌握的技术领域,制定切实可行的学习计......
  • 2024/10/31
    十月的最后一天。CCO2020ExerciseDeadlines交换次数等于逆序对数量,所以我们的目标就是最小化逆序对数量。考虑一个贪心,每次将尽可能大的数放在最后面。用线段树/树状数组来维护即可。「雅礼集训2017Day4」洗衣服有一个做法是分别处理洗完每件衣服的最少时间\(a_i\),和烘......
  • SS241031C. 博弈(game)
    SS241031C.博弈(game)题意博弈的规则是,有\(3\)个数字\(x,y,z\),每次可以选择其中两个数字\(x,y\),改成\(x',y'\),满足和不变差严格变小,即\(x+y=x'+y',|x-y|>|x'-y'|\)。无法操作的失败。给你\(n\)个数字,问有多少种选\(3\)个数字的方案使得先手必胜。solution首先可以设......
  • CTF 练习场
    rar由题目可知该文件为加密的压缩包,并且只需破解即可获取flag下载解压得到加密的压缩包可以用ARCHPR工具对其暴力破解由题目可知密码为4位数字,故先设置暴力破解范围打开文件即可开始破解破解后得到密码为8795解压后即可获得flag......
  • CTF 练习场
    ###wireshark由题目可知需要通过wireshark进行流量包分析下载后得到的pcap文件可用wireshark直接打开通过输入httpcontains“flag”来过滤出所有包含“flag”的HTTP包过滤出符合条件的包后,通过追踪流查看包的内容查找flag即可发现flag......
  • AI预测福彩3D采取888=3策略+和值012路或胆码测试10月31日新模型预测第126弹
            经过100多期的测试,当然有很多彩友也一直在观察我每天发的预测结果,得到了一个非常有价值的信息,那就是9码定位的命中率非常高,100多期一共只错了12次,这给喜欢打私房菜的朋友提供了极高价值的预测结果~当然了,大部分菜友还是走的正常渠道,因此,得想办法进行缩水,尽可能......