会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
LegendStane
"We choose to go to the Moon."
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2022年12月31日
Codeforces Good Bye 2022 CF 1770 A~E 题解
摘要: 题目链接 A. Koxia and Whiteboards 注意每一步替换操作都是强制的,而不是可选的。所以就用一个multiset维护所有的数,每次选一个最小的替换掉即可。 时间复杂度$O(nlogn)$。 点击查看代码 #include <bits/stdc++.h> #define rep(i
阅读全文
posted @ 2022-12-31 14:59 LegendStane
阅读(243)
评论(0)
推荐(0)
2022年12月30日
HDU 6801 Game on a Circle 题解 (推式子,多项式)
摘要: 题目链接 首先注意到我们对这个环的扫描是一轮一轮进行的,每轮都会从左到右对每个没被删除的元素以p的概率删除。如果我们能对每个$t(t\in [0,\infin],t是整数)和i$求出c号点在第$t+1$轮被删掉,且是第i个被删除的元素,那么就能求出答案了。不幸的是我们不能枚举所有的t。但是不管怎么样
阅读全文
posted @ 2022-12-30 22:26 LegendStane
阅读(93)
评论(0)
推荐(0)
2022年12月29日
Codeforces 1336 F Journey 题解 (毒瘤数据结构)
摘要: 题目链接 这题的方法口糊一下没有很难,没达到3500的水准。但是写起来才发现是真的恶心(主要是容易写错),没写过这么累的题,可能难度就体现在这里吧。 计数的时候是要分类讨论的,但是核心算法都一样:启发式合并,线段树合并。把$m^2$对路径分成以下三类,分别统计合法的: 两条路径的LCA不同(路径的L
阅读全文
posted @ 2022-12-29 21:10 LegendStane
阅读(68)
评论(0)
推荐(0)
2022年12月28日
LOJ 6041 「雅礼集训 2017 Day7」事情的相似度 题解 (SAM+启发式合并)
摘要: 题目链接 首先很容易想到的是对反串求SA和LCP,然后询问就是求起点在某个区间内的所有后缀两两LCP的最大值,可以用莫队解决,时间复杂度$O(n\sqrt n logn)$,应该是过不了的。 考虑对原串求SAM,两个前缀的最长公共后缀(用LCS表示)其实就是它们在parent tree上对应节点的L
阅读全文
posted @ 2022-12-28 14:40 LegendStane
阅读(54)
评论(0)
推荐(0)
2022年12月27日
Atcoder Grand Contest AGC 060 D Same Descent Set 题解 (容斥,多项式)
摘要: 题目链接 计数技巧大杂烩,好题 先来定义一下"间隔",间隔指的是两个相邻的数之间的大小关系,有两种状态,上坡和下坡,分别指的是$p_i<p_{i+1}$和$p_i>p_{i+1}$。这题要求的就是长度为$n$的间隔序列相同的排列对(a,b)的个数。 先考虑这样一个问题:在间隔序列确定的情况下有多少不
阅读全文
posted @ 2022-12-27 16:55 LegendStane
阅读(231)
评论(0)
推荐(0)
2022年12月26日
Atcoder Beginner Contest ABC 283 Ex Popcount Sum 题解 (类欧几里得算法)
摘要: 题目链接 令$p=\lfloor\frac{n-r}m\rfloor$,则我们其实是要对所有$0\le i \le 29$求$\sum_{j=0}^p (\lfloor \frac{mj+r}{2^i}\rfloor mod \ 2)$。右边那个东西如果没有那个$mod\ 2$,其实就是类欧几里得算
阅读全文
posted @ 2022-12-26 21:57 LegendStane
阅读(71)
评论(0)
推荐(0)
2022年12月25日
Codeforces 983 D Arkady and Rectangles 题解
摘要: 题目链接 挺有意思的数据结构题,题面看着像个板子,其实还是有不少学问的。 平面上一堆矩形的题目常见套路就是对$x$轴扫描线,$y$轴线段树维护,这题也不例外。我们先对坐标离散化。题目中输入的是坐标系中的顶点的坐标,为了方便维护,我们需要转换成"格子"的坐标。注意,是先离散化再转换,如果先转换再离散化
阅读全文
posted @ 2022-12-25 21:54 LegendStane
阅读(38)
评论(0)
推荐(0)
2022年12月24日
Codeforces 1097 G Vladislav and a Great Legend 题解 (DP)
摘要: 题目链接 思路 首先看到这种求$x^k$形式的,直接无脑转下降幂:$x^k=\sum_{i=1}^k S2(k,i)\cdot x^{\underline{i}}$,其中$S2$表示第二类斯特林数,$x^{\underline i}$表示$x\cdot(x-1)\cdots(x-i+1)$。这是一个
阅读全文
posted @ 2022-12-24 11:21 LegendStane
阅读(35)
评论(0)
推荐(0)
2022年12月23日
Codeforces 1630 E Expected Components 题解 (组合数学)
摘要: 题目链接 首先明确概念: 排列。指的就是一个把数组a重排得到的序列,两个排列相等当且仅当它们对应位全都相等 环形排列。指的是把数组a重排得到的序列首尾相接得到的环形数组,两个环形排列相等当且仅当它们通过位移能够变得对应位全部相等 这题其实是要对所有不同的环形排列,求其中连续相同的数构成的连通块个数的
阅读全文
posted @ 2022-12-23 14:25 LegendStane
阅读(45)
评论(0)
推荐(0)
2022年12月22日
Codeforces 1654 G Snowy Mountain 题解 (重心分治)
摘要: 题目链接 假设现在起点已经确定,我们观察从这个起点开始能走的最长路径长什么样。把这条最长路径中所有的非平地路径拿出来,它们肯定连成一线,因为不允许上坡;而一条路径重复走的情况只可能是在几个连续的平地那里来回走。所以路径的形状是一条主链(链上的边可以是下坡或者平地),上面挂着一些平地组成的环。由于图是
阅读全文
posted @ 2022-12-22 22:08 LegendStane
阅读(36)
评论(0)
推荐(0)
2022年12月21日
洛谷 P5401 [CTS 2019] 珍珠 题解
摘要: 题目链接 令$c_i$表示第i种颜色的珍珠的数量,显然我们最多能装的瓶数是$\sum \lfloor \frac {c_i}2 \rfloor$。也就是说,$c_i$为奇数的$i$的数量不能太多,这个数量要在某个范围内才行,且这个范围是很好求的。考虑对每个n求出$f_n$表示刚好有n个$c_i$为奇
阅读全文
posted @ 2022-12-21 20:55 LegendStane
阅读(60)
评论(0)
推荐(0)
2022年12月20日
Codeforces 1763 F Edge Queries 题解
摘要: 题目链接 先观察满足题目中给出的限制的图有什么特点。先看$C_u$,它指的是所有与$u$在同一个简单环内的节点。发现一个点v在$C_u$中,当且仅当$u,v$点双连通。关于点双连通的判断。首先必要性是显然的,不点双连通显然不行。至于充分性,可以把$u$作为根跑出dfs树,根据上面点双连通的判断方法,
阅读全文
posted @ 2022-12-20 21:40 LegendStane
阅读(57)
评论(0)
推荐(0)
2022年12月19日
JAG Spring Contest 2012 G PLAY in BASIC 题解
摘要: 提交链接 其实就是个大模拟。首先对输入的串进行处理,把所有的命令分开,并把连续的停顿合并。为了方便,定义一个时间单位为全音符的$\frac 1{128}$,这样所有命令的持续时间都是整数个时间单位。然后就可以dp了,$dp_{i,j,k}$表示处理到第i个命令,当前八度为j,当前默认时长为k的最优解
阅读全文
posted @ 2022-12-19 14:42 LegendStane
阅读(77)
评论(0)
推荐(0)
洛谷 P6580 [Ynoi 2019] 美好的每一天~ 不连续的存在 题解
摘要: 既然是YNOI那肯定是要分块的。先考虑树是一条链的情况,可以直接回滚莫队,对n个节点组成的序列分块。在回滚莫队的过程中,当前维护的区间一共会扩展$O(n\sqrt n)$次,每次都是合并了恰好2个连通块。可以用线段树合并对每个连通块维护其中颜色的奇偶性。注意到每次合并,都有其中一个连通块的大小是1,
阅读全文
posted @ 2022-12-19 14:38 LegendStane
阅读(142)
评论(0)
推荐(0)
2022年12月18日
Codeforces Polynomial Round 2022 (Div.1 + Div.2) CF 1774 题解
摘要: A. Add Plus Minus Sign 如果有偶数个1,显然可以通过加减各一半的方式达到和为0;否则可以达到和为1。需要注意如果序列的第一个数是1,则它的前面只能填加号。 时间复杂度$O(n)$。 点击查看代码 #include <bits/stdc++.h> #define rep(i,n)
阅读全文
posted @ 2022-12-18 19:19 LegendStane
阅读(295)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告