摘要: 题解 练习一下带修改莫队 先按照左端点的块排序,再按照右端点的块排序,然后按照时间排序 每个修改操作存一下修改前这个位置的值就可以逆序操作了 代码 cpp include define fi first define se second define pii pair define pdi pair 阅读全文
posted @ 2018-12-10 20:00 sigongzi 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题解 又写了一遍KM算法,这题刚好是把最大最小KM拼在一起写的,感觉比较有记录价值 感觉KM始终不熟啊QAQ 算法流程大抵如下,原理就是每次我们通过减少最少的匹配量达成最大匹配,所以获得的一定是最大价值 1.我们先给左部点求一个期望大小,如果是最大KM,期望大小就是最大的那条边的权值,如果是最小KM 阅读全文
posted @ 2018-12-10 17:36 sigongzi 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题解 每种字符跑一遍FFT,得到$i + j = k$时匹配的个数(要÷2,对于相同位置的最后再加上 然后算出$2^{cnt[k]}$的和,最后再减去用mancher匹配出的连续回文子串的个数即可 代码 阅读全文
posted @ 2018-12-10 14:11 sigongzi 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题解 二分一个横坐标,过这个横坐标做一条和y轴平行的直线,相当于在这条直线上做区间覆盖,如果区间有交的话,那么答案是True 否则的话取两个不相交的区间,如果这两个圆相离或相切则不合法 否则看看相交的部分在二分的横坐标的左边还是右边,进行更新 代码 cpp include define fi fir 阅读全文
posted @ 2018-12-10 13:06 sigongzi 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 题解 Ca Fe Zn Se 显然我们既然初始矩阵就能通过线性变换变成单位矩阵,则该矩阵一定有逆 没有逆输出NIE 而且因为这些向量两两正交,则表示一个向量的时候表示方法唯一 那么我们求一个逆可以求出这个矩阵消成单位矩阵的线性表示,再拿第二个矩阵和逆矩阵相乘可以得到第二个矩阵每个行向量用第一个矩阵的 阅读全文
posted @ 2018-12-10 09:05 sigongzi 阅读(453) 评论(0) 推荐(1) 编辑