随笔分类 - 毒瘤
摘要:#[CTSC2002]灭鼠行动(模拟) 题面 分析 对于模拟题来说,代码本身就是最好的题解。感觉写的可读性还行吧 代码 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector>
阅读全文
摘要:[LuoguP4426][AHOI2018]毒瘤(动态DP) 题面 给出一个个点条边的无向图,求独立集个数。 分析 注意到很小,我们可以暴力枚举这些非树边的状态,按两边选和不选有(0,0)(
阅读全文
摘要:[SPOJ2666][ZJOI2007]捉迷藏Query on a tree IV(树链剖分)(论文做法) 题面 实际上,捉迷藏是Query on a tree IV的简化版。但区别只是捉迷藏的边权全部为1.这里把两个题合并起来写。 给定一棵包含 N 个结点的树,每个节点要么是黑色(亮灯),要么是白
阅读全文
摘要:[BZOJ 3145]Str(SAM+启发式合并) 题面 Arcueid得知了两者的DNA片段,想寻求一个DNA片段,使得其在两者的DNA中都出现过。我们知道公主的脑袋有点不太灵活,如果两个DNA片段只有一个位置不同,她也会将其认为是相同的。所以请您找出这样的最长的DNA片段吧。 分析 考虑两个串中
阅读全文
摘要:[BZOJ1921][CTSC2010]珠宝商(点分治+后缀自动机) 题面 给出一个个点的树,每个点上都有一个字符。再给出一个长度为的特征串。求树上所有简单路径经过节点的字符按顺序连接起来后的串在特征串中的出现次数之和。 分析 显然发现是点分治。考虑如何计算经过一个点的所
阅读全文
摘要:[BZOJ3998][TJOI2015]弦论(后缀数组) 题面 对于一个给定长度为N的字符串,求它的第K小子串是什么。 T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。K的意义如题所述。 分析 不同位置的相同子串算作一个(T=0) 每个子串都是一个后缀的前缀。那么我们
阅读全文
摘要:[BZOJ5306] [HAOI2018]染色(容斥原理+NTT) 题面 一个长度为 n的序列, 每个位置都可以被染成 m种颜色中的某一种. 如果n个位置中恰好出现了 S次的颜色有 K种, 则小 C 会产生 的愉悦度. 求对于所有可能的染色方案, 他能获得的愉悦度的和。答案对 100453
阅读全文
摘要:[Luogu 5465] [LOJ 6435] [PKUSC2018]星际穿越(倍增) 题面 n个点的图,点i和[l[i],i)的所有点连双向边。每次询问(l,r,x)表示x到[l,r]的所有点的最短路径长度和/(r l+1)。 步可以到达的编号最小的点为
阅读全文
摘要:[BZOJ4182]Shopping (点分治+树上多重背包+单调队列优化) 题面 马上就是小苗的生日了,为了给小苗准备礼物,小葱兴冲冲地来到了商店街。商店街有n个商店,并且它们之间的道路构成了一颗树的形状。 第i个商店只卖第i种物品,小苗对于这种物品的喜爱度是wi,物品的价格为ci,物品的库存是d
阅读全文
摘要:[APIO2019] [LOJ 3145] 桥梁(分块+并查集)(有详细注释) 题面 略 分析 考试的时候就感觉子任务4是突破口,结果却写了个Kruskal重构树,然后一直想怎么在线用数据结构维护 实际上是离线算法。考虑只有查询的时候。我们可以离线对查询的权值从大到小排序,边也按边权从大到小排序,然
阅读全文
摘要:[BZOJ 3731] Gty的超级妹子树 (树分块) 题面 给出一棵树(或森林),每个点都有一个值。现在有四种操作 1.查询x子树里 y的值有多少个 2.把点x的值改成y 3.添加一个新节点,它的父亲是x,值是y 4.断开节点x与父亲节点的边,一棵树变成两棵树 分析 新姿势 树分块get 分块预处
阅读全文
摘要:[HNOI2016]树(可持久化线段树+树上倍增) 题面 给出一棵n个点的模板树和大树,根为1,初始的时候大树和模板树相同。接下来操作m次,每次从模板树里取出一棵子树,把它作为新树里节点y的儿子。操作完之后有q个询问,询问新树上两点之间的距离 分
阅读全文
摘要:[Codeforces 639F] Bear and Chemistry(Tarjan+虚树) 题面 给出一个n个点,m条边的无向图(不保证连通,可能有自环和重边),有q次询问,每次询问给出p个点和q条边,判断加上q条边后,这p个点中的任意一个点对(x,y)是否都满足:能从x走到y,再从y走到x,不
阅读全文
摘要:[Codeforces 280D]k Maximum Subsequence Sum(线段树) 题面 给出一个序列,序列里面的数有正有负,有两种操作 1.单点修改 2.区间查询,在区间中选出至多k个不相交的子区间,使得这至多k个子区间中数的和最大 分析 极其毒瘤的线段树,要维护18个变量 首先考虑查
阅读全文