逆向思维
alpc_qleonardo
这个作者很懒,什么都没留下…
展开
-
BZOJ 1015 星球大战starwar(并查集+逆向思维)
看到这题,想起另一道背景是红色警戒的题,但是已经找不到了…… 题目简单明了,给你一幅图,每次删去一个点以及和这个点相连的所有边,问删除完毕后的图有几个连通块。 显然,如果暴力做,每次删边再重新计算连通块个数,效率低下。但是并查集只能加边,不能删边,不这么做还能怎么做呢?LCT吗,太麻烦了……我们不如试试反过来想,并查集支持加边,那我们把这个过程反过来,不是每次删除点和边,而是每次添加边。原创 2017-07-17 18:31:36 · 360 阅读 · 0 评论 -
HDU 5603 树状数组+逆向思维
很久以前遇到的一道题,大概是在武汉的时候的一次校内选拔?然后当时在酒店下午迷迷糊糊的看了,一下,瞬间被三个3*1e5吓哭了…… 然后紧接着又被第二天的武汉华中区邀请赛虐哭了……数据结构什么的还是很灵活多变的,也是博大精深…… 这题的话,看到都知道用的是数据结构,然后庞大的数据量着实让人头疼。看了题解之后也不胜唏嘘。原创 2017-05-07 23:03:45 · 460 阅读 · 0 评论 -
CSU 2022/2015 Artwork(并查集+逆向思维)
大致题意,每次可以把两个同行或者同列的点之间涂黑,然后每进行一次操作统计一次图的连通分量。 一道套路题,之前貌似做过两次。直接考虑逆向思维,从最后的分隔状态开始,每次往前减少一个操作,判断连通分量的减少情况。用权值表示每个地点被覆盖的次数,一旦出现覆盖次数变为0,即要进行更新,更新时首先增加一个连通分量,表示其本身,其次在合并四个方向,每进行一次合并减少一个连通分量。具体见代码(现场代码略丑):原创 2018-04-03 22:45:06 · 698 阅读 · 0 评论