08 2020 档案

摘要:考虑题目所给出的式子:posi=(ci+dxi+yi)modn,当 yi 一定时,随着 xi 的增大,得到的值会出现循环,即形成环。不难发现对于 xi,yi 的不同取值,ci+yi 可以看作对应一个环和该环的起始位置,xi 阅读全文 »
posted @ 2020-08-29 16:48 lhm_liu 阅读(231) 评论(0) 推荐(0) 编辑
摘要:为方便处理,把树看作有根树,将陷阱房作为树的根。 先考虑一种特殊情况,老鼠起始房间和陷阱房是相邻的,即老鼠起始房间为根节点的一个儿子。一开始老鼠的决策是不可能向上走,其只可能一路向下沿最优路线到叶子节点,直到其无法行动。管理者的决策则是在老鼠向下走时堵住沿途的一些边,直到老鼠无法行动后,再堵住老鼠所 阅读全文 »
posted @ 2020-08-28 10:26 lhm_liu 阅读(291) 评论(0) 推荐(0) 编辑
摘要:发现任何时刻不会出现两片颜色相同的云朵,因此云朵的颜色是不用考虑的,询问即为区间内有多少个云朵。 因为云朵的运动是在天空中往返的,具有周期性,且每个云朵运动速度都相同,所以可以用二元组 (time,lenth) 来表示一个云朵,time 为该云朵左端点位于左边界时的时刻,即 \(t- 阅读全文 »
posted @ 2020-08-27 08:27 lhm_liu 阅读(354) 评论(0) 推荐(1) 编辑
摘要:先考虑一种网络流解法,从源点 S 向每个点连容量为 pi 的边,每个点向汇点连容量为 si 的边,每个点向编号比其大的点连容量为 c 的边,该图的最大流即为答案。 但是复杂度无法接受,考虑换一种思路,观察建出的图: 发现这张图比较特殊,像最小割的模型,考虑将求最大 阅读全文 »
posted @ 2020-08-24 19:16 lhm_liu 阅读(258) 评论(0) 推荐(0) 编辑
摘要:形如 Sk(n)=i=0nik 的式子被称为自然数幂和。 本文介绍了求自然数幂和的若干方法,其中包括斯特林数和伯努利数的一些应用,其中证明的推导过程也有一些推式子的技巧。 扰动法 应用两次扰动法,当 k1 时,得: \[ \l 阅读全文 »
posted @ 2020-08-23 18:30 lhm_liu 阅读(2028) 评论(0) 推荐(11) 编辑
摘要:根据本题的定义,对于两个串,若 lcp+lcs+k|s|,则这两个串形成了匹配。统计匹配次数考虑固定 lcp 长度,来找合法的 lcs 的个数。 对所有模式串 pi 的正串和反串一起建出 AC 自动机,将询问挂在 \(p_i 阅读全文 »
posted @ 2020-08-21 15:23 lhm_liu 阅读(368) 评论(0) 推荐(1) 编辑
摘要:先考虑贪心,发现当升级后一定是一直选取 bp 最大,即期望收益最大的游戏,而升级前的选取要考虑升级的概率和当前选取的收益,所以考虑 DP 来解决升级前的选取。 设 ft 为还剩 t 秒且当前未成功升级的最大期望收益,vbp 最大值,得: \[ 阅读全文 »
posted @ 2020-08-21 00:28 lhm_liu 阅读(291) 评论(0) 推荐(0) 编辑
摘要:首先将字符串翻转,相应地,有序串组也就翻转了,即为求最长的长度递增的有序串组,满足第 i 个串是第 i+1 个串的子串。进行贪心,发现最优秀情况下有序串组中的串长一定是逐渐加 1 的,即长度为 1,2,3,,因为可以对不是逐渐加 1 的位置删去一些字符,来使之后 阅读全文 »
posted @ 2020-08-20 10:15 lhm_liu 阅读(141) 评论(0) 推荐(0) 编辑
摘要:直接求不好求,考虑用总方案数减去不合法方案数。设 fi,j 为至少有 ij 列颜色相同的方案数,设 gi,j 为恰好有 ij 列颜色相同的方案数,得: \[ \large f(x,y)=\sum_{i=x}^n\sum_{j=y 阅读全文 »
posted @ 2020-08-18 21:59 lhm_liu 阅读(465) 评论(0) 推荐(0) 编辑
摘要:概念 模拟退火是随机化算法,可以用来解决一类不是单峰函数的问题。 其优于爬山算法的原因是其能通过接受当前最优解附近的非最优解,来跳出局部最优解。 对于新状态得到的解,若其更优则更新答案,否则以一定概率来判断是否接受新状态。 设温度为 T,新状态和当前状态的能量差为 \(\Delta E(\D 阅读全文 »
posted @ 2020-08-17 21:43 lhm_liu 阅读(230) 评论(0) 推荐(0) 编辑
摘要:DP 来做的话会很麻烦,细节会很多,考虑乱搞一些的做法。n 很小,答案和排列顺序有关,所以考虑模拟退火来解决本题。 产生新状态即为交换当前排列的两个位置。调参时可以采取降低退火次数,升高温度和降温系数来处理,这样正确性会高。 #include<bits/stdc++.h> #defi 阅读全文 »
posted @ 2020-08-17 21:12 lhm_liu 阅读(202) 评论(0) 推荐(0) 编辑
摘要:首先对所有询问进行离线处理,因为是网格图,所以考虑用分治来解决。 对 [1,n] 进行分治,对于区间 [l,r],在 mid 两侧的点对互相要到达一定会经过 mid 所在的直线,因此每次处理出 fi,j,kgi,j,k,\(f_{i, 阅读全文 »
posted @ 2020-08-17 19:14 lhm_liu 阅读(200) 评论(0) 推荐(0) 编辑
摘要:考虑通过 DP 来解决本题。设 fi,j 为考虑了前 i 个位置且第 i 个位置为数字 j 的方案数,sij=1kfi,jli,j 为位置 i 往前都是数字 j 阅读全文 »
posted @ 2020-08-17 16:35 lhm_liu 阅读(169) 评论(0) 推荐(0) 编辑
摘要:定理 若 p 为素数,得: (p1)!1(modp) p 为素数和威尔逊定理互为充分必要条件,即威尔逊定理可以用来判定一个数是否为素数。 证明 先同除 1,即证明: \[ \large (p-2)! \equiv 1 \p 阅读全文 »
posted @ 2020-08-16 11:14 lhm_liu 阅读(777) 评论(1) 推荐(0) 编辑
摘要:划分为 k 个正整数 设 fi,j 为把 i 划分为 j 个数的方案数,得: fi,j=fij,j+fi1,j1 整体加 1 和新划分 1。 划分为不重复的 k 个正整数 设 fi,j 为把 \ 阅读全文 »
posted @ 2020-08-13 22:43 lhm_liu 阅读(786) 评论(0) 推荐(2) 编辑
摘要:对无向图的三元环计数。 先对所有无向边定向,从度数小的点连向度数大的点,度数相同时,从编号小的点连向编号大的点。枚举每一个点 x,将其连出的点 y 都打上 x 的标记,再枚举点 y 连出的点 z,若点 zx 的标记,则 \((x,y,z) 阅读全文 »
posted @ 2020-08-13 13:29 lhm_liu 阅读(708) 评论(0) 推荐(0) 编辑
摘要:概念 长链剖分按深度剖分,重儿子为叶子最深的儿子。具体应用时可以通过指针记录信息,也可以优先遍历重儿子来 dfs,链上信息为一个在 dfs 序上的连续区间,便于统计信息和将信息从重儿子合并过来。 void dfs_son(int x,int fa) { d[x]=dep[x]=d[f 阅读全文 »
posted @ 2020-08-13 11:09 lhm_liu 阅读(222) 评论(0) 推荐(0) 编辑
摘要:先二分答案 mid,使得 mid,移项得: valtot×mid0 判定对每条边的边权都减去 mid 后,是否存在一条边权和大于零的路径即可。 考虑树形 DP,设 \(f 阅读全文 »
posted @ 2020-08-12 21:44 lhm_liu 阅读(195) 评论(0) 推荐(0) 编辑
摘要:先考虑有 m 张牌,打 k 张的最优策略。发现强化牌的效果至少是翻倍,所以最优策略一定是在至少打出一张攻击牌的前提下,尽可能的多打强化牌,强化牌数量不够时,再由大到小打攻击牌。 设 Fi,j 为选出 i 张强化牌,打出 j 张的效果, \(G_{i,j} 阅读全文 »
posted @ 2020-08-11 17:40 lhm_liu 阅读(163) 评论(0) 推荐(0) 编辑
摘要:考虑对美丽值进行 DP 来统计答案,发现直接统计美丽值等于 v 的子序列方案数不好统计,不妨统计美丽值大于等于 v 的方案数。发现这样统计,美丽值为 v 的一个子序列在区间 [1,v] 都会有贡献,所以这样的合法子序列的方案数即为答案。 先对 a 进行 阅读全文 »
posted @ 2020-08-10 17:58 lhm_liu 阅读(115) 评论(0) 推荐(0) 编辑
摘要:数据结构 线段树 注意更新信息时,不要直接覆盖,可能覆盖掉更优的信息。[WC2010] 重建计划,CF1320C World of Darkraft: Battle for Azathoth(梅开二度) 正确: if(l==r) { mx[cur]=max(mx[cur],v); return; } 阅读全文 »
posted @ 2020-08-10 16:11 lhm_liu 阅读(453) 评论(1) 推荐(1) 编辑
摘要:用双指针扫描来找环,加入 r 位置的边后,若形成了环,就删去 l 位置的边,直到环断掉,加边删边和判定连通性用 LCT 维护即可。 考虑如何计算环的贡献,对于区间 [l,r],若其形成了环,则区间 [l,r+1],[l,r+2][l,m] 都形成 阅读全文 »
posted @ 2020-08-09 20:57 lhm_liu 阅读(196) 评论(0) 推荐(0) 编辑
摘要:设 fi(x) 为以节点 i 为根的子树都以时刻 x 爆炸的最小代价,发现其为一个下凸的分段函数,即为一个下凸包。 考虑一个节点加上其与父节点的边后函数的变化,设原函数的最小值为 fmin,取到最小值的区间为 [l,r],与父节点的边的边权为 \(v 阅读全文 »
posted @ 2020-08-06 21:44 lhm_liu 阅读(279) 评论(0) 推荐(0) 编辑
摘要:发现最优解可以表示为在起点等待一段时间,然后不停顿地走完一圈。因为停顿的原因是当前的物品没有出现,所以可以在起点先等待,然后不停顿地来标记。 对环倍长来将其转化为链,用 i 来枚举起始位置,j 来枚举物品,则答案可表示为: \[ \min\limits_{i=1}^n\left \{ 阅读全文 »
posted @ 2020-08-06 19:54 lhm_liu 阅读(210) 评论(0) 推荐(0) 编辑
摘要:考虑到随机排列来加入点等效每次随机一个点,符合独立集的限制就加入当前点集,不符合就不加入。 n 很小,考虑状压 DP,设 fS 为得到点集 S 内的点的最大独立集的概率,sizS 为点集 S 内的点的最大独立集的大小。 DP 时枚举点集 \ 阅读全文 »
posted @ 2020-08-06 09:28 lhm_liu 阅读(241) 评论(1) 推荐(1) 编辑
摘要:先化简答案的式子: \[ \large\begin{aligned} ans_k&=\frac{1}{nm}\sum_{i=1}^n\sum_{j=1}^m(a_i+b_j)^k \\ &=\frac{1}{nm}\sum_{i=1}^n\sum_{j=1}^m\sum_{l=0}^k\binom{ 阅读全文 »
posted @ 2020-08-05 20:04 lhm_liu 阅读(184) 评论(1) 推荐(0) 编辑
摘要:题意即为在序列中找出给定排列能匹配相同的位置,这里的匹配相同指的是相对大小关系相同,即离散化后相同。 因为是相对大小关系相同,所以只需考虑每个数所在的排名。可以对给定排列处理出 numi,为位置 i 之前小于位置 i 对应的数的个数,发现对于序列,numi 相同, 阅读全文 »
posted @ 2020-08-04 07:57 lhm_liu 阅读(166) 评论(0) 推荐(0) 编辑
摘要:阶 设 m>1,am,使得 an1(modm) 成立的最小的 n 称为 am 的阶 δm(a)。 由欧拉定理 aφ(m)1(modm) 得, 阅读全文 »
posted @ 2020-08-03 16:26 lhm_liu 阅读(253) 评论(0) 推荐(1) 编辑
摘要:单位根 \[ \large\begin{aligned} &\omega_n^k=e^{\frac{2\pi ik}{n}}=\cos\frac{2πk}{n}+i\sin\frac{2πk}{n} \\ &\omega_{n}^{n}=1 \\ &\omega_{2n}^{2k}=\omega_n 阅读全文 »
posted @ 2020-08-02 21:34 lhm_liu 阅读(144) 评论(0) 推荐(0) 编辑
摘要:首先对特征字符串建 SAM,来实现对子串的匹配。 有一个 O(n2) 的暴力,分别以每个点为根进行 dfs,遍历树时记录当前字符串在 SAM 上匹配到的节点即可。 考虑用点分治来解决本题这样的树上路径统计问题。对于当前的分治重心 x,统计连通块中经过 \(x 阅读全文 »
posted @ 2020-08-02 11:57 lhm_liu 阅读(386) 评论(1) 推荐(2) 编辑

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