首页 > 其他分享 >#21 2024.4.22

#21 2024.4.22

时间:2024-04-25 10:23:47浏览次数:23  
标签:数数 2024.4 21 22 贡献 端点 alpha 考虑 log

796. loj4130 「PA 2024」Splatanie ciągów

假装 \(f(A,B)\) 怎么求大家都知道。怎么数数呢?怎么数数呢?怎么数数呢?怎么数数呢?怎么数数呢?

先把串变形成一堆连续的 < > 序列,我们只关心连续段大小。计算 \(|A|\geq |B|\) 的贡献。考虑枚举 \(f(A,B) \leq x\),套一层分治,计算跨过 \((mid,mid+1)\) 的贡献。发现两边贡献给 \(f(A,B)\) 的东西独立,各是一堆区间。枚举出这些区间,考虑暴力计算。为了方便,可以把 \(m - \text {端点}\) 扔到另一边的端点集合里。

对于左边贡献为 \(i\) 长为 \(l\),右边贡献为 \(j\) 长为 \(r\),贡献大概是一个 \(g(l,\min(r,m))\) 的形式。那么考虑速通左侧一整个段的贡献。对于右边的一个前缀,贡献是 \(g(l,r)\)。对于右边的一个后缀,贡献是 \(g(l,m)\)。推式子嗯造。对于右边中间的那部分,贡献比较神秘。注意到两段长度相等,所以简单推推式子肯定也能做。

综上就以 \(O(n \log n \ln n)\) 的垃圾复杂度解决了这个题。

单 log 狗都不学。

797. loj6777 「2021 营员交流」大毒瘤

798. qoj1223 Petrozavodsk Winter 2023. Day 7: Gennady Korotkevich Contest 7

799. qoj8227

800. qoj8228 排序

不知不觉编号上 800 了!

801. qoj8229

802. qoj1475 The 2nd Universal Cup. Stage 18: Dolgoprudny

A

不知道写啥,就写个 A 吧!

我看到这个题的时候非常震撼,因为模拟赛出过一样的题,但是那题 \(n = 100\)。我一看 \(10^7\) 吓了一跳,我得坐起来跟他打

模拟赛的时候我还完全不懂流,所以对那个图没啥办法,只懂分治匈牙利,造出了一个 \(O(nm^2 \log m)\) 的垃圾玩意。现在?大概懂了一点吧。

但是我还是不懂怎么不换根。算了别懂了。

803. qoj1009 Petrozavodsk Summer 2022. Day 2. ZJU Contest 1

I

来写个我的做法。

考虑如何 \(cmp(x,y)\)。

把 \(x,y\) 后续的第一次出现的字符的位置集合拿出来,切成 \(O(|\sum|)\) 个段。每个段内部以及端点是独立的。如果哈希值不相等就进行 lcp。

总复杂度 \(O(n \log n |\sum|)\)。

B

题比较 sb。有意思的是求一个多边形的对称轴。

Z 函数那个做法我看不懂,有无大哥教教 /kel。

我们定义,一条合法的对称轴交多边形于某条边的中点或某个端点。假设是点。枚举这个点,如何判断这个多边形关于它对称呢?考虑一个类似双指针的方法,从这个点开始,往左往右每次 expand 一条边或者一个角,如果相等就继续,不等说明不对称。

形式化地,假设要判断 \(i\) 号点是否是对称轴端点,写出序列 \(\alpha_i,l_{i},\alpha_{i+1},l_{i+1},...,l_{(i-1)\bmod n},\alpha_i\),判断其是否回文即可。

使用任意字符串技巧都可。特别地,当多边形是凸的时,可以使用 \(cross(i-1,i)\) 代替 \(\alpha _{i}\)。

H

感觉是特别好的题。

首先你得会双极定向。前置知识是 https://www.cnblogs.com/yyyyxh/p/ear_decoposition_bipolar_orientation.htmlhttps://www.luogu.com.cn/article/dup8ri82 。虽然这个题 \(O(n^2)\) 的找出所有耳然后 relabel 的做法可以过,但是 \(O(n)\) 的双极定向很有意思,建议学一学。

然后考虑有拓扑序之后怎么构造方案。倒序构造,保证拓扑序在 \([i,n]\) 的导出子图合法。考虑加入第 \(i\) 个点。那么操作的意义大概是从子图里选一条链,整体往前拉一格,然后把 \(a_1\) 放到链尾。显然这条链链头是 \(i\),考虑不断往值最小的儿子扩展,直到最小的儿子权 \(< a_1\)。发现这特别牛,所以我们只需要 \(n-1\) 次操作。

