上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 65 下一页
摘要: 首先考虑把bi和ai同时减i,问题变为非严格递增。显然如果a是一个递减序列,b序列所有数都取其中位数最优。于是划分原序列使得每一部分递减,然后考虑合并相邻两段。如果前一段的中位数<=后一段的中位数,显然各自b的取值不变就行了;否则将b的取值统一改为合并后序列的中位数。感性证明。 于是用左偏树维护中位 阅读全文
posted @ 2019-01-19 22:48 Gloid 阅读(161) 评论(0) 推荐(0)
摘要: 建出点分树,每个节点维护其作为点分树上lca对子树内点的贡献,线段树维护即可,同时另开一个线段树以减掉父亲重复的贡献。 阅读全文
posted @ 2019-01-19 19:31 Gloid 阅读(216) 评论(0) 推荐(0)
摘要: 考虑建出圆方树。显然只有同一个点相连的某些子树同构会产生贡献。以重心为根后(若有两个任取一个即可),就只需要处理子树内部了。 如果子树的根是圆点,其相连的同构子树可以任意交换,方案数乘上同构子树数量的阶乘即可。而若是方点,注意到其相邻的圆点在原树中是有序地在一个环上的,要产生同构只能旋转或翻转该环。 阅读全文
posted @ 2019-01-19 17:22 Gloid 阅读(285) 评论(0) 推荐(0)
摘要: 可能作为最优解的边双都可以这样生成:初始时边双内只有一个点,每次选取边双内部两点(可以相同)和一个当前不在边双内的点集,以该两点为起止点找一条链(当然如果两点相同就是个环)将点集串起来,加入边双。状压dp模拟这个过程即可。注意找链时对二元环特判。 阅读全文
posted @ 2019-01-19 13:11 Gloid 阅读(207) 评论(0) 推荐(0)
摘要: 板子题。可以转一下坐标防止被卡。精度和常数实在难以平衡。 阅读全文
posted @ 2019-01-19 02:13 Gloid 阅读(232) 评论(0) 推荐(0)
摘要: 如果没有长度为偶数的限制,新建一个点向所有奇点连边,跑欧拉回路即可,显然此时一定存在欧拉回路,因为所有点度数都为偶数。 考虑长度为偶数的限制,将每个点拆成两个点放进一个二分图里,那么每条原图中的边在二分图中会对应两条边,一条长度为偶数的路径在二分图中显然是由某部分出发再走回这部分。我们需要让每条原图 阅读全文
posted @ 2019-01-19 01:11 Gloid 阅读(332) 评论(0) 推荐(0)
摘要: 显然容斥后转化为求树链的交。这个题非常良心的保证了查询的路径都是到祖先的,求交就很休闲了。 阅读全文
posted @ 2019-01-18 22:14 Gloid 阅读(188) 评论(0) 推荐(0)
摘要: 显然f(i)是一个k+2项式,g(x)是f(i)的前缀和,则显然其是k+3项式,插值即可。最后要求的东西大胆猜想是个k+4项式继续插值就做完了。注意2p>maxint…… 阅读全文
posted @ 2019-01-18 21:12 Gloid 阅读(340) 评论(0) 推荐(0)
摘要: 显然只要求出以每个位置开始的AA串数量就可以了,将其和反串同位置的结果乘一下,加起来就是答案。考虑对每种长度的字符串计数。若当前考虑的A串长度为x,我们每隔x个字符设一个关键点,求出相邻两关键点的后缀lcp和前缀lcs,交叉部分就是跨过这两个关键点的A串长度为x的AA串个数。差分一发就能对每个位置求 阅读全文
posted @ 2019-01-18 18:50 Gloid 阅读(224) 评论(0) 推荐(0)
摘要: 数据范围过小怎么做都行。考虑优秀一点的做法。考虑dfs树上两台中心服务器间的路径,路径上所有能割掉中心服务器所在子树的点均可以成为答案。直接从两点中的任意一点开始dfs就更方便了。一开始弱智的以为只要是路径上的割点都能作为答案,wa了无数发。当然建棵圆方树也完全没问题。 阅读全文
posted @ 2019-01-18 16:49 Gloid 阅读(252) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 65 下一页