V2EX wnjxyk
 wnjxyk 最近的时间轴更新
wnjxyk

wnjxyk

V2EX 第 149153 号会员,加入于 2015-11-29 17:47:18 +08:00
wnjxyk 最近回复了
@wnjxyk 是我的错,群晖的 DDNS 域名似乎都没有备案
使用群晖自带 DDNS 与 *.synology.me 可行吗?这个域名应该是群晖自己备案过的。
我在使用 Bow 的三折蓝牙键盘打字,全尺寸而且可以把 iPad 放在桌上、键盘放腿上离老远打字感觉,感觉还是很舒服的。
2018-12-08 09:33:45 +08:00
回复了 hyousan 创建的主题 问与答 问个算法问题。。。。。。。
理解一下 Problem Statements,有 n 个点(x, y)、m 个矩形(x, y, w, h),试问当前图形是否满足 每个点都至少被一个矩形包含 且 每个矩形都包含至少一个点。

假设 n 与 m 都是 1e5 的数量级别的,这个问题可以使用 O(nlogn)的复杂度解决。我们分`每个点至少被一个矩形包含`与`每个矩形都至少包含一个点`这两个部分解决。

首先的首先,如果坐标的数值范围大的可怕,坐标离散化是必须的。

每个点至少被一个矩形包含:
这个问题可以使用扫描线+树状数组(区间修改单点查询)解决。
我们把矩形拆成(x, y)-(x+w, y)的入边与(x, y+h)-(x+w,y+h)的出边两种。然后把入边、出边与点混在一起按照 y 的值排序(如果点和边的 y 值相同,那么要保证入边<点<出边这种顺序)。
按照 y 值从小到大的顺序便利这个对象组,当遇到一个入边(x, y)-(x+w, y)的时候,我们对树状数组的[x, x+w]范围区间+1,遇到一个出边(x, y)-(x+w, y)的时候,我们对树状数组的[x, x+w]范围区间-1。
当遇到点(x, y)的时候,我们查询树状数组位置 x 的值,假设为 p,就表示这个点就被 p 个矩形包含。如果 p=0,那就 GG 啦,直接返回 NO。

每个矩形都至少包含一个点:
这个问题,我们直接使用可持久化线段树来解决。
我们把矩形(x, y, w, h)的排序关键值设为 y+h,点(x, y)的排序关键值设为 y,然后把点和矩形混在一起排序(如果关键值相同,我们保证点<矩形)
接下来,我们建立一颗可持久化线段树 tree_0,然后关键值从小到大的顺序便利这个对象组。每遍历一个新的离散化之后的 y 值 y0,我们就从 tree_{y}创建一个新的可持久化线段树 tree_{y0+1}。如果当前是一个点(x, y),我们对当前可持久化数据结构的 x 位置+1,如果当前是一个矩形(x, y, w, h),我们在 tree_{y+h}-tree_{y-1}这个线段树上查询区间[x, x+w]的和 p,p 表示这个矩形包含点的数量,如果 p=0 就 GG 啦,返回 NO。

如果这两个条件都满足就 YES 了。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3335 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 17ms UTC 04:48 PVG 12:48 LAX 20:48 JFK 23:48
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86