自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cz_xuyixuan的博客

当我跨过沉沦的一切,向永恒开战的时候,你是我的军旗。

  • 博客(26)
  • 收藏
  • 关注

原创 【LOJ3161】「NOI2019」I 君的探险

【题目链接】点击打开链接【思路要点】以下是笔者在考场上的做法,与标准解法存在一定区别。首先我们可以先讨论一下 A,BA,BA,B 两类数据的做法。对于 AAA 类数据,对每个洞穴以 12\frac{1}{2}21​ 的概率进行操作,此后观察一遍所有的洞穴,将同色的洞穴归为一类,递归处理每一类即可。对于 BBB 类数据,我们本质上需要计算每个节点 iii 的父节点的位置。点亮...

2019-07-31 14:29:33 1512

原创 【LOJ3160】「NOI2019」斗主地

【题目链接】点击打开链接【思路要点】打表可得,若各个位置 iii 上权值的期望是关于 iii 的一 / 二次函数,则经过一次洗牌后,各个位置 iii 上权值的期望依然是关于 iii 的一 / 二次函数。暴力计算牌堆底的三项,然后插值即可。时间复杂度 O(M+Q)O(M+Q)O(M+Q) 。【代码】#include<bits/stdc++.h>using...

2019-07-31 14:06:30 702

原创 【LOJ3159】「NOI2019」弹跳

【题目链接】点击打开链接【思路要点】考虑模拟最短路算法的过程,需要维护一个二维点集,支持矩形 chkminchkminchkmin ,询问全局最小值,单点删除,并且不能占用过多空间。显然可以用 KD−TreeKD-TreeKD−Tree 解决。时间复杂度 O(MN)O(M\sqrt{N})O(MN​) ,空间复杂度 O(N)O(N)O(N) 。【代码】#includ...

2019-07-31 14:02:16 478

原创 【LOJ3158】「NOI2019」序列

【题目链接】点击打开链接【思路要点】笔者本题的做法是基于对决策点进行打表得到的,并不能给出严格的证明。但确实得到了一个与标准解法,或是模拟费用流解法完全不同的做法。考虑一个 O(N3)O(N^3)O(N3) 的动态规划,将数组按照 aia_iai​ 排序,那么一旦确定了 LLL 对都选的位置,剩余的 K−LK-LK−L 个选择 aia_iai​ 的位置一定是一个前缀。因此,我...

2019-07-31 13:58:28 1028

原创 【LOJ3157】「NOI2019」机器人

【题目链接】点击打开链接【思路要点】考虑最右侧的最大值所在的位置 iii ,则 iii 号位置的机器人一定会移动到边界,并且挡住其他经过的机器人,因此枚举 iii 的位置可以将问题分解为左右两个子问题分别处理。注意到 iii 可能的位置一定是靠近中点的,可能被访问到的区间数 MMM 不会是 O(N2)O(N^2)O(N2) 级别的,当 N≤300N\leq300N≤300 时,...

2019-07-31 13:40:28 1464

原创 【LOJ3156】「NOI2019」回家路线

【题目链接】点击打开链接【思路要点】按照每条边的 qiq_iqi​ 排序,则显然有 O(M2)O(M^2)O(M2) 的动态规划做法。将每一条边看做两个事件,一个在 pip_ipi​ 时刻的询问 dpdpdp 值的事件和一个在 qiq_iqi​ 时刻的插入 dpdpdp 值的事件,则我们只需要快速进行转移。注意到代价函数时关于时间距离的二次函数,且各项系数均非负,转移显然满足...

2019-07-31 13:23:19 485

原创 【校内训练2019-07-11】大水题

【思路要点】考虑没有修改的情况,建立 TTT 的 ACACAC 自动机,用线段树维护 SSS 。在线段树上维护从自动机上任意一点出发,经过区间中每一个字符后产生的匹配次数 cnkcnkcnk ,以及到达的节点 destdestdest ,合并该信息是 O(∑∣T∣)O(\sum|T|)O(∑∣T∣) 的。有修改时,我们需要能够对被赋值的区间快速计算所维护的区间。即我们需要快速计算形如 ...

2019-07-11 15:08:47 392

原创 【POJ3648】Wedding

【题目链接】点击打开链接【思路要点】需要输出方案的 2−SAT2-SAT2−SAT 问题模板题。时间复杂度 O(N+M)O(N+M)O(N+M) 。【代码】#include<cstdio>#include<vector>#include<algorithm>#include<cstring>#include&lt...

2019-07-09 20:41:44 303

原创 【校内训练2019-07-09】生成树

