上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页
摘要: 题解: 线段树区间合并 只需要维护两端 再选正面或反面时4种情况是否满足情况 合并的话 考虑左儿子的右端点 右儿子的左端点的大小关系 然后合并 3526: [Poi2014]Card Description 有n张卡片在桌上一字排开,每张卡片上有两个数,第i张卡片上,正面的数为a[i],反面的数为b 阅读全文
posted @ 2019-02-03 22:58 wang9897 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题解: 方法一 我们采用树链剖分+线段树的做法 对于操作2,3都是基本的树剖操作 唯一不同的是换根 对于换根我们分情况讨论 若查询的节点是当前根的lca节点 那么查询的是 查询节点在根-节点路径上的儿子节点的子树的补集 (可以手画一下 若查询的节点不是lca那么直接查询原树的子树范围 若查询的节点是 阅读全文
posted @ 2019-02-03 20:53 wang9897 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题解: 水题...但是看错题意了 将'<='转化成最短路连边即可 1731: [Usaco2005 dec]Layout 排队布局 Description Like everyone else, cows like to stand close to their friends when queui 阅读全文
posted @ 2019-02-03 16:56 wang9897 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题解:把前缀和丢进trie树 维护以i结尾的区间最大异或和pre[i] 把后缀和丢进tire树 维护以i起始的区间最大异或和suf[i] 然后枚举前半部分 查询后半部分最大值 我们可以通过st表来维护最大值 然后取max即可 4260: Codechef REBXOR Description Inp 阅读全文
posted @ 2019-02-03 03:32 wang9897 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题解:神.....神题 求中位数->区间第k大->主席树 好了进死胡同了 因为没办法差分区间和区间 我们再考虑 对于中位数...那我们把大于等于这个数的置1 小于这个数置-1 然后查询区间和是否大于等于0来check 根据这个性质 我们考虑二分中位数(因为具有单调性...很明显证明 但是每次二分都去 阅读全文
posted @ 2019-02-03 01:50 wang9897 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题解: 这个出题人 就应该祭天....什么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 阅读(134) 评论(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) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页