随笔分类 - 数据结构
摘要:「BalticOI 2021 Day1」Inside information 题目大意 有 n 个集合 Si ,一开始 Si={i}。 执行 m 个操作: 选择 u,v ,令 Su,Sv:=Su∪Sv。 对于 u,x,回
阅读全文
摘要:CF1286D - LCC 题目大意 给定n个点,每个点初始在xi,速度为vi,且有pi概率向右走,1−pi向左走 定义一种状态的权值为最先碰撞的两个点碰撞的时间(如果没有碰撞则为0) 求期望权值 分析 显然第一次碰撞一定发生在相邻两个点之间,因此不同的碰撞时间只有最多$
阅读全文
摘要:CF1280H - Make Square 题目大意 给定一个序列ai 设一个数n的分解为n=\prod prime_i^ 每次查询一个区间[l,r] 询问在区间内选两个数ai,aj(i≠j) 使得ai⋅aj的分解$\sum (c_i\mod 2)
阅读全文
摘要:CF1119F - Niyaz and Small Degrees 题目大意 给定一棵带权树,对于每个k∈[0,n−1] 求出删除一个权值最小的边集使得没有一个点度数>k 分析 单个k 考虑对于单个k的计算,可以有如下O(n)的dp做法 令dpu,0/1表示对于
阅读全文
摘要:CF1037H - Security 题目大意 给定一个串S,每次查询一个区间[l,r]和一个串T 求[l,r]\(内字典序\)>T的最小的子串R 分析 复习\text 显然可以枚举T匹配R的长度,然后枚举下一位字符,判断形成的串是否在[l,r]内有出现 匹配问题
阅读全文
摘要:CF1446F - Line Distance 题目大意 给定n个点Pi,在每个点对之间连一条线PiPj 求所有线到原点距离的第k小 分析 这个k大问题的k是O(n2)级的,因此不是调整,可以考虑二分答案L 考虑如何确定d(O,PiPj)>L,容易发现
阅读全文
摘要:CF1175G - Yet Another Partiton Problem 题目大意 给定序列ai,现在将其分成k段,每段[l,r]\(的权值定义为\)(r-l+1)\max{a_} 求最小化权值总和 分析 显然有\mathbb的dp dpi,j表示前i个分了$
阅读全文
摘要:CF1303G - Sum of Prefix Sums 题目大意 定义一个数列的a1,a2,⋯an的权值为∑(n−i+1)ai 对于一棵带点权的树,求所有路径数列最大的权值 分析 首先对于路径问题可以考虑无脑树分治 假设确定一条路径到达根的$b_1,b_2,\c
阅读全文
摘要:CF1477E - Nezzar and Tournaments 题目大意 有两队人ai,i∈[1,n],bj,j∈[1,m],现在把他们放在一起排成一行ci 顺次给每个人计分,初始s0=k \(s_i=\max\{0,s_{i-1}+c_i-c_{\max\{i-1,1
阅读全文
摘要:CF1051G - Distinctification 题目大意 对于一个二元组集合(ai,bi) 每次可以进行操作 1.如果存在ai=aj,可以花费bi代价ai增加1 2.如果存在ai=a+1,可以花费−bi代价使ai减少1 现在依次向集合插入$
阅读全文
摘要:「USACO 2021 US Open Platinum」United Cows of Farmer John 考虑依次枚举右端点i,计算左边合法的方案数,设一个数x上次出现的位置为lstx 则i能够作为右端点的区间就是[lst+1,i−2] 考虑什么样的位置可以作为左端点,
阅读全文
摘要:CF1368G - Shifting Dominoes 题目大意 给定一个被1×2的骨牌(横向或者竖向)铺满的方格图 现在可以拿走一个骨牌,之后任意一个骨牌可以沿着其放置方向左右移动至多一步 求最终两个空位所在不同位置的方案数 分析 观察一个空位的移动 如果上/下/左/右边是一条骨牌
阅读全文
摘要:CF1276F - Asterisk Substrings 题目大意 给定串S,|S|=n,设一个串的子串集合为Sub(S) 求|Sub(S)∪Sub(+S[2:n])∪Sub(S[1:1]++S[3:n])∪⋯| 其中*表示特殊字符而不是通配符 分析
阅读全文
摘要:CF1379F2 - Chess Strikes Back (hard version) 题目大意 给定一个2n×2m的交错棋盘,一个位置(i,j)可以放当且仅当2|i+j 给定q次操作,每次操作在一个位置加入或删除一个障碍 求是否存在一种方案能在棋盘上放入nm个互不
阅读全文
摘要:CF1217F - Forced Online Queries Problem 题目大意 n个点无向图,m次操作,每次加入/删除一条边,或者查询两个点连通性 lst为上次查询的连通性情况,即lst=0,1 加密方式为x=(x'+lst-1)\mod n+1 吐槽 如果你管这叫
阅读全文
摘要:「HAOI2018」字串覆盖 这自然有后缀数组和后缀自动的写法,我写的是后缀数组 现对于A,B两串拼接后建立\text 对于查询的四个参数[s,t,l,r]\(,在\)\text\(上找到能够匹配\)[l,r]\(的\)\text\(区间\)[l',r'] 这个$[l',r']\(就用\
阅读全文
摘要:[NOI Online 2021 提高组] 积木小赛 题目大意:给定串A,B,求B中有多少本质不同的连续子段是A的子序列 n\leq 3000 暴力枚举B中的子段,同步维护与A的匹配指针p 每次插入一个字符c,找到A中p+1之后第一个字符c,令
阅读全文
摘要:Codechef March Challenge 2021 Random Walk Queries(RWALKS) (动态点分治) 题目大意: 对于给定的无根树T,要求强制在线维护两种操作 1.游走(u,d),以u为根在树上游走,从u开始,最多走d步,每次随机从儿子中选择一个点
阅读全文
摘要:「JOISC 2020 Day3」收获 分类讨论.jpg 分析一棵苹果树被不断摘掉的过程,找到第一个摘它的人i 此后,每次摘它的人,就是i前面第一个距离它\ge C的人,不妨设其为nxt_i 显然,i,nxt_i的关系,会构成基环内向树森林,每条内向边有一个权值w_i 容易$
阅读全文