Loading [MathJax]/extensions/TeX/mathchoice.js

08 2020 档案

摘要:先从反演原理出发,假如存在两个数列 f,g,我们知道 fn=ni=0an,i×gi,则 gn=ni=0bn,i×fi 恒成立,那么我们 阅读全文
posted @ 2020-08-31 22:34 Achtoria 阅读(435) 评论(1) 推荐(3) 编辑
摘要:因为每行只有一个区域不能往下走,因此我们可以来分析一下从起点到整个矩形每个位置的最短路。可以发现每一行的最短路只与上一行的最短路有关,假设我们知道上一行的最短路,上一行不能往下走的区间在 [L,R],那么可以发现的是 [1,L1],[R+1,m] 这些区间会直接从上 阅读全文
posted @ 2020-08-31 19:17 Achtoria 阅读(284) 评论(0) 推荐(0) 编辑
摘要:本题看似非常像网络流,但实际上我们非常难限制只使用两种调料,这时候我们要敢于放弃去选择另一条路。 从部分分出发,看到数据范围当中出现了 m=n1,刚好大小为 n 的树的边数不正好是 n1 吗?恰巧的是,每种菜只能选择不超过两种的调料,而菜有 n1 阅读全文
posted @ 2020-08-27 21:58 Achtoria 阅读(234) 评论(0) 推荐(0) 编辑
摘要:首先可以思考一下暴力,不难发现我们可以令 dpi,j 表示在第 i 秒到达 j 的最大愉悦值,这样转移就十分显然了。那么如果 k=0,观察一下转移的方程: \(dp_{i, j} = \max_{k \rightarrow j}\{dp_{i - w_{k 阅读全文
posted @ 2020-08-27 21:05 Achtoria 阅读(231) 评论(0) 推荐(0) 编辑
摘要:注意到蓝线的产生方法,可以发现蓝线必然可以划分成若干个三个点中间由蓝线连成的情况,在树上就只有下面两种形式: (从 nofind 大佬哪里擓来的图) 那么是不是我们只要吧原树划分成若干个互不相交的长度为 3 的链然后把这些点之间的边染成蓝色这样的树都是合法的呢?其实不是,比如下面 阅读全文
posted @ 2020-08-17 22:11 Achtoria 阅读(131) 评论(0) 推荐(0) 编辑
摘要:注意到 K=1,2 于是我们可以从简单的 K=1 开始入手。可以发现家和办公室在同一边的人不管建不建桥都是无所谓的,因此下面我们只需要考虑不在同一边的人,假设桥的位置在 d 那么答案可以简单的表示为: \(\sum\limits_{i = 1} ^ n |S_i - 阅读全文
posted @ 2020-08-17 19:38 Achtoria 阅读(98) 评论(0) 推荐(0) 编辑
摘要:因为题目中要求 12 的最短路只有 5,于是我们可以考虑直接使用人脑将图分层。 那么我们怎么定义每层的点呢?因为要使 12 的最短路只有 5,我们可以将最终的图分为 6 层,分别为距离 1 号距离为 0,1,2,3,4,5 的点。但是最开 阅读全文
posted @ 2020-08-14 10:35 Achtoria 阅读(113) 评论(0) 推荐(0) 编辑
摘要:按照套路我们首先拆环成链,然后在对每个条线段往后平移 m 个位置复制一遍。可以发现这样一个事实,将环上包围一圈相当于在数轴上使用若干条线段覆盖一段长度为 m 的区间,并且只要某个线段在我们选择的线段当中,那么我们将这条线段看作起点往后一定还是能找到和原来一样的线段去覆盖。因此,题目要 阅读全文
posted @ 2020-08-14 10:02 Achtoria 阅读(90) 评论(0) 推荐(0) 编辑
摘要:先考虑不要求区间怎么做,即我们要查询: ni=disu,i=ni=1depu+depi2×deplca(u,i) 前面这一坨 \(\sum\limits_{i = 阅读全文
posted @ 2020-08-14 09:48 Achtoria 阅读(75) 评论(0) 推荐(0) 编辑
摘要:对于第一问,对于每条限制 (u,v) 我们连边 vu,这样将构成一张 DAG。首先先拓扑排序,对于拓扑序考前的点我们先让他尽量往后放,显然这样是最优的,因为我们在偏序满足条件的情况下让每个点尽量后放以保证方案的合法性,但需要注意的一点是可能 阅读全文
posted @ 2020-08-12 23:09 Achtoria 阅读(221) 评论(0) 推荐(0) 编辑
摘要:因为起点终点是不确定的,因此我们可以考虑枚举起点和终点来计算贡献,但由于期望逆推的原理,可以发现当终点相同时所有起点的期望计算方式都是类似的,于是我们可以考虑枚举每个终点。那么对于每个终点 x,我们令 dpi 为以 i 为起点到这个终点 x 的期望步数,于是可以得到 阅读全文
posted @ 2020-08-12 22:47 Achtoria 阅读(75) 评论(0) 推荐(0) 编辑
摘要:第一问直接使用二分 + 贪心即可。 对于第二问,我们可以考虑一个 dp,令 dpi,j,k 表示当前选到第 i 根木棍,已经分成了 j 段的方案数,当前这一段的长度和为 k 的方案,那么就有转移就十分显然了。 到这里我们发现这个 dp 阅读全文
posted @ 2020-08-11 23:00 Achtoria 阅读(98) 评论(0) 推荐(0) 编辑
摘要:可以发现题目给的是一颗有向树的形式,不论是有向树还是无向树,我们考虑 dp 转移基本是从子树转移到当前的父亲,状态也一般涉及的是在子树内部的状态,本题也不例外。 我们钦定 1 为有向树的根,首先可以发现限制每个点位置的那些点一定是这个点在有向树上的儿子或者是父亲,并且只要确定限制它点的位 阅读全文
posted @ 2020-08-11 22:48 Achtoria 阅读(60) 评论(0) 推荐(0) 编辑
摘要:实际上是要问有多少对 i,j(ji) 满足 \dbinom{i}{j} \equiv 0 \pmod{P},大组合数取模问题可以考虑卢卡斯定理这个有利的武器。之前一直不会证明卢卡斯定理,今天学会了证法简单记录一下。 一个引理:\((x + 1) ^ P \equiv x 阅读全文
posted @ 2020-08-11 22:28 Achtoria 阅读(144) 评论(0) 推荐(0) 编辑
摘要:只有询问,允许离线,我们可以考虑使用莫队。 那么问题在于我们怎么计算右端点 +1 带来的增量,可以发现这些新增加的子区间都是以 r 为右端点的,那么我们只需要考虑以 r 为右端点,左端点在 [l, r] 的区间最小值之和,可以发现这个的答案是可以转移的,于是我们令 \ 阅读全文
posted @ 2020-08-11 21:34 Achtoria 阅读(109) 评论(0) 推荐(0) 编辑
摘要:这是一个二维区域修改区域查询问题,可以考虑使用二维树状数组解决。 我们先回忆一下一维区间修改区间查询树状数组是怎么做的,因为树状数组本身只支持求前缀和的形式,每次修改也只能单点修改,因此结合前缀和和单点修改的性质,我们想到可以用树状数组来维护差分数组,这样就能做到区间修改单点查询,但这还是不是我们需 阅读全文
posted @ 2020-08-10 20:00 Achtoria 阅读(91) 评论(0) 推荐(0) 编辑
摘要:这种排列生成排列的题目我们一般可以考虑生成排列合法的充要条件。 首先可以发现的一点就是该生成排列的任意一个数 p_i 一定不存在连续的三个数 p_{i + 1}, p_{i + 2}, p_{i + 3} 比其小。考虑原排列的生成方式,如果存在生成的排列中 \(p_{i + 1} < 阅读全文
posted @ 2020-08-10 08:14 Achtoria 阅读(106) 评论(0) 推荐(0) 编辑
摘要:无解的情况一定是 |a_1 - a_n| > (n - 1) \times d,下面考虑优解的情况。 首先这题我们能想出一个简单的费用流模型,但边数和点数都和值域有关,因此这样是过不掉的,可以发现无论怎样 dp 状态都要和值域有关,因此这题应该需要考虑贪心。 简单的贪心显然是不正确的 阅读全文
posted @ 2020-08-08 12:33 Achtoria 阅读(115) 评论(0) 推荐(0) 编辑
摘要:先考虑不修改怎么做,可以令 dp_i 表示前 i 个题能获得的最大得分。那么我们有转移: dp_i = \min\{dp_{i - 1}, dp_{j} + \frac{(i - j + 1)(i - j)}{2} - (S_i - S_j)\}(0 \le j < i)阅读全文
posted @ 2020-08-08 11:41 Achtoria 阅读(101) 评论(0) 推荐(0) 编辑
摘要:排列计数的一个经典做法就是按照某种顺序将元素不断往序列中插入,不难发现本题的第一问为了方便知道每个位置前面有多少个大于当前位置,我们可以考虑按高度从大到小地将一座座山不断插入序列。假设当前没有高度相同的山,当前考虑插入第 i 座山,{a_i}_{val} 是当前山的关键字,那么我们能 阅读全文
posted @ 2020-08-08 11:04 Achtoria 阅读(113) 评论(0) 推荐(0) 编辑
摘要:我们可以知道异或可以看成不进位的加法,那么我们就可以得到 a + b = a ^ b + ((a \& b) << 1),不难发现 \frac{v - u}{2} 就是 a \& b 也就是 a, b 中同时为 1 的位置,那么只需要满足 \(\frac{ 阅读全文
posted @ 2020-08-07 08:52 Achtoria 阅读(104) 评论(0) 推荐(0) 编辑
摘要:很显然有一个暴力 dp,令 dp_{i, j} 表示最后一次划分在 i 上次划分在 j 的最小花费,令 S_i = \sum\limits_{j = 1} ^ i a_j。那么有转移: \(dp_{i, j} = \min\{dp_{j, k} + (S_i 阅读全文
posted @ 2020-08-07 07:56 Achtoria 阅读(113) 评论(0) 推荐(0) 编辑
摘要:显然如果我们直接枚举断哪条边,剩下的两颗树的重心编号非常不好求,一个常见的想法是我们反过来,考虑每个节点有多少种情况作为树的重心,计算每个点对答案的贡献。 下面我们就需要大力分类讨论了。假设我们现在考虑计算贡献的节点为 x,令以其儿子为根的子树树的最大的子树大小为 mx_x,次大值为 阅读全文
posted @ 2020-08-06 22:35 Achtoria 阅读(176) 评论(0) 推荐(0) 编辑
摘要:不难想到一个状态,令 dp_{i, j} 为大小为 i 的完全图划分成 j 个联通块的方案,下面考虑怎么转移。 不难发现我们可以枚举任意一个点再枚举他所在联通块的大小,这样就能转移了,但这样会记重,因为同一种方案我们会在枚举不同的点时都计算一遍,一个经典的想法就是我们枚举 $ 阅读全文
posted @ 2020-08-06 22:01 Achtoria 阅读(92) 评论(0) 推荐(0) 编辑
摘要:可以发现如果我们要模拟每一轮的过程将会完全不可做,因此我们可以考虑使用期望的线性性,合理地将答案划分成很多好求的部分,然后再简单相加,例如在本题当中,我们可以考虑每张卡牌对答案的贡献,于是有 Ans = \sum P_i \times d_iP_i 为该卡牌触发的概率。于是问题在于 阅读全文
posted @ 2020-08-05 20:39 Achtoria 阅读(103) 评论(0) 推荐(0) 编辑
摘要:观察数据范围可以发现,题目有一半的分是满足 k = n 的性质的,这肯定是有用的,我们可以从这里开始下手。 因为特殊条件是 k = n,我们可以猜测每个状态的操作最小次数应该是不大于 n 的,近一步地我们可以发现使得操作次数最小的操作方案。因为标号小的操作不会影响到编号大的, 阅读全文
posted @ 2020-08-05 19:22 Achtoria 阅读(117) 评论(0) 推荐(0) 编辑
摘要:可以发现本题实际上是 SP1026 FAVDICE - Favorite Dice 的加强版,在那题当中,我尝试过使用顺推的方式,令 dp_i 表示已经取完 i 面需要的期望次数。那么有转移 \(dp_i = \frac{n - i + 1}{n}(dp_{i - 1} + 1) + 阅读全文
posted @ 2020-08-05 08:24 Achtoria 阅读(104) 评论(0) 推荐(0) 编辑
摘要:看上去毫无思路感觉不可做,可以先考虑暴力。 不难发现如果将整个区间一起考虑十分不好做,我们可以考虑对每一位进行限制,于是对于每个限制,我们将要求相同的每个位置加入并查集,那么最终答案就之和连通块个数有关了。 下面考虑优化这个暴力的过程,可以发现单独考虑每一位很好做是因为这些需要限制的区间是已知且能表 阅读全文
posted @ 2020-08-04 18:48 Achtoria 阅读(70) 评论(0) 推荐(0) 编辑
摘要:不难发现本题贪心是不好做的,可以考虑 dp。 首先的一个想法就是令 dp_{i, j, k, l} 表示当前选到第 i 个位置,当前第一个序列选了 j 个数,当前第一个序列最后一个元素为 k,第二个序列最后一个元素为 l 是否合法。这样的话转移十分显然 阅读全文
posted @ 2020-08-04 17:36 Achtoria 阅读(137) 评论(0) 推荐(0) 编辑
摘要:首先可以发现我们可以发现最终状态和初始状态都是一个大小为 n 的排列,且恰好有 n 种关系,于是我们对于每个 a_i 连一条 a_i \rightarrow b_i 的有向边,这张图的形态将会相对简单。 因为每个位置最终变成的数不同,因此这张图将会是由若干个简单环构成 阅读全文
posted @ 2020-08-04 11:37 Achtoria 阅读(83) 评论(0) 推荐(0) 编辑
摘要:首先一个简单的想法是令 dp_{i, j} 为以 i 为根的子树内选择了 j 个黑点的最大收益,但你会发现这个东西无论怎样转移都需要涉及深度和,如果我们记入深度和就不可能通过这道题了。 不妨换一种想法,我们把每条路径的贡献拆分到每条边上去,即我们计算每条边对总答案的贡献。不难 阅读全文
posted @ 2020-08-04 11:21 Achtoria 阅读(95) 评论(0) 推荐(0) 编辑
摘要:直接统计 \sum {a_i} ^ 2 非常不好统计,可以考虑转化题意。 于是有了下面一个想法,我们只需要让每种方案重复记录 a_i 次即可,因为我们无法每个方案的 a_i,因此我们只能退而求其次在对每种方案计数时搞个什么东西让每种方案恰好算 a_i 次,不难发现我们 阅读全文
posted @ 2020-08-02 11:52 Achtoria 阅读(79) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2020-08-02 11:35 Achtoria 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2020-08-02 11:32 Achtoria 阅读(6) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2020-08-02 11:30 Achtoria 阅读(2) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示