随笔分类 -  图论

摘要:线段树优化建边用来处理点与区间和区间与区间之间的连边问题,比如说点u向[2,6]区间内的所有点连一条边,如果一个一个连显然非常麻烦,若是将区间[2,6]像线段树一样拆成log段,那么就可以加快建边速度了。如下图: 线段树优化建边和线段树的代码差不多,关键就是如何对结点进行编号,首先,为了方便我们要把 阅读全文
posted @ 2019-11-12 11:21 snowy2002 阅读(514) 评论(0) 推荐(1)
摘要:P1250 种树 题目描述 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号成1..N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民想在门前种些树并指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在指定 阅读全文
posted @ 2019-04-04 15:18 snowy2002 阅读(273) 评论(0) 推荐(0)
摘要:P3436 [POI2006]PRO-Professor Szu 题目描述 n个别墅以及一个主建筑楼,从每个别墅都有很多种不同方式走到主建筑楼,其中不同的定义是(每条边可以走多次,如果走边的顺序有一条不同即称两方式不同)。 询问最多的不同方式是多少,以及有多少个别墅有这么多方式,按照顺序输出别墅编号 阅读全文
posted @ 2019-03-18 17:42 snowy2002 阅读(315) 评论(0) 推荐(0)
摘要:P1347 排序 题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列A,B,C,D 表示A<B,B<C,C<D。在这道题中,我们将给你一系列形如A<B的关系,并要求你判断是否能够根据这些关系确定这个数列的顺序。 输入输出格式 输入格式: 第一行有两个整数n 阅读全文
posted @ 2019-03-17 17:51 snowy2002 阅读(675) 评论(3) 推荐(0)
摘要:这题一看就是缩点,但是缩完点怎么办呢?首先我们把所有的包含酒吧的缩点找出来,打上标记,然后建立一张新图, 每个缩点上的点权就是他所包含的所有点的点权和。但是建图的时候要注意,每一对缩点之间可能有多条边,所以我们可以先把重边去除一下,在建立新图,具体操作如下: 1 for(int i=1;i<=n;i 阅读全文
posted @ 2018-12-30 10:43 snowy2002 阅读(202) 评论(0) 推荐(0)