首页 > 其他分享 >CSP模拟赛 #44

CSP模拟赛 #44

时间:2024-10-24 16:31:58浏览次数:1  
标签:dots 10 le 后缀 44 CSP 最大值 模拟

2024 最后一场 CSP 模拟赛。

A

给定 \(x,k\),求最小的 \(y\) 满足 \(y\ge x\) 且除了 \(k\) 个数位,其他数位均相同。

\(1\le n\le 10^{17}, \ 0\le k\le 1\)

暴力枚举。

B

给定 \(n\) 个三元组 \((a_1,b_1,c_1), \dots (a_n, b_n, c_n)\),每个数 \(\in [0, 9]\)。求有多少种排列三元组方案,设 \(A,B,C\) 为对应 \(a_{1\dots n},b_{1\dots n},c_{1\dots n}\) 依次连接起来的结果,满足 \(A,B,C\) 无前导零且 \(A + B = C\),答案模 \(10^9 + 7\)。

\(2\le n\le 2\times 10^5\)

考虑 \((a_i, b_i, c_i)\),设 \(p_i\) 为其是否需要前一位进 \(1\),\(q_i\) 为是否向下一位进 \(1\)。连边 \(p_i\to q_i\),相当于求欧拉回路数量。由于不能有前导零,枚举最后一条经过的边即可。

C

一个由 \(\mathtt {abc}\) 组成的长度为 \(n\) 的字符串 \(s\),求有多少对二元组 \((i, j)\) 满足 \(i < j\) 且交换 \(s_i,s_j\) 后可以通过 CSP-S2023 消消乐 的方法消除整个字符串。

考虑分治,设当前分治区间为 \([l, r]\),中点为 \(m\),统计 \(i\in [l, m], \ j \in [m + 1, r]\) 的二元组对数。

选择了 \(i,j\),我们设 \(h_i,\ h_j\) 分别为 \([1, m]\) 和 \([m + 1, n]\) 在交换后的栈的哈希值,那么需要统计 \(h_i = h_j\) 的对数。

栈有可撤销性,考虑将 \([m + 1, r]\) 加入后缀栈后分治 \([l, m]\),右边同理。合并两个栈时,考虑二分 lcp 长度,合并哈希值。

时间复杂度 \(\mathcal O(n\log n)\)。

D

一个环形排列,从中砍 \(k\) 刀,求每段的 \(\max(\text{前缀最大值个数}, \text{后缀最大值个数})\) 之和最大是多少。

\(1\le k\le n\le 6\times 10^5\)

首先断环为链,钦定最大值所在段取的是后缀最大值,那么把最大值排在第一个位置,然后任意留最后一段陪葬。

设 \(f_{i, j}\) 表示前 \(j\) 个数分 \(i\) 段的答案,考虑优化。设 \(p_i, \ q_i\) 表示 \(a_i\) 左右和右边第一个比他大的数的位置。

那么 \(f_{i, j} = \max\limits{k\le i} \{f_{i - 1, k - 1} + \max(\sum\limits_{x = k} ^ j [k > p_x], \sum\limits_{x = k} ^ j [i < q_x])\}\),显然可以线段树优化。

发现维护的形式是:后缀 \(+1\),末尾加入一个数,求全局最大值。考虑设 \(c_k\) 为 \([k, i]\) 的最大值,维护 \(c\) 的差分数组,用并查集找到上一个差分数组中的非零位置。

标签:dots,10,le,后缀,44,CSP,最大值,模拟
From: https://www.cnblogs.com/Sktn0089/p/18499874

