上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 21 下一页
摘要: 题意:有n个忍者(编号为1-n),每个忍者有三个属性:横坐标x,纵坐标y,所属门派c,要求支持三种操作: 1.改变第k个忍者的位置 2.改变第k个忍者的门派 3.查询编号为[l,r]之间的忍者中,所属门派不同的两个忍者的最大曼哈顿距离 通过曼哈顿距离变换,将每个忍者的横坐标和纵坐标拆成x+y和x-y 阅读全文
posted @ 2019-10-12 17:00 jrltx 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有两类武器(主武器和副武器),每类有若干把,每把武器都有一个基础属性S,以及k个附加属性,让你选一把主武器M和一把副武器S,使得最大。 显然后面的和式是一个k维的曼哈顿距离,带绝对值符号不好算,因此要想办法把绝对值去掉。由于两点任意一个维度(设其值分别为a,b)的曼哈顿距离要么是a-b,要 阅读全文
posted @ 2019-10-12 16:49 jrltx 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个长度为n(n<=150000)的字符串,每个下标i与(i*i+1)%n连边,求从任意下标出发走n步能走出的字典序最大的字符串。 把下标看成结点,由于每个结点有唯一的后继,因此形成的是内向基环树森林,相当于求基环树上字典序最大的路径。 实际上基环树和树一样是可以通过倍增得到走2^k步能走 阅读全文
posted @ 2019-10-09 21:40 jrltx 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 题目链接 明明是道状压dp的题我为啥非要用插头dp乱搞啊 逐行枚举,设dp[i][S]为枚举到第i个格子时,状态为S的情况。S为当前行上的“插头”状态,每两个二进制位表示一个格子,设当前格子为(x,y),则y之前的插头表示左插头,y之后的插头表示上插头,仅当当前格子上没有插头时才能够放置炮兵。转移的 阅读全文
posted @ 2019-10-08 20:41 jrltx 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 干脆整个LCT模板吧。 缺个链上修改和子树操作,链上修改的话join(u,v)然后把v splay到树根再打个标记就好。 至于子树操作...以后有空的话再学(咕咕咕警告) 阅读全文
posted @ 2019-10-07 20:54 jrltx 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意:二维平面上有n(n<=100)个点,其中k个是星星(k<=10),现要构造一棵树,每个星星对应树上的一个叶子结点,求最小花费(总花费为树上所有边的长度(两点间欧几里得距离)) 斯坦纳树上的DP问题,只是要求星星必须作为叶子结点,只要在跑第二类转移的时候不让其走到星星点即可。 由于是二维平面,两 阅读全文
posted @ 2019-10-07 15:42 jrltx 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题目链接 差不多是斯坦纳树裸题,不过边权化成了点权,这样在合并两棵子树时需要去掉根结点的权值,防止重复。 题目还要求输出解,只要在转移时记录下路径,然后dfs一遍就好了。 阅读全文
posted @ 2019-10-07 15:21 jrltx 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意:有一张无向图,每条边有一定的花费,给出一些点集,让你从中选出一些边,用最小的花费将每个点集内的点相互连通,可以使用点集之外的点(如果需要的话)。 算是斯坦纳树的入门题吧。 什么是斯坦纳树呢? 假定有这样的题目:给你一张无向图和一个点集,每条边有一定的花费,让你选出一些边使点集内的 阅读全文
posted @ 2019-10-07 15:11 jrltx 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 模板题,可用于求一个数的所有原根。 阅读全文
posted @ 2019-10-05 20:27 jrltx 阅读(125) 评论(0) 推荐(0) 编辑
摘要: n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合,是则输出1否则输出0 说是可持久化并查集,实际上是把并查集的所有find和merge操作都放到可持久化数组上做,这样可以做到完全可持久化(不仅能查询某 阅读全文
posted @ 2019-10-05 20:18 jrltx 阅读(167) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 21 下一页