Loading

摘要: 落实1 这应该是我落实得最快的一次了。 T1 平板涂色 这道题我写的有点久,看到这种矩形就烦。但最后还是想到了一种神奇的做法:化矩形为图,我们能不能直接用图上的关系来表示这些矩形的关系呢?显然是可以的。怎么存呢? for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++ 阅读全文
posted @ 2021-02-13 14:28 Quick_Kk 阅读(99) 评论(1) 推荐(0) 编辑
摘要: 极简思路: 先跑一边AC自动机,处理出 fail 数组,然后再把文本串匹配一下,可以获得 vis 数组,代表着 trie 树上的这个点是文本串的前缀。最后只需要再每个模式串跑一遍 trie 树,就可以得到最长的公共前缀长度了。 #include<bits/stdc++.h> using namesp 阅读全文
posted @ 2021-02-08 10:21 Quick_Kk 阅读(70) 评论(1) 推荐(1) 编辑
摘要: 好久没有水一水数据结构了 LOJ 数列分块入门 2 这道题题意很简单,就是要写一个支持区间加法和区间查询小于 \(c^2\) 个数的数据结构。 考虑分块来做,对于区间加法可以直接用 \(lazy\) 标记维护块内和;对于查询,可以考虑对每个块中的按大小排好序后的数列二分找小于 \(c^2\) 的个数 阅读全文
posted @ 2021-01-21 22:31 Quick_Kk 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 最短路算法除了一些基础的应用,还有一些奇奇怪怪的食用方法。 Luogu P1396 营救 先从最最最简单的题开始,这题可以利用克鲁斯卡尔最小生成树的思想做,当 \(s\) ,\(t\) 两点在加边过程中连通了,那么此时的边权就是这条路径上最小的最大边权。 但是可以考虑用bfs的解法做此题。我们不妨二 阅读全文
posted @ 2021-01-13 00:19 Quick_Kk 阅读(144) 评论(1) 推荐(1) 编辑