相关文章

  • 2024/10/24 模拟赛总结
    \(100+60+60+40=260\),这种信心赛没AK我真的要退役了#A.长方体喜欢写线段树和ST表的小朋友们你们好呀,我是前后缀\(\min/\max\)奥特曼对于\(n\)个长方体的交,显然就是最靠右的左面、最靠左的右面、最靠上的下面……组成的长方体枚举一个不存在的长方体接下来考虑容斥,对......
  • 使用Selenium时,如何模拟正常用户行为?
    Selenium作为自动化测试和网页数据抓取的利器,被广泛应用于自动化网页交互、爬虫开发等领域。然而,随着网站反爬虫技术的不断升级,简单的自动化脚本很容易被识别和阻止。因此,模拟正常用户行为,降低被检测的风险,成为Selenium使用者必须掌握的技能。本文将详细介绍如何使用Seleni......
  • PFC离散元数值模拟仿真技术与应用
    随着计算能力的提高和算法的优化,离散元仿真技术得到了快速发展,并在学术界产生了大量研究成果。在PFC离散元计算中无需给定材料的宏观本构关系和对应的参数,这些传统的参数和力学特性在程序中可以自动得到。据调查,运用PFC离散元仿真技术工具近几年发表的论文主要集中在以下几个方......
  • 【10-24模拟赛T1】Alice 和璀璨花
    著名的植物学家Alice经过多年的探索,终于找到了传说中的璀璨花。璀璨花的生长速度非常迅猛,如果不加以合适的控制,璀璨花会因为过度内耗而死亡。璀璨花的生长趋势可以用序列\(a\)表示,Alice在研读前人对璀璨花的研究后总结出了一个控制序列\(b\)。Alice需要让璀璨花的生长趋势......
  • P5661 [CSP-J2019] 公交换乘 题解
    模拟"公交换乘"按题意模拟即可.注意:可以使用结构体,但是超过时间的优惠券需要被忽略.代码#include<iostream>#include<cstdio>usingnamespacestd;structnode{ intprice,deadline,is_use;//价格,截止时间,是否使用过}a[100005];intn,p,ans,pos=1;int......
  • P5662 [CSP-J2019] 纪念品 题解
    背包因为小伟可以每天进行$2$种操作无限次,所以显然可以使用完全背包.定义状态$f_i$,表示还剩下$i$时,可以拿到钱的最大值.再假设小伟今天买了,明天就卖掉.状态转移方程如下:$f_i=max(f_i,f_{i-p_{k,i}}+p_{k+1,i}-p_{k,i}).$即今天花掉的钱+明天能拿的钱-今天花掉的......
  • P5663 [CSP-J2019] 加工零件 题解
    最短路对于上图,如果我们相知道$2$号工人想要一个$3$阶段的零件,其实是看$2$到$1$有没有一条长度为$3$的路径.但如果要求$4$阶段的路径,那就不一定了.所以我们直接求一遍最短路,分奇最短路和偶最短路.处理完后,最后一次$\Theta(1)$的回答,如果路径长度过大,就是$No$,......
  • CSP-S 考前做题
    P11218首先还是博弈论题要么打表找规律要么dp。然后注意到\(2\timesn\)网格这个东西非常典,状态数很少,可以状压。首先我们做一点观察:不难发现\(11\)一定全选,\(00\)可以选一个,然后\(01\)可以选两个然后没贡献,这样他就没法换,跑一遍最大子段和。然后注意到他换只能换......
  • 【真题研究】CSP-S2020
    [CSP-S2020]儒略日大模拟。可以将时间分为\(4\)个部分:\(-4713.1.1\)至\(-1.12.31\)\(1.1.1\)至\(1582.10.4\)\(1582.10.5\)至\(1582.10.14\)\(1582.10.15\)至无穷大体可分为公元前(儒略历),公元后儒略历,公元后格里高利历。如果\(x\le1721424\),说明是公元前儒略......
  • 2024/10/23 模拟赛总结
    赛时情况以下是赛时写的。14:10好像当\(n\lem\)时的答案是\(2^n\)。14:20当\(m=2\)时,答案的差值是一个等差数列。答案为\(\dfrac{n(n+1)}{2}+1\)。小样例:\(n=4,m=3\)答案为\(15\)。14:50T1不会啊,润。发现如果你会惹老师生气,干脆直接不写。所以变成了选若干科......