上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: 成功的秘诀,在于克服自己看题解的冲动……【笑哭】。自己A掉这题还是灰常开心的~ 以及爱死 two - pointer ! two - pointer 大法是真的好哇……这个题目有上一题的经验:求第\(K\) 大 --> 二分第 \(K\) 大的值 --> 检验当前二分的值排名是第几。而这样之所以可以 阅读全文
posted @ 2018-07-29 20:36 Twilight_Sx 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 二分答案+++++++(。・ω・。) 感觉这个思路好像挺常用的:求第\(K\) 大 --> 二分第 \(K\) 大的值 --> 检验当前二分的值排名是第几。前提:排名与数值大小成单调性变化。于是对于这题我们也不例外,二分一下最后中位数的值是多少,把数组中的值 \(> K\) 的变成 \(1\),\( 阅读全文
posted @ 2018-07-29 19:24 Twilight_Sx 阅读(286) 评论(0) 推荐(1) 编辑
摘要: 二分答案 + two - pointer + 树状数组大法好ヽ(゚∀゚)メ(゚∀゚)ノ 我们可以直接二分一个答案,然后检验 是否存在一个值大于等于这个二分的答案的,且覆盖次数大于等于 \(k\) 的区间。这个过程我们用 two- pointer 来实现,当左右指针包含的区间权值大于等于二分的答案时, 阅读全文
posted @ 2018-07-29 08:28 Twilight_Sx 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 好zz啊我……(;д;) 首先我们可以删掉所有只有黑色节点的子树(一定不会遍历到), 且注意到每一个点你一定只会经过一遍。然后又考虑如果起点和终点相同,那么总次数实际上已经固定了:就是遍历整棵树(每一条边都需要经过两次),以及各点需要的改变颜色的额外花费。这个是可以愉快地 \(O(n)\) 统计的。 阅读全文
posted @ 2018-07-28 17:12 Twilight_Sx 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 首先,我们发现每一个节点所选择的次数不好直接算,因为要求一个节点被选择的次数大于等于父亲被选择的次数,且又要小于等于父亲被选择的次数 \(+D\)。既然如此,考虑一棵差分的树,规定每一个节点被选择的次数为 \(x\),表示节点实际上被选择的次数是父亲被选择的次数 \(+x\)。显然,这个 \(x\) 阅读全文
posted @ 2018-07-27 12:30 Twilight_Sx 阅读(473) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2018-07-26 22:07 Twilight_Sx 阅读(6) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-07-25 00:15 Twilight_Sx 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-07-22 22:33 Twilight_Sx 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Two - pointer 第一题…… 大概就是对于一段连续的区间求解,使用两个指针不断卡区间的长度直到区间不满足条件吧。 这题只要对区间以长度从小到大排一下序,然后使用两个指针指向区间。线段树维护被覆盖最多次数的节点被覆盖了多少次。如果满足条件,由于我们是在第一次判断的时候发现它满足条件的,所以最 阅读全文
posted @ 2018-07-22 22:29 Twilight_Sx 阅读(294) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-07-22 15:02 Twilight_Sx 阅读(8) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页