"题目" 癌我竟然会做 发现我们要求的是一个最大独立集问题 发现一个格子和能攻击到的格子的奇偶性和它都不同,于是我们就可以按照$i+j$的奇偶性把整张图分成两个部分 两个部分之间没有连边 于是二分图最大独立集=总点数 最小点覆盖 最小点覆盖=最大匹配 代码 cpp include include i ...
分类:
其他好文 时间:
2019-03-07 14:10:33
阅读次数:
186
"题目链接 $Click$ $Here$" 本题$AC$自动机写法的正解之一是$Fail$树上跑$DP$。 $AC$自动机是$Trie$树和$Fail$树共存的结构,前者可以方便地处理前缀问题,而在后者中,一个节点的子节点, 代表以当前字符串为后缀的所有字符串节点 (根节点外向$Fail$树)。我们 ...
分类:
其他好文 时间:
2019-03-04 09:35:55
阅读次数:
182
题目链接 "戳我" $Solution$ 我们观察发现循环格要满足每个点的入度都为$1$ 证明: 我们假设每个点的入读不一定为$1$,那么必定有一个或多个点的入度为0,那么则不满足循环格的定义,所以假设错误。所以每个点的入度必然为1。 所以这样我们就可以开始建图了。先进行拆点操作,将每个点拆成$x$ ...
分类:
其他好文 时间:
2019-01-13 13:03:41
阅读次数:
183
Description 给定一个01矩阵,其中你可以在0的位置放置攻击装置。每一个攻击装置(x,y)都可以按照“日”字攻击其周围的 8个位置(x 1,y 2),(x 2,y 1),(x+1,y 2),(x+2,y 1),(x 1,y+2),(x 2,y+1), (x+1,y+2),(x+2,y+1) ...
分类:
其他好文 时间:
2019-01-10 20:53:55
阅读次数:
229
题目大意: 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 思路: 第i个单词在整个文章中出现了多少次即i串的结尾可以被多少个串的节点给跳到。 于是吧fail看成每个节点唯一的父亲,每个节点的权值为有多少个单词的前缀经过了它,然 ...
分类:
其他好文 时间:
2018-12-27 18:48:26
阅读次数:
110
这道题应该是后缀数组的套路题啊,把单词连接起来,中间用没有出现过且互不相同的字符来分隔开,求一下$height$数组。 对于一个单词来说,设单词长$len$,所在的后缀为$i$,如果某后缀$j$满足$lcp(i,j)==len$,则$j$的前缀与这个单词相等。因为和$i$的$lcp$大小是从$i$向 ...
分类:
其他好文 时间:
2018-11-30 11:16:03
阅读次数:
212
Description 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1。现在N个松鼠要走到一个松鼠家去,求走过的最短距离。 Input 第一行给出数字N,表示有多少只小松鼠。0 include include inc ...
分类:
其他好文 时间:
2018-11-22 13:19:11
阅读次数:
210
题意 "题目链接" 分析 "Imagine的完美回答" 重点大概是证明我们选出要救的小矮人一定可以根据 $a_i+b_i$ 的大小进行排序救出。 注意这里关注的对象是可以保留的高度,所以我们的dp值才会表示成最少减少的高度。 代码 ~~~cpp include using namespace std ...
分类:
编程语言 时间:
2018-10-19 21:49:27
阅读次数:
135
3170: [Tjoi2013]松鼠聚会 Description 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1。现在N个松鼠要走到一个松鼠家去,求走过的最短距离。 有N个小松鼠,它们的家用一个点x,y表示,两个点的 ...
分类:
其他好文 时间:
2018-10-19 10:16:46
阅读次数:
160