首页 > 编程语言 >第九届中国大学生程序设计竞赛 深圳站(CCPC 2023 Shenzhen Site)/ The 2nd Universal Cup. Stage 25: Shenzhen

第九届中国大学生程序设计竞赛 深圳站(CCPC 2023 Shenzhen Site)/ The 2nd Universal Cup. Stage 25: Shenzhen

时间:2024-10-25 18:59:34浏览次数:8  
标签:25 题意 Cup 最大值 叶子 序列 Theta 节点 Shenzhen

D. Bot Brothers

题意:有一棵 \(n\) 个点的树,\(m\) 个叶子,编号为 \(1 \sim m\)。两人在树上博弈,均从根出发,轮流行动,每次走向一个当前所在节点的子节点,如果在叶子就不移动。最终如果两人所在叶子编号一个是另一个 \(+1\)( \(\pmod m\) 意义下),则 \(+1\) 的一方获胜。

观察到先手不可能胜利,因为后手可以和先手走一样的路。那么只需要判断先手是否能到平局即可,设 \(f_u\) 为 \(u\) 子树中所有叶子节点的集合,\(g_u\) 为 \(u\) 子树中所有叶子节点 \(+1\)(若是 \(m\) 则为 \(1\))的集合。设先手当前在 \(x\),后手当前在 \(y\),若 \(f_y\) 不包含 \(g_x\),那么 \(x\) 可以一直走到那个不在 \(f_y\) 出现的节点,所以后手要保证每次走完之后 \(f_y\) 都要包含 \(g_x\)。

