上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 58 下一页
摘要: I.[HNOI2012]三角形覆盖问题 扫描线问题是计算几何里面的一大重点……吗? 不管怎么说,这道题的确要使用扫描线解决。 具体来说,因为$n$只有$10000$,考虑使用$O(n^2)$的做法并加以剪枝。 我们首先将所有三角形按照顶点的$x$坐标递增顺序。接着,考虑用扫描线维护每一时刻与扫描线相 阅读全文
posted @ 2021-04-03 13:22 Troverld 阅读(137) 评论(0) 推荐(0) 编辑
摘要: XLVII.CF1500E Subset Trick 考虑对于每个集合大小 \(i\),找到所有大小为 \(i\) 的集合中元素和最小的一个 \(l_i\) 与最大的一个 \(r_i\)。则,所有 \(x\in[l_i,r_i)\) 均不合法。 于是我们就要求 \(\Big|\bigcup\limi 阅读全文
posted @ 2021-04-03 13:19 Troverld 阅读(72) 评论(0) 推荐(0) 编辑
摘要: XLVI.CF1408G Clusterization Counting 很明显,将边按照权值从小到大排序后,依次用冰茶姬合并,如果任意时刻出现了团,则这个团显然是唯一合法的可能。人脑思考可得这个团之间的关系肯定是个划分树关系(即一个大团裂成许多小团的树形关系),因此总合法团数是 \(O(n)\) 阅读全文
posted @ 2021-04-03 13:18 Troverld 阅读(49) 评论(0) 推荐(0) 编辑
摘要: XLV.[HNOI2009] 梦幻布丁 线段树合并是非常显然的,但是这里我们偏不用。这里我们使用的是启发式合并——虽然这仍然非常显然。 可以使用链表做到 \(O(n\log n)\) 但是我太懒了因此直接暴力用 set 做了,是 \(O(n\log^2n)\) 的不过一样也能过。 附:set 直接 阅读全文
posted @ 2021-04-02 23:17 Troverld 阅读(49) 评论(0) 推荐(0) 编辑
摘要: XLIV.CF607D Power Tree 考虑计算 \(x\) 子树中某个节点 \(y\) 对于 \(f(x)\) 的贡献,发现是 \(w_y\times\prod\limits_{z\in\text{path}(y,x)}deg_z\),其中 \(deg_z\) 是 \(z\) 节点的儿子数。 阅读全文
posted @ 2021-04-02 23:15 Troverld 阅读(58) 评论(0) 推荐(0) 编辑
摘要: XLIII.URAL1097. Square Country 2 考虑二分,二分后转成判定性问题,然后用扫描线+线段树处理即可。时间复杂度 \(O(n\log^2n)\)。 代码: #include<bits/stdc++.h> using namespace std; int n,m,q; str 阅读全文
posted @ 2021-04-02 23:13 Troverld 阅读(31) 评论(0) 推荐(0) 编辑
摘要: XLII.[NOI2019] 弹跳 一眼看上去,单点向矩阵连边、最短路,这不是数据结构优化建图是什么? 想了想二维线段树优化建图,发现可以。 于是就写了,内层线段树写的还是可以压缩空间的线段树合并。 然后MLE了。 \(88\) 分代码: #include<bits/stdc++.h> using 阅读全文
posted @ 2021-04-02 23:11 Troverld 阅读(55) 评论(0) 推荐(0) 编辑
摘要: XLI.[NOI2017] 蚯蚓排队 算算数据范围,可以哈希,只需要将所有长度在 \(50\) 以内的串扔进哈希表,然后询问时找到对应的串的出现次数即可。 这里的哈希表必须用双哈希,其中第一维开在数组范围内,然后第二维作为链表挂在后面,因此范围可以无限大。不过因为要在 int 内处理,因此我两个模数 阅读全文
posted @ 2021-04-02 23:09 Troverld 阅读(90) 评论(0) 推荐(0) 编辑
摘要: XL.[NOI2017] 整数 首先可以想到一种用线段树维护每一位的方法:一个数 \(a\times2^b\) 拆成 \(\log a\) 个位置上 \(+1\),执行单点 \(+1\) 的时候如果出现进位就找到右方第一个非 \(1\) 的位置,然后单点加,区间赋 \(0\);执行减法的时候,就是找 阅读全文
posted @ 2021-04-02 23:07 Troverld 阅读(91) 评论(0) 推荐(0) 编辑
摘要: XXXIX.[NOI2017] 蔬菜 第一眼这个奇奇怪怪的限制,想到网络流。 为了处理这个“每天坏 \(c_i\)”个的限制,我想到的方法是,第一天的 \(c_i\) 个仅能在第一天销售,就只往代表第一天的点连边;第二天的 \(c_i\) 个可以在第一天和第二天销售,故往代表第一天和第二天的点连边; 阅读全文
posted @ 2021-04-02 23:03 Troverld 阅读(38) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 58 下一页