Processing math: 100%

10 2020 档案

摘要:题目链接 #题目大意 三种操作,破坏一个点,修复最后被破坏的点,询问包含这个点的连续区间的最大长度。 #解题思路 用线段树维护父节点的前缀最长区间和后缀最长区间。 父节点的前缀最长区间最小等于左二子的最长前缀区间,如果左儿子的最长前缀区间是整个区间,那么父节点的最长前缀区间则还可以加上右二子的最长前 阅读全文
posted @ 2020-10-17 21:27 shuitiangong 阅读(123) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 给一个环,然后求每次修改后的最大子段和,最大子段和不能包含整个子段。 #解题思路 以往解决环形问题都是通过将两个相同的数组拼接起来实现的,但是这个题如果这么写的话要考虑区间长度问题,很麻烦。 有一个巧妙的方法,在维护区间最大子段和的同时,再维护一个区间最小子段和,那么考虑两个数 阅读全文
posted @ 2020-10-16 20:31 shuitiangong 阅读(113) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 有n个人,依次给出这n个人进入队列时前面有多少人p[i],和它的权值v[i],求最终队列的权值序列。 #解题思路 用线段树维护一个数组,最初全是1,代表每个位置有没有人。从后往前推,最后一个人的位置肯定是他最终的位置,然后把他删去,那么消去了最后一个人的影响,倒数第二个人的位置 阅读全文
posted @ 2020-10-15 07:39 shuitiangong 阅读(147) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 一个数字可以移动到i+arr[i]iarr[i](合法的话),问每个位置移动到与当前的值奇偶性不同的位置需要的次数。 #解题思路 一个数字可以移动到i+arr[i]和i-arr[i],设d[i]表示能到达奇偶性不同的点需要的最小次数,如果这个数一次就可以,那么d 阅读全文
posted @ 2020-10-11 21:31 shuitiangong 阅读(143) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 略 #解题思路 对于相等的关系很好维护,关键是对于不想等的关系。如果xixj不相等,那么xi所在集合中的所有点都是和xj所在集合中的所有点不相等的。 把不相等的xixj,所在集合的代表结点建一条边,如果xi所在集合要和其他集合合并, 阅读全文
posted @ 2020-10-11 16:45 shuitiangong 阅读(153) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 略 #解题思路 最大回文子串的变形。用dp[i][j][k][l]表示第一个字符串第ij这个子段和第二个字符串jk这个子段形成的回文串是否存在,因为两个字符串的组合一共有四种方式,所以转移方式有四种: 1.只有第一个字符串且$s1[i]==s1[j], dp[i][j][k 阅读全文
posted @ 2020-10-04 17:08 shuitiangong 阅读(149) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 略 #解题思路 使用两个优先队列,第一个优先队列以v为第一优先级,s为第二优先级从大到小排序,第二个优先队列以s为第一优先级,v为第二优先级从小到大排序。对于第一个优先队列堆顶的一对(v,s)来说,如果s我们选出的所有数的数量小,就不需要他了,因为我们以v的大小为第一优先级,加 阅读全文
posted @ 2020-10-04 09:37 shuitiangong 阅读(138) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示