所以可以直接模拟 \((x,y)\) 的过程,\(dfs(x)\) 的时候顺便记录当前 \(y\) 的值,然后往下走的时候 \(y\) 要走到一个 \(lca(g_{x'})\) 的祖先上,那么看看 \(y\) 是不是 \(lca(g_{x'})\) 的祖先即可(记得特判 \(|g_x' =1|\) 可以不移动。

复杂度 \(\Theta(n\log n)\)。

E. Two in One

题意:有一个长度为 \(n\) 的序列,找到一个区间和两种颜色使得两种颜色出现次数的二进制或最大。

若只选一个颜色肯定选 \([1,n]\) 和其中出现最多次数的区间。选两个的话,直觉告诉我们最大值肯定必选,此时看看第二个选什么,若最大值最高位是 \(t\),且存在一个其他颜色的最高位也是 \(t\),那么答案肯定可以取到 \(2^{t+1} - 1\),因为我们可以每次把区间缩减一个,当其中一个颜色出现次数 \(<2^t\) 时停止。

考虑拓展这个结论,那么就是找到两个数 \(x, y\),使得 \(x | y | highbit(x\& y)\) 最大,证明与上面类似,显然取最大和次大。

复杂度 \(\Theta(n+\log V)\)。

K. Quad Kingdoms Chess

题意:给定两个军棋序列,每次两个人取出序列首部连个数,若相同同时删掉,否则小的那个删掉。判断最终结果是否为平局,支持动态单点修改。

首先观察不带修改怎么做。发现肯定先看两个序列第一次出现的最大值,它们必须得相同,否则不可能平局,然后设它们在第一个、第二个序列第一次出现位置分别是 \(x,y\),则 \(a[1,x]\) 和 \(b[1,y]\) 可以一起删除,然后就转移到了一个子问题。

那么平局的充要条件就是把每个序列的 \(suf_i\) 为后缀最大值求出来,把所有 \(c_i = suf_i\) 的 \(c_i\) 取出来,两个序列的这个可重集合要相等,那么直接上哈希即可。

考虑单点修改,考虑套路地上线段树,合并左右子树的时候可能左边部分有一部分后缀是小于右边最大值的,所以可以参考 楼房重建 的套路,单侧递归求得所需部分。

复杂度 \(\Theta((n+q)\log^2 n)\)。

L. Rooted Tree

题意:给定一个节点,\(k\) 次每次随机选择一个叶节点往下面塞 \(m\) 个新节点,问所有节点深度总和的期望。

考虑期望的线性性,可以对每次操作新加的节点独立计算贡献。设第 \(i\) 次操作后叶子节点个数是 \(cnt_i\),叶子节点的深度期望是 \(f_i\),那么第 \(i\) 次新加的节点期望深度和就是 \((f_{i-1} + 1) \times m\),并且 \(f_{i} = \dfrac{f_{i - 1} \times cnt_{i-1} + (f_{i-1} + 1) \times m}{cnt_i}\),显然 \(cnt_i = i \cdot (m-1)+1\)。

复杂度 \(\Theta(k)\)。

M. 3 Sum

题意:给定 \(n\) 个大整数,求 \(a_i + a_j + a_k \equiv 0 \pmod{M},M=10^k - 1\) 的 \((i,j,k)\) 个数。

显然可以先让每个 \(a_i\) 对 \(M\) 取模,然后找到 \(a'_i + a'_j + a'_k = 0,M,2M\) 的个数即可。后面这个显然可以使用 hash 来解决,多用几个模数判断就行。

对 \(M\) 取模时,由于 \(M=10^k - 1\),那么 \(10^k \equiv 1 \pmod{M}\),可以除以 \(10^k\) 然后加上这个商继续除,显然不会超过 \(\Theta(bit)\) 次。

标签:25,题意,Cup,最大值,叶子,序列,Theta,节点,Shenzhen
From: https://www.cnblogs.com/MiniLong/p/18503100

相关文章

  • 2024 年 MathorCup 数学应用挑战赛——大数据竞赛 赛道 A:台风的分类与预测 思路和代码
                       问题1:台风分类模型问题2:台风路径预测模型问题3:台风登陆后降水量与风速关系模型总结该题目分为三个主要问题,分别要求构建台风的分类模型、路径预测模型和降水风速模型。为了完成此任务,我们将运用大数据分析和机器学习建模技术,并......
  • 2024 年 MathorCup 数学应用挑战赛——大数据竞赛 赛道 B:电商品类货量预测及品类分仓
    2024年所有数学建模类比赛的个人思路和代码都会发布到专栏内,会结合最新的chatgpt发布思路,开赛一天后恢复原价99,不代写论文,不回复私信.没有群,只需订阅一次目录问题分析与解决思路问题1:货量预测模型问题2:一品一仓分仓规划问题3:一品多仓分仓规划总结这类大数据竞赛......
  • 【2024-10-25】大方面对
    20:00我们无须再害怕自己和他人的分歧,矛盾和问题,因为即使星星有时也会碰在一起,形成新的世界,今天我明白,这就是“生命”!                                                 ......
  • 10月25日记录(《代码大全》(第二版)阅读笔记)
    精读笔记:《代码大全》(第二版)《代码大全》第二版是软件开发领域的经典之作,涵盖了从编程基础到复杂系统设计的各个方面。本书的核心目标是帮助开发者编写出高质量、易于维护的代码。通过详细阐述编程过程中的各种技术、方法和最佳实践,作者史蒂夫·迈克康奈尔为读者提供了丰富的知识......
  • 【10-25模拟赛】
    你有\(n\)个正整数\(a_1,a_2,\cdots,a_n\),它们的和是\(m\)。你想对他们的每个子集\(S\),求出它们的和。现在你得到了\(2^n\)个\([0,m]\)之间的和,其中数字\(i\)出现了\(b\)次。现在给出数组\(b\),请还原\(a\)数组。显然,最小的满足\(b_i>0\)的\(i\)肯定在......
  • 20222326 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容实验具体内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件veil,加壳工具使用C+shellcode编程通过组合应用各种技术实现恶意代码免杀用另一电脑实测,在杀软开启的情况下,可......
  • 针对灵活性进行优化的FPGA ,推出AGFC023R25A1I1V AGFC023R24C3E3V AGFC023R24C3E4X AGF
    产品简介Agilex™7F-系列设备是基于英特尔10纳米SuperFin制程技术构建的常规用途FPGA。它们是许多市场中的一系列应用的理想选择,其特性包括高达58Gbps的收发器速率、支持多种精度的定点和浮点运算的高级数字信号处理(DSP)模块,以及高性能加密块。优势•第二代英特尔......
  • 题解:SP25334 NPC2015A - Eefun Guessing Words
    涉及知识点:字符串处理。解题思路记录每个字符出现的第$1$个位置和最后$1$个位置,询问时比较大小即可。代码#include<bits/stdc++.h>//#defineintlonglong#definell__int128#definedbdouble#defineldblongdouble#definevovoid#defineendl'\n'#defin......
  • 杂题随笔 2024.10.25 两道图论
    最近在写abc375这场,最后的F和G是两道很典的图论题。https://atcoder.jp/contests/abc375/tasks/abc375_f题意:大致就是说给你一张图,有两种操作:第一种操作是把第i条边删掉,第二种操作是询问u,v两点的最短路。解法:这种题目印象里好像是考过几次了,把在线询问的顺序转变,倒着做,把减边......
  • SI3933低频唤醒无线接收器 超低功耗125K芯片替代AS3933
    Si3933是一款三通道的低功耗ASK接收机,可用于检测15KH2-150KHz低频载波频率的数字信号,并产生唤醒信号。内部集成的校验器用于检测16位或32位曼彻斯特编码的唤醒向量,且支持两次重复的向量校验。Si3933可以使用一个、两个或者三个通道工作,每个通道都具有频率检测功能和数字RSSI计算......