11 2019 档案
摘要:"题目链接" 发现区间按左端点排序后右端点也是单调的,所以扫一遍就行了,用权值线段树维护第k大
阅读全文
摘要:"题目链接" 用一个大根堆和一个小根堆维护中位数即可
阅读全文
摘要:"题目链接" 定义f[i][j]表示a=i,b=j时是必胜态还是必败态,博弈DP可以解决a,b≤100 的情况 然后就可以找规律了,发现f[i][j]=0的情况很少,所以打印出f[i][j]=0时的i和j的表 (i,j)和(j,i)是等价的,所以不妨只考
阅读全文
摘要:"题目链接" solution 类似于蚂蚁那道题的做法 弹性碰撞相当于交换位置并继续前进,考虑一个起点(x,0),时间为t出发的dancer,相当于从(x,t)的坐标出发,最终所有终点位置是一定的,但是不知道与哪个dancer配对 两个dancer碰撞的条件是x+y
阅读全文
摘要:"题目链接" 离线用链表维护,先按权值排序,建立链表,记录每一天在链表的位置,然后按天数从大到小查询,查询完删除
阅读全文
摘要:模板 "【模板】manacher算法" 不妨先只考虑如何求长度为奇数的回文串 记P[i]表示以i为中心最多向两边扩展几个字符,满足回文 如串ababa, P[1]=0,P[2]=1,P[3]=3,P[4]=1,P[5]=0 如果暴力求解的话就是枚举每个中心位置,暴力判断能否扩展,在随
阅读全文
摘要:T1 solution 求出第一个开始下降的位置,移动到连续的与它相同的数的最前面的一个数的位置,记录为p p以前的位置的数与原数相同,p位置为原数 1,后面全部为9 cpp include include include include define int long long u
阅读全文
摘要:存个链接[https://www.luogu.org/blog/KingSann/fou chang yong di hei ke ji san yuan huan post]
阅读全文
摘要:"第一题" 考虑树上DP,f[i][j][0/1]表示以i为根的子树,入读为零点的个数为j,点i的入度为0/不为0时的方案数 转移的时候考虑u的一个子树v的贡献,分类讨论边(u,v)的两个方向的两个方案,具体的转移方程看代码 记录子树size,利用“刷表法”,只进
阅读全文
摘要:"题目链接" 用两条扫描线从左往右扫描,距离为W,右边的扫描线扫到就加上,左边的扫到就减去, 线段树上的一点x维护(x,x+H)的星星总价值,修改时直接修改(x H,x)就行了 坐标大,离散化
阅读全文
摘要:求n个矩形的面积并,可以用线段树维护一条垂直于y轴的直线上被矩形覆盖的长度有多少长,将直线从左往右扫一遍,遇到矩形左边界就+1,遇到右边界就 1,不为0的位置就表示没有覆盖 不为0的位置的多少似乎不好维护, 考虑这样一个性质: 如果一个线段树上的区间在扫过一个矩形的左边界被全部覆盖,
阅读全文