摘要: 题解: 这个出题人 就应该祭天....什么jb题意啊 知道题意以后 就直接把所有反串插入到trie树中 然后贪心从子树小的进行dfs遍历标号 答案就是每个点与父亲标号差值的和 注意一定要进行压缩 即除根以外都要是关键节点 4567: [Scoi2016]背单词 Description Lweb 面对 阅读全文
posted @ 2019-02-02 22:58 wang9897 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题解:难点在于建图 首先有个很显然的思路 就是 $$ i\rightarrow i+a[i]+1\left ( i+a[i]<=n \right ) $$ 边权为0 $$ i\rightarrow n+1\left ( i+a[i]>n \right ) $$ 边权为 $ i+a[i]-n $ 然后 阅读全文
posted @ 2019-02-02 20:08 wang9897 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题解: LIS的变式版本 我们用两颗线段树和一个数组来维护 dp[i]表示以i结尾的最长满足条件的序列 转移的话 分情况转移 他可以是从 大于 小于 等于三个方向转移过来 然后取max即可 更新的话 已知dp[i]可以推出下一个符号 然后在对应的数据结构中更新即可 2090: [Poi2010]Mo 阅读全文
posted @ 2019-02-02 18:10 wang9897 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题解:n的范围 告诉这题做法是线性的 .....如果没有d这个操作 那好像就直接双指针扫过去就行了 现在有了d的限制 我们只需要把一段区间里面连续长度为d且和最大那一段赋值为0即可 这样我们可以通过单调队列实现 综合两者在双指针扫描同时 维护合法区间的最大连续d的和 然后check即可 4385: 阅读全文
posted @ 2019-02-02 16:12 wang9897 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题解 orz最小生成树 查询[l,r]区间需要花费Cij 那么我们假设有n+1个状态分别表示前缀查询 那么我们对于查询[i,j]等价于(-1,j)连边 因为我们可以在Cij花费下 实现两个前缀状态的转移 又已知 我们知道所有前缀状态时 可以轻易找出每个位置的状态 所以只需要连边求MST即可 3714 阅读全文
posted @ 2019-02-02 00:35 wang9897 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题解:树链剖分裸题 2836: 魔法树 Description Input Output Sample Input 4 0 1 1 2 2 3 4 Add 1 3 1 Query 0 Query 1 Query 2 Sample Output 3 3 2 阅读全文
posted @ 2019-02-02 00:10 wang9897 阅读(212) 评论(0) 推荐(0) 编辑