摘要: 虽然说好像这题有其他做法,但是在问题转化之后,使用CDQ分治是显而易见的 并且如果CDQ打的熟练的话,码量也不算大,打的也很快,思维难度也很小 没学过CDQ分治的话,可以去看看我的另一篇博客,是CDQ分治的入门教程 下面是正文: 首先整理一下条件: 每个点有三个属性,x,r,f 统计有多少对点i,j 阅读全文
posted @ 2017-01-26 10:47 mlystdcall 阅读(959) 评论(0) 推荐(0) 编辑
摘要: 好久没有来写博客啦,来水一发。 网络流建模首先很容易想到,如果一个人能睡一张床,那么在这个人和这张床之间连接一条容量为1的边从s向每个需要住宿的人连容量为1的边,表示这个人需要住宿从每张床向t连容量为1的边,表示这个床容纳了一个人求最大流,如果流量等于需要住宿的人数,则有解,否则无解分析一下,一共需 阅读全文
posted @ 2017-01-25 13:16 mlystdcall 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 前言 上一篇文章已经介绍了简单的CDQ分治,包括经典的二维偏序和三维偏序问题,还有带修改和查询的二维/三维偏序问题。本文讲介绍多重CDQ分治的嵌套,即多维偏序问题。 四维偏序问题 给定N(N<=20000)个有序四元组(a,b,c,d),求对于每一个四元组(a,b,c,d),有多少个四元组(a2,b 阅读全文
posted @ 2016-12-29 11:34 mlystdcall 阅读(5744) 评论(7) 推荐(8) 编辑
摘要: 前言 辣鸡蒟蒻__stdcall终于会CDQ分治啦! CDQ分治是我们处理各类问题的重要武器。它的优势在于可以顶替复杂的高级数据结构,而且常数比较小;缺点在于必须离线操作。 CDQ分治的基本思想和实现都很简单,但是因为没有人给本蒟蒻详讲,所以我对着几篇论文头疼了一个下午,最终在menci和sxysx 阅读全文
posted @ 2016-12-25 13:52 mlystdcall 阅读(27417) 评论(25) 推荐(26) 编辑