文章类型——题解
DSL_HN_2002
一名中学生oier,已退役
展开
-
退役时的做题计划2
吐槽:这篇写了几个月的东西终于发出来了(其实是因为太懒了咕了好多题到现在才凑满数量。。。「Codeforces1257G」Divisor Set-Dilworth定理+分治FFT2020-02-09有一个常见的思路是把每个约数看作高维空间上的一个点。每个数向它的约数连边。题目转化为了最长反链,等价于最小链覆盖。不难发现,这张图以质数的指数和分层,只需要在相邻层连边即可。这样最小链覆盖取决与最大层的大小,即指数和为某个数的约数个数(其实这个数是⌈n2⌉\lceil \frac{n}{2} \rcei原创 2020-06-07 22:19:42 · 784 阅读 · 0 评论 -
「LOJ2474」「2018 集训队互测」北校门外的未来-笛卡尔树及其扩展+LCT
Description链接Solution对于一棵树 TTT,定义其的笛卡尔树 C(T)C(T)C(T) 满足:堆性质,即祖先的权值(本题中为标号)一定大于子孙的权值。搜索树性质,即任意子树对应的节点在 TTT 中一定联通。感性理解的话,C(T)C(T)C(T)是把选重心改为选最大编号的点,构建出来的点分树。先不考虑修改。对于 TTT 构造出 C(T)C(T)C(T) 可以发现:...原创 2020-04-19 14:30:47 · 678 阅读 · 0 评论 -
「CERC2017」Embedding Enumeration-DP
Description给定一个 nnn 个点的树。你需要将它放到一个 2×n2 \times n2×n 的网格里,每个格子至多放一个点,在树上相邻的点在网格中也必须相邻,并且 111 号点必须放在左上角。求方案数对 109+710^9+7109+7 取模的结果。n≤105n \leq 10^5n≤105Solution设fuf_ufu表示把uuu放在左上角的方案数。uuu是叶子。显...原创 2020-04-19 14:24:49 · 550 阅读 · 0 评论 -
「CSP2019」树上的数-贪心+并查集
Description给定一棵树和每个节点上的初始数字,删除一条边的效果是交换被这条边连接的两个节点上的数字交换。设pip_ipi表示数字iii在哪个节点,要求合理安排删除n−1n-1n−1条边的顺序,使得排列ppp字典序最小,n≤2000n \leq 2000n≤2000Solution考虑把一个数字从一个节点运送到另一个节点的过程。可以发现,限制总共有333种:对于起点,选择...原创 2019-11-22 23:23:32 · 413 阅读 · 0 评论 -
Comet OJ # 12
A,B,C咕了DDescription求满足下列条件的数对(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≤1018So...原创 2019-11-10 08:37:31 · 169 阅读 · 0 评论 -
一句话题解整理
SolutionLuogu3803FFT版子题Luogu2137时间分块。用dfs序+划分树预处理,然后考虑修改对询问的影响。Luogu2051动态规划。考虑列的顺序对答案没有影响,设f[i][j][k]f[i][j][k]f[i][j][k]表示DP到了第iii行,jjj列0个棋子,kkk列111个棋子,分类讨论转移即可。Luogu1879...原创 2018-08-27 23:25:11 · 258 阅读 · 0 评论 -
「HAOI2010」最长公共子序列-DP
Decription给定两个字符串,求他们最长的公共子序列长度,以及最长公共子序列个数。n≤5000n≤5000n \leq 5000Solution最长公共序列直接O(n2)O(n2)O(n^2)DP即可。重点是如何求出最长公共子序列个数。设fi,jfi,jf_{i,j}表示第一个串匹配到iii,第二个串匹配到jjj的最长公共子序列长度。gi,jgi,jg_{i,j}则表示最...原创 2018-09-04 22:22:10 · 194 阅读 · 0 评论 -
「WC2018」州区划分-FWT+状压DP
Description链接Solution首先我们可以轻松预处理出满足条件的点集。设fsf_sfs表示点集sss的点组成州的方案数的满意度之和,sumssum_ssums表示点集sss的人口的ppp次方,当sss为合法州区时,gs=sumsg_s=sum_sgs=sums,否则gs=0g_s=0gs=0。那么,fS=∑T⊆S,T≠∅gT×fS−TsumSf_S=\sum_{T...原创 2018-12-13 15:43:20 · 292 阅读 · 0 评论 -
「AGC005F」Many Easy Problems-NTT
Description给定一个 nnn 个节点的树,定义 f(S)f(S)f(S) 表示在树上包含点集 SSS 的最小联通块的大小。对于每一个 kkk,求出所有大小为 kkk 的点集的f(S)f(S)f(S) 的和。Solution考虑每个点uuu的贡献对f(k)f(k)f(k)。即Cnk−∑v∈son of uCsizvkC_{n}^k-\su...原创 2018-12-20 14:51:35 · 186 阅读 · 0 评论 -
「BZOJ2653」middle-二分+主席树
Decription回答QQQ个这样的询问:序列sss的左端点在[a,b][a,b][a,b]之间,右端点在[c,d][c,d][c,d]之间的子序列中,最大的中位数。其中a<b<c<da<b<c<d akkk,比kkk小的设为−1−1-1,大于等于kkk则设为111,判断能否使区间和≥0≥0\geq 0.考虑按照大小顺序构建二分时的(1,−1)(1...原创 2018-08-20 16:09:38 · 200 阅读 · 0 评论 -
「BZOJ3771」Triple-生成函数+FFT
Decription给定一个物品集合,每个物品有一个价值。可以在其中使用1,2,31,2,31,2,3个物品,求凑成的物品总价值方案数。n,ai⩽40000n,ai⩽40000n,a_i \leqslant 40000Solution设aiaia_i表示取一个物品价值和为iii的方案数,bi,cibi,cib_i,c_i分别为两个,三个物品的方案数。对于每一个出现的价值,就在其...原创 2018-08-06 14:32:49 · 306 阅读 · 0 评论 -
「NOI2015」寿司晚宴-数论,DP
Decription求将2−n2−n2-n的数划分成两个集合(有的数可以不用)的满足条件方案数。条件是两个集合中的数互质。n⩽500n⩽500n \leqslant 500Solution考虑n⩽20n⩽20n \leqslant 20的情况,这时候总共只有888个质数,所以可以状压两个集合所包含的素数集合,每次枚举这个数被谁选择即可。对于n⩽500n⩽500n \le...原创 2018-08-06 08:23:40 · 306 阅读 · 0 评论 -
「Luogu4755」Beautiful Pair-主席树+启发式分裂
Decription小D有个数列 {a}{a}\{a\} ,当一个数对(i≤j)(i≤j)(i≤j)(i≤j)(i\le j)(i≤j) 满足 aiaia_i和 ajaja_j的积不大于 ai,ai+1,⋯,ajai,ai+1,⋯,aja_i,a_{i+1},⋯,aj中的最大值时,小D认为这个数对是美丽的.请你求出美丽的数对的数量。Solution考虑分治,对于区间[L,R][L,R]...原创 2018-07-24 22:10:57 · 768 阅读 · 0 评论 -
「LOJ6198」谢特-SA+可持久化Trie+启发式分裂
Description定义这个字符串以第iii个字符开头的后缀为后缀iii(编号从 1 11 开始),每个后缀iii都有一个权值wiwiw_i,同时定义两个后缀i,ji,ji,j (i≠j)(i≠j)(i\ne j)的贡献为它们的最长公共前缀长度加上它们权值的异或和,也就是LCP(i,j)+(wixorwj)LCP(i,j)+(wixorwj)LCP(i,j)+(w_i xor w_j)。而你...原创 2018-07-24 21:50:16 · 740 阅读 · 0 评论 -
「BZOJ3261」最大异或和-可持久化Trie
Description给定一个非负整数序列aa{a},初始长度为NNN。有MMM个操作,有以下两种操作类型:A x:添加操作,表示在序列末尾添加一个数xxx,序列的长度N+1N+1N+1。Q l r x:询问操作,你需要找到一个位置ppp,满足l&lt;=p&lt;=rl&lt;=p&lt;=rla[p]xora[p+1]xor...xora[N]xorxa[p]xora[p+1]...原创 2018-07-24 07:48:48 · 214 阅读 · 0 评论 -
「JOI 2018 Final」简要题解
题目是LOJ2347-LOJ2351「JOI 2018 Final」寒冬暖炉贪心小水题。选最大的间隔即可。#include <bits/stdc++.h>using namespace std;const int maxn = 100005;int n, k, T[maxn], ans, a[maxn];inline int gi(){ char c = get...原创 2018-12-15 11:40:54 · 1327 阅读 · 0 评论 -
「LOJ2462」「2018 集训队互测 Day 1」完美的集合
Description链接Solution首先对于每一种选取KKK个集合的方案,合法的测试点一定是个联通块。所以可以容斥求出方案数,即uuu可行的减去faufa_ufau与uuu都可行的。剩下的是一个组合数取模的问题,即求∏i∈[1,n],imod&ThinSpace;&ThinSpace;5≠0i×∏i∈[1,⌊n5⌋],imod&ThinSpace;&am...原创 2020-04-18 17:35:17 · 880 阅读 · 0 评论 -
「LOJ6073」「2017 山东一轮集训 Day5」距离-主席树+树链剖分
Description给你一棵 nnn 个点的树和一个排列 ppp,边有边权,记 dist(u,v)dist(u, v)dist(u,v) 表示 uuu 到 vvv 的距离,path(u,v)path(u, v)path(u,v) 表示 uuu 到 vvv 路径上所有点组成的集合,现在有 qqq 次询问,每次给出 uiu_iui , viv_ivi , kik_iki ,问:∑i∈pat...原创 2018-12-31 14:40:33 · 410 阅读 · 1 评论 -
Comet OJ - Contest #3 简要题解
A小水题。直接枚举后排序即可。#include <bits/stdc++.h>using namespace std;inline int gi(){ char c = getchar(); while(c < '0' || c > '9') c = getchar(); int sum = 0; while('0' <= c &&...原创 2019-05-13 15:43:43 · 543 阅读 · 7 评论 -
「Codeforces113D」Museum-高斯消元
Description有一个nnn个点mmm条边的无向图,两个人分别从x,yx,yx,y出发,每个人每分钟有pip_ipi的概率不动, 有1−pi1−p_i1−pi的概率走到随机一个相邻的点。当他们在同一时刻选择前往同一个房间, 他们就会在那个房间相遇并停止。求在每个点相遇的概率。n≤22n \leq 22n≤22Solution这道题有两种做法。第一种做法,枚举终点,然后高斯消...原创 2019-05-11 16:45:54 · 396 阅读 · 0 评论 -
「ARC062F」Painting Graphs with AtCoDeer-Tarjan+Polya定理
Description给定一张NNN个点MMM条边的无向图,每条边要染一个编号在111到$K$的颜色。你可以对一张染色了的图进行若干次操作,每次操作形如,在图中选择一个简单环(即不经过相同点的环),并且将其颜色逆(顺)时针旋转一个单位。两种染色方案被认为是本质相同的,当且仅当其中一种染色后的图经过若干次操作后可以变成另一种染色后的图。问有多少本质不同的染色方案,输出对109+710^9+...原创 2019-05-11 10:38:20 · 371 阅读 · 0 评论 -
「Codeforces487E」Tourists-圆方树
Description给定一张简单无向连通图,要求支持两种操作:修改一个点的点权。询问两点之间所有简单路径上点权的最小值。n,m,q≤105n,m,q \leq 10^5n,m,q≤105Solution先不考虑修改。圆方树有一个性质,那就是(u,v)(u,v)(u,v)路径上的方点所代表的点双并为(u,v)(u,v)(u,v)间的简单路径并。所以只需要把方点权值设为其...原创 2019-04-24 17:31:51 · 180 阅读 · 0 评论 -
「BZOJ2693」jzptab-莫比乌斯反演
2019.5.2「BZOJ2693」jzptab-莫比乌斯反演Description求∑i=1N∑j=1Mlcm(i,j)\sum_{i=1}^N\sum_{j=1}^M lcm(i,j)i=1∑Nj=1∑Mlcm(i,j)n,m≤107n,m \leq 10^7n,m≤107,多组数据。Solution设f(n)=∑i=1N∑j=1M[gcd(i,j)=1]ijf(n) = ...原创 2019-05-02 17:04:50 · 360 阅读 · 0 评论 -
「ZJOI2019」打麻将-DP
Description链接Solution考虑如何判断一个牌的集合是胡的。首先第一种牌型只需记录有多少中牌出现次数超过222。对于第二种牌型,可以用DP解决。设f0/1,i,j,kf_{0/1,i,j,k}f0/1,i,j,k已经考虑了前iii种大小,表示之前是否预留了对子,之前预留了jjj对i−1,ii-1,ii−1,i,以及kkk个iii用于凑顺子(大小相邻的麻将牌)。每次...原创 2019-04-16 16:57:01 · 264 阅读 · 0 评论 -
「ZJOI2019」线段树-线段树
Description这是链接Solution这题可以看做每次有12\frac {1} {2}21执行1操作,问tagtagtag数组之和的期望乘2p2^p2p(ppp是1操作的次数)。根据期望的线性性,单独计算出每一个节点的tagtagtag为111的期望fif_ifi,顺便计gig_igi表示iii到根的路径有tag=1tag=1tag=1的概率。将[l,r][l,r][l,r]...原创 2019-04-15 17:13:20 · 260 阅读 · 0 评论 -
「HDU3629」Convex-计算几何
Description链接Solution考虑平面相交线段对数等于平面凸四边形数(相交线段相当于对角线)。平面凸四边形个数转化为总数减去凹四边形数。凹四边形数相当于一个三角形中包含了一个点。枚举被包含的点,计算包含它的三角形比较麻烦,统计不包含它的三角形。极角排序后,若两个向量i,ji,ji,j之间的夹角小于π\piπ,那么i+1&nbsp;ji+1~ji+1&nbsp;j的向量任意...原创 2019-01-02 22:56:48 · 243 阅读 · 0 评论 -
「LOJ2461」「2018 集训队互测 Day 1」完美的队列-分块
Description有nnn个std::queue<int>,编号为111到nnn。对于第iii个队列,当它的大小超过aia_iai时,它会执行pop()知道大小不超过aia_iai。每次操作为把[l,r][l,r][l,r]的队列push(x),xxx是给定的数。每次执行完操作后,求所有队列中有多少种不同的数。n,m,ai,x≤105n,m,a_i,x \leq 10...原创 2018-12-25 20:39:36 · 459 阅读 · 0 评论 -
「NOI2015」荷马史诗-Huffman树
Decription给定nnn个单词,现要求把每个词用kkk进制字符串进行替换。每个单词有出现次数,总长度为出现次数××\times替换字符串的长度。求最小总长度及在保证总长度的情况下,最长字符串sisis_i的最短长度。Solution裸的kkk叉哈弗曼树。将nnn个单词的加入按出现次数加入小根堆,每次取出前kkk个元素,统计他们的出现次数和sumsumsum,ans+=...原创 2018-07-04 21:13:16 · 222 阅读 · 0 评论 -
「TJOI / HEOI2016」求和-NTT+第二类斯特林数
Description给定nnn,求f(n)=∑i=0n∑j=0iS(i,j)×2j×j!f(n)=∑i=0n∑j=0iS(i,j)×2j×j!f(n)=\sum_{i=0}^n\sum_{j=0}^iS(i,j)\times 2^j \times j!Solution推式子f(n)=∑i=0n∑j=0iS(i,j)×2j×j!f(n)=∑i=0n∑j=0iS(i,j)×2...原创 2018-07-04 18:15:16 · 337 阅读 · 0 评论 -
[SHOI2017]相逢是问候(线段树+扩展欧拉定理)
DescriptionB 君希望以维护一个长度为 nn 的数组,这个数组的下标为从 11 到 nn 的正整数。一共有 mm 个操作,可以分为两种:将aia_i赋值为caic^{a_i}询问∑ri=laimodp\sum_{i=l}^ra_i \mod p Solution我们发现这道题有一个地方很不好处理: caimodp≢caimodpmodpc^{a_i}\m原创 2018-01-18 20:49:18 · 460 阅读 · 1 评论 -
[UVA]Wooden Sticks
Wooden SticksDescriptionThere is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodworking machine in one by one fashio原创 2017-01-28 12:33:09 · 358 阅读 · 0 评论 -
codevs2181 田忌赛马
题目描述 Description中国古代的历史故事“田忌赛马”是为大家所熟知的。话说齐王和田忌又要赛马了,他们各派出N匹马,每场比赛,输的一方将要给赢的一方200两黄金,如果是平局的话,双方都不必拿出钱。现在每匹马的速度值是固定而且已知的,而齐王出马也不管田忌的出马顺序。请问田忌该如何安排自己的马去对抗齐王的马,才能赢取最多的钱?输入描述 Input Description第一行为原创 2017-01-28 21:28:18 · 721 阅读 · 0 评论 -
HDU 1735 字数统计
Problem Description一天,淘气的Tom不小心将水泼到了他哥哥Jerry刚完成的作文上。原本崭新的作文纸顿时变得皱巴巴的,更糟糕的是由于水的关系,许多字都看不清了。可怜的Tom知道他闯下大祸了,等Jerry回来一定少不了一顿修理。现在Tom只想知道Jerry的作文被“破坏”了多少。 Jerry用方格纸来写作文,每行有L个格子。(图1显示的是L = 10时的一篇作文,’X’原创 2017-02-12 23:48:39 · 524 阅读 · 0 评论 -
HDU 1109 Run Away 模拟退火算法
Problem DescriptionOne of the traps we will encounter in the Pyramid is located in the Large Room. A lot of small holes are drilled into the floor. They look completely harmless at the first sight.原创 2017-02-15 19:24:23 · 558 阅读 · 0 评论 -
hihoCoder1044
描述小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节!但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。不仅如此,因为美食节的吸引,许多人纷纷踏上了和小Hi小Ho一样的旅程,于是有相当多的人遭遇到了和小Hi小Ho一样的情况——这导致这辆车上的人非常非常原创 2017-02-21 21:51:18 · 378 阅读 · 0 评论 -
HDU 3400 Line belt
题目大意给出两条平行的线段AB, CD,然后一个人在线段AB的A点出发,走向D点,其中,人在线段AB上的速度为P, 在线段CD上的速度为Q,在其他地方的速度为R,求人从A点到D点的最短时间。解题思路 如上图所示,红线部分为人走的路径。人所用的时间为 T = X / P + Y / Q + Z / R。然后我们做一个变形,令人在线段AB上花的时间为:F(X) = X / P ,原创 2017-02-22 19:48:19 · 397 阅读 · 0 评论 -
POJ 2296 Map Labeler
DescriptionMap generation is a difficult task in cartography. A vital part of such task is automatic labeling of the cities in a map; where for each city there is text label to be attached to its lo原创 2017-07-02 21:26:06 · 413 阅读 · 1 评论 -
[POJ1741]Tree(点分治)
Description给定一棵nn 个节点的带权树,称距离不超过kk的点对为合法点对,求一共有多少合法点对。n⩽10000n \leqslant 10000,多组数据。Solution如果使用普通的DFS遍历,时间复杂度为O(n2)O(n^2).无法接受. 考虑使用点分治,对于根节点u,路径可以分为经过点u和不经过的点u的路径.对于不经过点u的路径,递归处理子树即可. 接下原创 2018-01-16 21:59:00 · 233 阅读 · 1 评论 -
[CJOJ2320]数据结构练习
Description费了一番功夫,神犇 CJK 终于完成了前三道题目。“不错,不愧是新一代神犇 啊!” JesseLiu 满意地说道,“不过,你在算法方面的功底固然不错。对于数据结 构的运用,你又掌握地如何呢?” 听到“数据结构”这四个字,就连身为神犇的 CJK 也不禁吓出一身冷汗。“年轻 人,现在,对于我给定一棵树,你需要完成以下操作: 1.修改某个点的权值; 2.查询某两点间原创 2018-01-21 18:25:32 · 663 阅读 · 1 评论 -
[UOJ22]外星人(动态规划)
Description给出一个xx和nn个数aiai,你需要得到一个排列pp,使得依次执行 x=xmodapix = x \bmod a_{p_i}后,xx的值最大,求最后最大的 xx 值以及能得到这个 xx 这样的排列数对 998244353998244353 取模后的结果。n⩽1000,x⩽5000n \leqslant 1000,x \leqslant5000Solution原创 2018-01-21 18:25:05 · 362 阅读 · 0 评论