lnyx
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链

AGC026E Synchronized Subsequence

首先分析性质 我们将配对的 i,ji,ji,j 当成区间 [i,j][i,j][i,j],容易发现区间一定没有包含,因为如果存在 i≤x≤y≤ji \le x \le y \le ji≤x≤y≤j, i,ji,ji,j 配对,x,yx,yx,y 配对是不合法的,应该为 i,yi,yi,y 配对, x,jx,jx,j 配对。 我们还可以发现对于每个连通块(这里联通块的定义为如果区间有交则连边后的连通
2023-10-09
题解
#性质

线头 dp

感觉挺神奇的。 不知道该写什么,不如直接看题。 loj #2687. 「BalticOI 2013」Vim 首先可以发现删掉在位置 iii 的 e 有且仅有一种方式,就是走到 i+1i+1i+1 并花费 111 的代价走到 iii,再花费 111 的代价把 e 删掉,最后光标再次回到原来的 i+1i+1i+1。 所以我们可以直接把题意转化成: 给定一个字符串和一个集合,你可以在上面移动(移动规则
2023-09-14
学习笔记
#dp

CF1608F MEX counting

题目链接 感觉是真的 👍。 首先肯定是个计数。 简单的转化一下题目中给的条件,将 ai​a_i​ai​​ 转化成前 i​i​i​ 个数的 MEX​MEX​MEX​ 在 [max⁡(0,ai−k),min⁡(n,ai+k)]​[\max(0,a_i-k),\min(n,a_i+k)]​[max(0,ai​−k),min(n,ai​+k)]​ 内,不难发现这个跟原题是等价的。 发现这个 MEXMEX
2023-09-13
题解
#计数 #dp

贪心

根本不会贪心 🤡,比赛里根本做不出来。🤡👈🤣 洛谷 P4105 [HEOI2014] 南园满地堆轻絮 以后见到这种排序类的题一定要往逆序对方向想。 结论:答案为 ⌈Δ2⌉​\lceil \frac{\Delta}{2}\rceil​⌈2Δ​⌉​,其中 Δ​\Delta​Δ​ 为值相差最大的逆序对。 考虑这个玩意为什么对,首先设 mid​mid​mid​ 为 ⌊ai+aj2⌋​\lflo
2023-08-30
做题记录
#贪心

假期做的串串

这个假期好像还是做了点能写出来的题的。 代码合集 洛谷 P3546 [POI2012] PRE-Prefixuffix CF1654F Minimal String Xoration CF356E Xenia and String Problem 洛谷 P7361 「JZOI-1」拜神 SPOJ 687 REPEATS - Repeats 洛谷 P5115 Check,Check,Check o
2023-08-29
做题记录
#字符串

zzq 题目选做

真 成 🤡 了 ! 洛谷 P3672 小清新签到题 拿到这个题后发现只能想到计数来构造,好像没有其他方法喵~。😿 考虑设一个最暴力的 dpdpdp,设 fi,jf_{i,j}fi,j​ 表示考虑一个长度为 iii 的排列,有 jjj 个逆序对的方案数,因为我们填排列是从前往后填数,所以 dpdpdp 应该从后往前转移,这样在我考虑第 iii 位时我能快速知道第 iii 位填 xxx ,后面随便
2023-08-29
杂题
#杂题

空间 O(n) 的神奇线段树合并

这玩意是真👍,我只能拜谢 gk4000plus! 直接说怎么做吧,不然不会引入了🤡👈🤣 做法:在有垃圾回收的基础上,每个点合并时,先将重儿子合并上来,然后再将轻儿子合并上来,最后将这个点上面的操作加进来。(这里的 size 是按操作数计算的) 证明:皎月半洒花:“信息竞赛懂得都懂。” 下面以单点修改距离,区间修改是本质相同的 因为重儿子的值会直接被父亲的值继承上去,所以其实是只有链顶才会临
2023-08-27
优化
#线段树合并 #树剖

骨牌相关

🥰🥰🥰 今天做了两道骨牌题,感觉有点强,所以来摆了。😼😼😼 首先,骨牌是什么? 我也不知道 在题目里面好像就是一个大小为 1×21\times21×2 的棋子( 有什么性质? 好像涉及骨牌的题还不少,比如说统计棋盘内放 xxx 个骨牌的方案数,因为是 1×21\times 21×2 的,所以直接状压有哪些位置突出来了就好了,当然也可以轮廓线( 以上均为口胡,不保证正确性😅😅😅 但
2023-08-26
知识总结
#骨牌

Boruvka 相关

Boruvka 确实有用喵~ 😎😎😎 UOJ#661. 【IOI2021】keys 首先对于每个点可以 O(m) bfsO(m)\ bfsO(m) bfs 出点 SSS 能到达多少点,但是我连这个都没想出来 🤡👈🤣 具体而言就是开一个 pointi​point_i​pointi​​ 数组表示如果我有了类型 i​i​i​ 的钥匙我能立刻到达哪里,对于每一个取出队头的点,假设他的钥匙为 x
2023-08-18
#Boruvka

Boruvka 求最小生成树

这玩意好像还是有点用的,主要是思想可以学习一下,而且好像有的题也只能用它。 原理: 一开始将每个点都看成一个集合,每次遍历找到每个集合和其他集合连边的边的最小值,然后枚举这些边,若左右端点不在同一个集合中,将这两个集合合并,重复操作至不能操作,最后就能求出最小生成树。 正确性: 应该是和 kruskal 一样的。 复杂度证明: 因为一条边只有两个端点,所以一条边最多属于两个集合,所以设有 x​x​
2023-08-18
#Boruvka
123

搜索

Hexo Fluid