<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DSL_HN_2002的博客]]></title><description><![CDATA[一个需要很努力的人,已退役,勿念]]></description><link>https://blog.youkuaiyun.com/DSL_HN_2002</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DSL_HN_2002]]></copyright><item><title><![CDATA[老版pkurunner]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/155642179</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/155642179</guid><author>DSL_HN_2002</author><pubDate>Sat, 06 Dec 2025 14:14:26 +0800</pubDate><description><![CDATA[https://disk.pku.edu.cn/anyshare/zh-cn/link/AA240750D6C7D64CDDAD0E25E2657A5C93?_tb=none&expires_at=2026-01-05T14%3A10%3A10%2B08%3A00&item_type=file&password_required=false&title=pkurunner-latest.apk.1.1&type=anonymous&verify_mobile=false]]></description><category></category></item><item><title><![CDATA[退役时的做题计划2]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/106608699</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/106608699</guid><author>DSL_HN_2002</author><pubDate>Sun, 07 Jun 2020 22:19:42 +0800</pubDate><description><![CDATA[吐槽：这篇写了几个月的东西终于发出来了（其实是因为太懒了咕了好多题到现在才凑满数量。。。

「Codeforces1257G」Divisor Set-Dilworth定理+分治FFT
2020-02-09
有一个常见的思路是把每个约数看作高维空间上的一个点。每个数向它的约数连边。题目转化为了最长反链，等价于最小链覆盖。
不难发现，这张图以质数的指数和分层，只需要在相邻层连边即可。这样最小链覆盖取决与最大层的大小，即指数和为某个数的约数个数（其实这个数是⌈n2⌉\lceil \frac{n}{2} \rcei]]></description><category></category></item><item><title><![CDATA[「JOISC 2019 Day3」穿越时空 Bitaro-线段树]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/105961965</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/105961965</guid><author>DSL_HN_2002</author><pubDate>Wed, 06 May 2020 22:58:39 +0800</pubDate><description><![CDATA[Description
在河狸国，一条路上有 NNN 座城市，依次编为 1…N1\ldots N1…N 号；连接城市 iii 和城市 i+1i+1i+1 的那段路被称为 iii 号路。在河狸国，一天有 10910^9109 秒，依次称为时刻 0…109−10\ldots 10^9-10…109−1。从城市 iii 沿路到达与之相邻的城市——城市 i−1i-1i−1 或城市 i+1i+1i+1 需要...]]></description><category></category></item><item><title><![CDATA[「LOJ2474」「2018 集训队互测」北校门外的未来-笛卡尔树及其扩展+LCT]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/105615030</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/105615030</guid><author>DSL_HN_2002</author><pubDate>Sun, 19 Apr 2020 14:30:47 +0800</pubDate><description><![CDATA[Description
链接
Solution
对于一棵树 TTT，定义其的笛卡尔树 C(T)C(T)C(T) 满足：

堆性质，即祖先的权值（本题中为标号）一定大于子孙的权值。
搜索树性质，即任意子树对应的节点在 TTT 中一定联通。

感性理解的话，C(T)C(T)C(T)是把选重心改为选最大编号的点，构建出来的点分树。
先不考虑修改。对于 TTT 构造出 C(T)C(T)C(T) 可以发现：...]]></description><category></category></item><item><title><![CDATA[「CERC2017」Embedding Enumeration-DP]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/105614956</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/105614956</guid><author>DSL_HN_2002</author><pubDate>Sun, 19 Apr 2020 14:24:49 +0800</pubDate><description><![CDATA[Description
给定一个 nnn 个点的树。你需要将它放到一个 2×n2 \times n2×n 的网格里，每个格子至多放一个点，在树上相邻的点在网格中也必须相邻，并且 111 号点必须放在左上角。
求方案数对 109+710^9+7109+7 取模的结果。
n≤105n \leq 10^5n≤105
Solution
设fuf_ufu​表示把uuu放在左上角的方案数。

uuu是叶子。显...]]></description><category></category></item><item><title><![CDATA[「LOJ2462」「2018 集训队互测 Day 1」完美的集合]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/85271881</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/85271881</guid><author>DSL_HN_2002</author><pubDate>Sat, 18 Apr 2020 17:35:17 +0800</pubDate><description><![CDATA[Description
链接
Solution
首先对于每一种选取KKK个集合的方案，合法的测试点一定是个联通块。
所以可以容斥求出方案数，即uuu可行的减去faufa_ufau​与uuu都可行的。
剩下的是一个组合数取模的问题，即求
∏i∈[1,n],imod&amp;amp;ThinSpace;&amp;amp;ThinSpace;5≠0i×∏i∈[1,⌊n5⌋],imod&amp;amp;ThinSpace;&amp;am...]]></description><category></category></item><item><title><![CDATA[「CTSC2010」产品销售-线段树+模拟费用流]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/104014951</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/104014951</guid><author>DSL_HN_2002</author><pubDate>Fri, 17 Jan 2020 10:13:08 +0800</pubDate><description><![CDATA[Description
有 nnn 天,每一天商店可以进口最多 UiU_iUi​ 件商品,价格为 PiP_iPi​ ,每一天也有一定的订货量 DiD_iDi​ 。
一件商品进口之后,如果没有立即卖出,每在仓库放置一天要付出代价 MiM_iMi​ 。如果第 iii 天某位顾客要买的商品缺了 kkk 件,那么要付出 k×Cik \times C_ik×Ci​ 的代价延期一天购买。问最小总耗费。
n≤1...]]></description><category></category></item><item><title><![CDATA[「Codeforces1250K」Projectors-网络流]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/103571399</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/103571399</guid><author>DSL_HN_2002</author><pubDate>Mon, 16 Dec 2019 22:22:52 +0800</pubDate><description><![CDATA[Description
有nnn堂讲课，mmm次研讨会，xxx个高清投影仪和yyy个普通投影仪。
每堂讲课必须使用一个高清投影仪，而研讨会可以使用普通或高清投影仪。
第iii堂讲课时间在[ai,bi)[a_i,b_i)[ai​,bi​)，第iii次研讨会在时间在[pi,qi)[p_i,q_i)[pi​,qi​)，一个投影仪一次只能用在一个地方，且在使用完毕后才会归还。
构造为每节讲课/研讨会分配一...]]></description><category></category></item><item><title><![CDATA[「CSP2019」树上的数-贪心+并查集]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/103208570</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/103208570</guid><author>DSL_HN_2002</author><pubDate>Fri, 22 Nov 2019 23:23:32 +0800</pubDate><description><![CDATA[Description
给定一棵树和每个节点上的初始数字，删除一条边的效果是交换被这条边连接的两个节点上的数字交换。
设pip_ipi​表示数字iii在哪个节点，要求合理安排删除n−1n-1n−1条边的顺序，使得排列ppp字典序最小，
n≤2000n \leq 2000n≤2000
Solution
考虑把一个数字从一个节点运送到另一个节点的过程。
可以发现，限制总共有333种：

对于起点，选择...]]></description><category></category></item><item><title><![CDATA[CSP2019游记]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/103139033</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/103139033</guid><author>DSL_HN_2002</author><pubDate>Tue, 19 Nov 2019 12:15:11 +0800</pubDate><description><![CDATA[Day0
上午晚上复习了一波板子。
下午基本在划水。
晚上没睡好，凌晨3:00醒来后就基本没怎么睡着。
Day1
本来一位今年Day1跟去年Day1一样是手速场。
开考写完T1。然后T2写的有点小锅浪费了一些时间。
然后开始做T3，想了很久发现自己只会101010分。当时以为自己快退役了xd
出去上厕所冷静一下，回来的时候发现鸡老师和猫贼都好像没动T3，心理平静了不少。于是开始想部分分，然后到下考...]]></description><category></category></item><item><title><![CDATA[Comet OJ # 12]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/102994422</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/102994422</guid><author>DSL_HN_2002</author><pubDate>Sun, 10 Nov 2019 08:37:31 +0800</pubDate><description><![CDATA[A,B,C咕了
D
Description
求满足下列条件的数对(x,y)(x,y)(x,y)的对数

x⊕y=nx \oplus y = nx⊕y=n;
∣x−y∣≤m|x - y| \leq m∣x−y∣≤m;
0≤x≤a,0≤y≤b0 \leq x \leq a, 0 \leq y \leq b0≤x≤a,0≤y≤b。

a,b≤1018a,b \leq 10^{18}a,b≤1018
So...]]></description><category></category></item><item><title><![CDATA[Contest #13 题解]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/102754589</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/102754589</guid><author>DSL_HN_2002</author><pubDate>Sat, 26 Oct 2019 11:52:48 +0800</pubDate><description><![CDATA[A
签到题，不讲了。
B
按照题意模拟即可。
C
可以发现nm≤106,nq≤107nm \leq 10^6,nq \leq 10^7nm≤106,nq≤107，所以可以直接用并查集维护连通性。
由于每个格子最多被填一次1，所以可以每次找出会被填1的格子然后向周围是1的格子连边。
对于每行维护一个并查集即可，每个格子指向从它开始的第一个是0的格子。
code
D
∑i=0⌊n2⌋aibn−2i(n...]]></description><category></category></item><item><title><![CDATA[「Codeforces516D」Drazil and Morning Exercise]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/102672815</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/102672815</guid><author>DSL_HN_2002</author><pubDate>Mon, 21 Oct 2019 21:49:34 +0800</pubDate><description><![CDATA[Description
给出一棵 nnn 个点的树，给出 n−1n-1n−1 条 xxx 和 yyy 之间的边。
每条边有一个长度vvv，询问qqq次，每次询问给出一个LLL，请选择一个符合要求的最大联通块，要求该联通块中所有点到树上离它最远的点的距离的最大值与最小值之差小于等于LLL，输出联通块的最大大小。
n≤100000,q≤50n \leq 100000, q \leq 50n≤10000...]]></description><category></category></item><item><title><![CDATA[Comet OJ - 模拟赛测试 Day1&Day2]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101926773</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101926773</guid><author>DSL_HN_2002</author><pubDate>Fri, 04 Oct 2019 20:08:15 +0800</pubDate><description><![CDATA[题目地址：day1 day2
Day1
A
实际上是把某一个数拆成若干个数之和，使得这若干个数乘积最大。显然尽量拆成333，如果mod  3=1\mod 3=1mod3=1则拆两个222，mod  3=2\mod3=2mod3=2则拆一个222。
B
分类讨论+贪心
贴个代码
#include &lt;bits/stdc++.h&gt;
using namespace std;

inline i...]]></description><category></category></item><item><title><![CDATA[「Codeforces1109F」Sasha and Algorithm of Silence's Sounds-lct+线段树]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101175306</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101175306</guid><author>DSL_HN_2002</author><pubDate>Sun, 22 Sep 2019 22:31:46 +0800</pubDate><description><![CDATA[Description
给出一个 n×mn \times mn×m 的网格图,每个格子上有一个数,形成一个 n×mn \times mn×m 阶排列。
求有多少个区间[l,r][l,r][l,r],使得这个区间内的所有数所在的格子网格图上构成一棵树。
n×m≤200000n\times m \leq 200000n×m≤200000
Solution
考虑把树的限制拆为没有环+++连通块个数为11...]]></description><category></category></item><item><title><![CDATA[「BZOJ3514」Codechef MARCH14 GERALD07加强版-lct+二维数点]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101167681</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101167681</guid><author>DSL_HN_2002</author><pubDate>Sun, 22 Sep 2019 18:58:46 +0800</pubDate><description><![CDATA[Description
nnn个点mmm条边的无向图，询问保留图中编号在[l,r][l,r][l,r]的边的时候图中的联通块个数。
n,m≤200000n,m \leq 200000n,m≤200000
Solution
考虑常见套路：联通块数等于点数−-−树边数。
从小到大加边，维护最大生成树。求出preipre_iprei​表示iii这条边需要删除哪条边，prei=0pre_i=0prei​=...]]></description><category></category></item><item><title><![CDATA[「BZOJ5312」冒险-线段树+势能分析]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101156812</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/101156812</guid><author>DSL_HN_2002</author><pubDate>Sun, 22 Sep 2019 14:33:19 +0800</pubDate><description><![CDATA[Description
一个长度为 nnn 的序列 ai{a_i}ai​,支持单点修改,区间与/或一个数,求区间最大值。
n,m,ai≤200000n,m,a_i \leq 200000n,m,ai​≤200000
Solution
设Φ(s)\Phi(s)Φ(s)为一个线段树节点的势能。Φ(s)\Phi(s)Φ(s)的值为其左右儿子的Φ\PhiΦ之和加上这个点所代表区间的数在多少个二进制位上不全...]]></description><category></category></item><item><title><![CDATA[「BZOJ3145」Str-SAM]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/100933340</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/100933340</guid><author>DSL_HN_2002</author><pubDate>Wed, 18 Sep 2019 20:01:57 +0800</pubDate><description><![CDATA[Description
给定串S,TS,TS,T。求TTT在SSS中出现的最长子串。
定义一个串BBB匹配与AAA当且仅当∣A∣=∣B∣|A|=|B|∣A∣=∣B∣且至多存在一个iii满足Ai≠BiA_i \neq B_iAi​​=Bi​。
Solution
考虑枚举题目中的iii，即模糊匹配位置。
设它在TTT串中的位置为iii，则要找到在SSS串中的位置jjj使得lcp(T[i+1,m],S...]]></description><category></category></item><item><title><![CDATA[「BZOJ3946」无聊的游戏-线段树+哈希]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/100933224</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/100933224</guid><author>DSL_HN_2002</author><pubDate>Tue, 17 Sep 2019 17:33:47 +0800</pubDate><description><![CDATA[Description
你有nnn个串，有两种操作

给[l,r][l,r][l,r]的串在前面拼上新串sss。
询问lcp(sl,sl+1,sl+2,...,sr)lcp(s_l,s_{l+1},s_{l+2},...,s_{r})lcp(sl​,sl+1​,sl+2​,...,sr​)

n≤50000,∑∣S∣≤600000n\leq 50000, \sum |S| \leq 600000n...]]></description><category></category></item><item><title><![CDATA[退役前的做题计划1.0]]></title><link>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/96887871</link><guid>https://blog.youkuaiyun.com/DSL_HN_2002/article/details/96887871</guid><author>DSL_HN_2002</author><pubDate>Tue, 23 Jul 2019 07:52:05 +0800</pubDate><description><![CDATA[马上就要退役了，随手记录一下吧。
「CEOI2008」order
如果没有租，那么就是经典的最小割模型。
考虑证明处理租的情况，在没有租的情况中，一件产品会向它需要的产品连InfInfInf边，其实这就相当于租，把这条边的权值改完租的价格即可。

...]]></description><category></category></item></channel></rss>