【思路要点】依次向图中加入 1,2,…,N(N−1)21,2,\dots,\frac{N(N-1)}{2}1,2,…,2N(N−1)​ ,则我们需要将当前的各个连通块的大小的可重集计入状态。时间复杂度 O(N2×f(N))O(N^2\times f(N))O(N2×f(N)) ,其中 f(N)f(N)f(N) 表示 NNN 的拆分数,当 N=40N=40N=40 ,有 f(N)=37338...

2019-07-09 14:40:31 258

原创 【校内训练2019-07-09】积性函数求和

【思路要点】所求的式子是约数和的形式,考虑枚举一个约数 iii ,计算其被算了多少次,则答案为∑i=1N∑j=1⌊Ni⌋[gcd(i,j)=1]i=∑i=1N∑j=1⌊Ni⌋∑g∣i,g∣jμ(g)i=∑g=1N∑i=1⌊Ng2⌋i⌊Ng2i⌋\sum_{i=1}^{N}\sum_{j=1}^{\lfloor\frac{N}{i}\rfloor}[gcd(i,j)=1]i\\=\sum_{...

2019-07-09 14:35:05 337

原创 【校内训练2019-07-09】探险队

【思路要点】考虑计算 fif_ifi​ 表示到达点 iii 后发现 iii 的一条邻边断开,最坏情况下到达 TTT 的的最短路。注意到图是无向图,可以从 TTT 出发建立一棵最短路树,则最坏情况显然是断开 iii 的父边的情况。枚举一条非树边 (x,y,w)(x,y,w)(x,y,w) ,则对于 x,yx,yx,y 路径上的一个非 Lca(x,y)Lca(x,y)Lca(x,y) 的点 ...

2019-07-09 14:23:05 371

原创 【校内训练2019-07-08】网格

【思路要点】首先,当 N,MN,MN,M 均为奇数,且给定的排列按先行后列的方式展开为一维后得到的排列为奇排列,问题无解,这是因为可以进行的任何操作不会改变这个排列的奇偶性。以下算法对所有不满足上述条件的排列给出了一组可行的构造。考虑 NNN 与 MMM 之中存在偶数的情况,不失一般性地,令 NNN 为偶数。我们可以较为简单地还原矩阵靠右侧的 N×(M−1)N\times(M-1)N×...

2019-07-08 14:50:49 310

原创 【校内训练2019-07-08】排序

【思路要点】记给定序列可以分成的最少的值域连续的上升子序列的个数 CntCntCnt ,则有Ans=⌈Log2Cnt⌉Ans=\lceil Log_2Cnt\rceilAns=⌈Log2​Cnt⌉不难发现这也是答案的下界,考虑如何构造。显然每次操作时,每一个上升子序列种的所有数或是同被操作,或是同不被操作。因此方案的构造与 N,N−1,N−2,…,1N,N-1,N-2,\dots,1...

2019-07-08 14:23:45 178

原创 【校内训练2019-07-08】串

【思路要点】将一组 S2[i],T2[i]S_2[i],T_2[i]S2​[i],T2​[i] 看做一条边 T2[i]→S2[i]T_2[i]\rightarrow S_2[i]T2​[i]→S2​[i] ,则使得 S1[i]S_1[i]S1​[i] 成为 T1[i]T_1[i]T1​[i] 的交换过程对应了一条 S1[i]S_1[i]S1​[i] 到 T1[i]T_1[i]T1​[i] 的...

2019-07-08 13:57:18 379

原创 【校内训练2019-07-06】分组游戏

【思路要点】考虑将数组排序,由大到小处理各个元素。在状态中计入还没有用过的元素个数 jjj ,在处理到 iii 时,首先将 aaa 数组中 iii 的个数计入 jjj ,然后枚举 iii 个为一组的组数转移即可。时间复杂度 O(N2LogN)O(N^2LogN)O(N2LogN) 。【代码】#include<bits/stdc++.h>using namespac...

2019-07-08 13:36:22 341

原创 【LOJ574】「LibreOJ NOI Round #2」黄金矿工

【题目链接】点击打开链接【思路要点】可参考 官方题解 。以下为笔者个人的见解,方便起见,下称矿工为老鼠,金矿为洞。我们可以对洞的权值加上深度,老鼠的权值减去深度,从而不需要考虑树的边权。考虑新加一只老鼠带来的影响,可能的结果有如下三种:(1)(1)(1) 、与一个尚未匹配的洞一起加入当前已经匹配的集合。(2)(2)(2) 、取代当前已经匹配的集合中的一只老鼠。(3)(...

2019-07-07 20:35:52 1302 1

原创 【LOJ575】「LibreOJ NOI Round #2」不等关系

【题目链接】点击打开链接【思路要点】见 官方题解 。(反正也是我写的)时间复杂度 O(NLog2N)O(NLog^2N)O(NLog2N) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 262144;const int P = 998244353;typedef l...

2019-07-07 20:03:40 1316

原创 【LOJ573】「LibreOJ NOI Round #2」单枪匹马

【题目链接】点击打开链接【思路要点】见 官方题解 。(反正也是我写的)时间复杂度 O(N+M)O(N+M)O(N+M) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 1e6 + 5;const int P = 998244353;typedef long long ...

2019-07-07 20:01:41 526

原创 【LOJ555】抢红包

【题目链接】点击打开链接【思路要点】考虑 M=0M=0M=0 的做法,记 P(x,y)P(x,y)P(x,y) 表示经过 (x,y)(x,y)(x,y) 的概率,也即 (x+yx)AyBx\binom{x+y}{x}A^yB^x(xx+y​)AyBx ,并记 Ft(x)=∑i=0tP(i,t−i)×xiF_t(x)=\sum_{i=0}^{t}P(i,t-i)\times x^i...

2019-07-06 16:32:43 406

原创 【LOJ138】类欧几里得算法

【题目链接】点击打开链接【思路要点】以下考虑实现函数 func(N,a,b,c)func(N,a,b,c)func(N,a,b,c) ,计算 0≤k1+k2≤100\leq k_1+k_2\leq100≤k1​+k2​≤10 的情况下所求式子的值,即∑i=0Nik1⌊ai+bc⌋k2\sum_{i=0}^{N}i^{k_1}\lfloor\frac{ai+b}{c}\rfloo...

2019-07-04 14:53:40 947 2

原创 【UOJ77】A + B Problem

【题目链接】点击打开链接【思路要点】最小割,考虑在为每个元素 iii 在源汇之间建点 pointi,0point_{i,0}pointi,0​ ,连边 (s,pointi,0,bi),(t,pointi,1,wi)(s,point_{i,0},b_i),(t,point_{i,1},w_i)(s,pointi,0​,bi​),(t,pointi,1​,wi​) ,此时的最小割即为...

2019-07-04 13:46:25 308

原创 【2019 江苏省队集训】Day2 解题报告

【T1】 朝夕相处【思路要点】记不考虑旋转同构的答案为 G(N)G(N)G(N),答案为F(N)F(N)F(N),由BurnsideBurnsideBurnside引理,有F(N)=∑i∣NG(i)φ(Ni)NF(N)=\frac{\sum_{i\mid N}G(i)\varphi(\frac{N}{i})}{N}F(N)=N∑i∣N​G(i)φ(iN​)​剩余问题在于计算 G(N)G(...

2019-07-03 13:30:13 948

原创 【2019 江苏省队集训】Day1 解题报告

【T1】 光影交错【思路要点】NNN 轮后仪式仍然进行的概率为 (1−p)N(1-p)^N(1−p)N ,当 p=10−5p=10^{-5}p=10−5 时,取 N&gt;107N&gt;10^7N>107 可以保证该概率在 10−2010^{-20}10−20 以内,因此忽略这部分情况不会导致精度要求不能接受的误差产生。记 f(i)f(i)f(i) 表示出现 ii...

2019-07-02 14:13:33 1378 1

原创 【省内训练2019-07-01】Match

【思路要点】考虑方差的期望的公式,记 F0=1,Fi=(2i−1)Fi−1F_0=1,F_i=(2i-1)F_{i-1}F0​=1,Fi​=(2i−1)Fi−1​ , MetMetMet 表示可能的权值序列的集合,则有Ans=1∣Met∣∑a∈Met∑i=1N(ai−∑aiN)2NAns=1N×FN∑a∈Met∑i=1N(ai2−2ai(∑ai)2N+(∑ai)2N2)Ans=1N×FN∑...

2019-07-01 14:06:27 264

原创 【省内训练2019-07-01】Ring

【思路要点】对于一个边集的右端点 iii ,应当存在阈值 lftilft_ilfti​ ,满足左端点在 lftilft_ilfti​ 左侧时答案为 YesYesYes ,否则答案为 NoNoNo ,且不难发现 lftilft_ilfti​ 是单调的。使用类似 TwoPointersTwoPointersTwoPointers 的思想用 LCTLCTLCT 计算 lftlftlft 数组即可...

2019-07-01 13:25:39 229

原创 【省内训练2019-07-01】Exchange

【思路要点】不妨将 NNN 增加至 2x−12^x-12x−1 。注意到 222 操作涉及到的区间在 NNN 为 2x−12^x-12x−1 时恰好是线段树上的一个区间,可以直接交换线段树上对应的指针。线段树维护操作即可。时间复杂度 O(MLogN)O(MLogN)O(MLogN) 。【代码】#include<bits/stdc++.h>using namesp...

2019-07-01 13:25:33 270

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除