![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
poj
文章平均质量分 77
EzCUfST
这个作者很懒,什么都没留下…
展开
-
poj 3468 线段树+懒标记
简单的线段树区间求和问题,每次改变区间值得时候采用懒标记的操作,等到下次经过这个区间的时候再将懒标记向下传递。#include #include using namespace std; int n,q; int a[100005]; long long sum[500005],lazy[500005]; void build(int l,int r,int k) { lazy[原创 2015-08-02 19:29:46 · 466 阅读 · 0 评论 -
poj 2528 线段树+离散化+有颜色的区间覆盖
区间覆盖,和一般的区间覆盖问题的区别是每个覆盖的区间是有颜色的,最后要输出可见的颜色个数。对于每个区间操作,我们可以采用懒标记的思想,等到有其他区间覆盖过来时,将该区间的颜色向下传递。具体见代码。 #include #include #include using namespace std; struct node { int l,r; }; node a[10002]; i原创 2015-08-02 19:39:35 · 692 阅读 · 0 评论 -
poj 3041 构图+最小点覆盖
题意是草地上有若干个泥泞的地方,可以用木板覆盖一行或者一列,求最少需要多少木板。 这个题的关键在于构图,我们把方格的每一行看成一个结点,每一列看成一个结点,那么容易的看出这是一个二分图,我们在有泥泞的地方连一条边,比如在点i,j处有泥泞,那就在i,j两点连一条边。那么可以容易的看成题目就变成了求二分图的最小点覆盖的问题。代码如下: #include #include #includ原创 2015-08-03 13:38:55 · 452 阅读 · 0 评论