804. loj3530 「APIO 2021」雨林跳跃

标签:数数,2024.4,21,22,贡献,端点,alpha,考虑,log
From: https://www.cnblogs.com/ZHANG-SHENG-HAO/p/18156997

相关文章

  • 洛谷 P8989 [北大集训 2021] 随机游走 题解
    前言又是随机游走?题目分析看到加边,可能性太多了。但是为了让步数最大化,我们可以贪心地想,肯定要往前面连,而且越前面要走的期望步数肯定越大。并且,我们不会浪费边在终点上。于是,题目转变成了\(1\simn-1\)连向起点\(1\)连若干条边,使得随机游走到终点的期望步数最大。那要......
  • 21. CheckPoint
    CheckPoint的作用缩短数据库的恢复时间数据库宕机恢复依赖redolog。当恢复时不需要重做所有日志,因为CheckPoint之前的页都已经刷盘,只需要对CheckPoint之后的日志进行恢复,从而缩短恢复时间缓冲池不够用时,将脏页刷新到磁盘当缓冲池不够时,LRU算法会溢出最近最少使用的页,若......
  • .NET周刊【4月第2期 2024-04-21】
    国内文章他来了他来了,.net开源智能家居之苹果HomeKit的c#原生sdk【Homekit.Net】1.0.0发布,快来打造你的私人智能家居吧https://www.cnblogs.com/hezp/p/18142099三合是一位不喜欢动态编程语言的开发者,对集成米家智能家居到苹果HomeKit的现有开源解决方案不满意。因为遇到了稳定......
  • P7914 [CSP-S 2021] 括号序列
    P7914[CSP-S2021]括号序列看起来非常复杂的括号题,看到数据范围,大概确定是区间dp,所以我们考虑怎么定义状态。条件非常多,所以二维的状态肯定表示不了,考虑多加一维来定义不同的状态。\(dp_{i,j,0}\):区间形式是***...***的方案数。\(dp_{i,j,1}\):区间形式是(...)的方案数......
  • P8866 [NOIP2022] 喵了个喵
    P8866[NOIP2022]喵了个喵构造模拟题,思路很简洁,但是代码不好写。首先看到数据范围,发现\(k\)的数据范围很特殊,种类少一种就是部分分,所以\(k\)一定是关键的,先思考\(k=2n-2\)的情况。\(k=2n-2\)观察两种操作,对于即将进入的牌\(x\),若某个栈顶或栈底有相同的\(x\),我们都可......
  • P7961 [NOIP2021] 数列
    P7961[NOIP2021]数列这题想了一半,后面有点不敢想结果直接看题解了。思考后发现,对于\(a_i\lex\),也就是二进制中第\(x\)位前的部分,它们都可能会影响到二进制中第\(x\)位后的进位,而\(a_i>x\)的部分是不会影响到\(x\)位前的进位的。所以为了满足无后效性,我们从低位向高......
  • 2024.4.22(周一)构建之法阅读笔记3
    第六章敏捷流程敏捷开发的原则是:1.尽早并持续地交付有价值的软件以满足顾客需求  2.敏捷流程欢迎需求的变化  3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短 4.业务人员和开发人员在项目开发过程中应该每天共同工作 5.以有进取心的人为项目核心,充分支持信......
  • 2024.4.18(周四)构建之法阅读笔记1
    第一章概论软件=程序+软件工程  软件企业=软件+商业模式  一个复杂的软件不但要有合理的软件架构、软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数等等,这些都是软件构建的过程。软件开发的不同阶段:1.玩具阶段 2.业余爱好阶段 3.探索......
  • 2024.4.19(周五)构建之法阅读笔记2
    第四章两人合作在代码规范方面,可以分为两个部分:代码风格规范和代码设计规范。代码风格规范主要是缩进、行宽、括号、断行与空白的{}行、分行、命名、下划线、大小写、注释等;建民老师上课主要强调的是缩进、命名和注释。在代码设计规范方面,主要是函数、goto错误处理、类处理等。......
  • 2024.4.21 模拟赛
    Aperm首先若\((i+j)\)为奇数则需要满足其中一个是奇数,另一个必须是偶数。若\(k=0\),那么要求\(A_i\)和\(A_j\)同号,也就是所有数必须都是同一奇偶性。若满足则答案为\(n!\),否则为\(0\)。若\(k=1\),那么要求\(A_i\)和\(A_j\)异号。奇下标位置为\(\lceil\frac{n......