上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页
摘要: 这种题就是难者不会,会者不难。 博客讲的很详细了 代码: 阅读全文
posted @ 2019-03-20 23:53 维和战艇机 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题意及思路 这个题加深了我对主席树的理解,是个好题。每次更新某个点的距离时,是以之前对这个点的插入操作形成的线段树为基础,在O(logn)的时间中造出了一颗新的线段树,相比直接创建n颗线段树更省时间。比较的时候二分比较,为了加快比较给每个点设置一个hash值。 代码: 阅读全文
posted @ 2019-03-20 19:14 维和战艇机 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 题意和思路看这篇博客就行了:https://www.cnblogs.com/cjyyb/p/10507937.html 有个问题需要注意:对于每个scc,只需要考虑进入这个scc的时间即可,其实和从哪个点进没有关系,因为scc内每个点都可以互相到达,所以只需记录时间就囊括了所有的情况,比如时间3从1 阅读全文
posted @ 2019-03-20 00:19 维和战艇机 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 题意看这篇博客。 思路参考的这篇博客。 补充:面对这种问题有一个常见的套路。比如计算若干个区间对答案的贡献这种问题,直接暴力可能复杂度到O(n ^ 2), 而我们可以计算出每个元素在多少个合法区间中,然后计算贡献,这样可以降到O(n)。对于此题,计算第一类贡献时就是这种方法。计算有多少种情况包含了这 阅读全文
posted @ 2019-03-18 17:36 维和战艇机 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题意及思路看这篇博客就行了,讲得很详细。 下面是我自己的理解: 如果只有2,没有3的话,做法就很简单了,只需要对数组排个序,然后从小到大枚举最大的那个数。那么它对答案的贡献为(假设这个数排序后的位置是pos)2 ^ (pos - 1) * 2 ^ a[pos]。意思是a[pos]这个数必选,其它比它 阅读全文
posted @ 2019-03-18 10:30 维和战艇机 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题面以及思路:https://blog.csdn.net/glqac/article/details/38402101 代码: 阅读全文
posted @ 2019-03-17 17:34 维和战艇机 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Codeforces 1107F(线性DP或二分匹配)博客 代码 Codeforces 1117D(线性DP +矩阵加速递推/ 杜教BM)博客 代码 Codeforces 1132F(区间DP) 类似题目:POJ1390 Codeforces 1107E Codeforces 1132E(记忆化搜索 阅读全文
posted @ 2019-03-15 15:16 维和战艇机 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Codeforces 1107G 博客:https://www.cnblogs.com/tusikalanse/p/10347821.html 代码:https://codeforces.com/contest/1107/submission/49356234 Codeforces 1132G 博客 阅读全文
posted @ 2019-03-15 10:38 维和战艇机 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个数组a,长度为。有两种操作。一种是改变数组的某个元素的值,一种是满足某种条件的数组b有多少种。条件是:b[i] <= a[i],并且b[1]^b[2]...^b[n] = k的数组有多少种。数组a的元素都小于1000. 思路:因为数很小,我们把数变成二进制数,然后拆分二进制数。比如11 阅读全文
posted @ 2019-03-14 23:26 维和战艇机 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个数组a和一个数组k,数组a一直保持一个性质:a[i + 1] >= a[i] + k[i]。有两种操作:1,给某个元素加上x,但是加上之后要保持数组a的性质。比如a[i]加上x之后,a[i + 1]<a[i] + k[i],那么a[i + 1]就变成a[i] + k[i],否则不变。同理 阅读全文
posted @ 2019-03-13 23:49 维和战艇机 阅读(710) 评论(0) 推荐(1) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页