摘要:
题目传送门 线段树维护区间 线段树结构体 struct zzz{ int l,r,mi; //l为以左端点的为起点的最长子串 //r为以右端点为终点的最长子串 //mi是区间内部的最长子串 }tree[50010<<2]; 合并 合并的时候要考虑左右区间互拼的情况 inline void up(in 阅读全文
摘要:
" 题目传送门 " 很不错的一道单调队列神题 可以发现,当我们向右移动右端点时,左端点也会向右移动或不动。所以我们可以从左向右移动右端点,以上一个区间的左端点作为这个区间的左端点,然后将左端点右移,直到这个区间为一个合法区间。 为了判断区间是否合法,我们可以维护每个元素的前缀和,从而得到每段长为$d 阅读全文
摘要:
" 题目传送门 " 操作2和操作3 反着 写是什么鬼?反人类 权值线段树的模板题 然而AC后才发现,可以用$\tt{set}$水过…… 权值线段树类似于用线段树来实现平衡树的一些操作,代码实现还是比较方便的 阅读全文
摘要:
" 题目传送门 " 校内资格赛题目,差点高一就要$\tt{AFO}$了 30分思路 对30%的数据,满足$1≤n≤10$ 所以我们可以子集枚举,实际得分40pts 阅读全文
摘要:
" 题目传送门 " 此解法超级暴力。洛谷最优解倒数…… 因为为这道题只有$30$种颜色,所以我们可以用 30颗线段树 来分别维护每种颜色。 涂颜色就将对应颜色的线段树区间染色成$1$,其他的染成$0$。 统计颜色就把线段树都枚举一遍,统计在这个区间上有$1$的线段树数量 ~~然而正解是压位线段树~~ 阅读全文
摘要:
" 比赛传送门 " 熬夜氪肝打$CF$,好不容易搞出来三道题,~~TMD~~又$FST$了 $\rm{QAQ}$,还是第二道题,死因:数组开小。我什么时候能认真一些啊…… 第三道题因为错了太多+做得完,和第二题一个分 不过我竟然涨了 4个rating (可能是我太菜了,已经不屑于扣我的$\tt{ra 阅读全文
摘要:
" 题目传送门 " 北极为什么会有企鹅啊,而且北纬91°在哪啊? 关键在建图 因为任意两个城市间都可以互相到达,再加上还有“快捷通道”,光是建图就已经$\rm{T}$了…… 但这题给了一个提示:除去快捷通道,边权 只与 两个城市的 异或值 有关 根据这个性质,我们可以发现,直接建图时,有很多边是多余 阅读全文
摘要:
悬线法可以用来求一类带有障碍点的最大子矩阵问题,对于一个$N \times M$的矩阵,该算法时间复杂度$O(NM)$。 基本概念 有效竖线:除了两个端点外,不覆盖任何一个障碍点的竖直线段 悬线:上端覆盖了一个障碍点的或者到达整个矩形上边界的有效竖线 悬线对应矩形:如果把一个悬线向左右两个方向尽可能 阅读全文
摘要:
" 题目传送门 " $\rm{kkksc03}$说是模板题,但像我这种蒟蒻觉得万分艰难 这道题目的核心在于求出所有的危险城市,我们可以一次性将所有的被占领的城市全部加入队列里,然后扩展危险城市 还有一点就是点权最短路,具体看代码吧 阅读全文
摘要:
" 题目传送门 " 比较裸的差分约束…… 当$k=1$,在$a,b$之间连一条边权为$0$的双向边 当$k=2$,从$a$向$b$连一条边权为$1$的边 当$k=3$,从$b$向$a$连一条边权为$0$的边 当$k=4$,从$b$向$a$连一条边权为$1$的边 当$k=5$,从$a$向$b$连一条边 阅读全文