洛谷
文章平均质量分 65
calabash_boy
退役
展开
-
洛谷P5115 : SAM + 边分治 + 虚树dp
题意给出串SSS,K1,K2K1,K2K1,K2,求∑i=1n∑j=i+1nLCP(i,j)⋅LCS(i,j)⋅[LCP(i,j)≤K1]⋅[LCS(i,j)≤K2]\sum_{i = 1}^{n} \sum_{j = i + 1}^{n}{LCP(i,j) \cdot LCS(i,j) \cdot [LCP(i,j) \le K1] \cdot [LCS(i,j) \le K2]}∑i=1n...原创 2019-10-15 01:33:28 · 466 阅读 · 0 评论 -
Luogu 3942 :乱搞?
题意:有一个经典DP问题是树的最小点集覆盖,那个问题是说:要你选出一个最小的点集,使得树上所有的点要么是点集里的点,要么和点集里的点相连。就是一个01DP.。。现在这个题的意思是,树上的点要么在点集中,要么离点集的最小距离题解:考虑直径,把一个端点选做根,另一个端点就是深度最大的点,考虑这个点,想要把它覆盖了,并且同时覆盖面尽量广,那么就要选择他的k爹((爹的)^k-1爹)原创 2017-11-03 00:03:12 · 205 阅读 · 0 评论 -
洛谷3698 CQOI 2017 小Q的棋盘
题意:给出一个树,从0开始出发,可以走m步,问这m步最多可以访问多少个不同的点。题解:很神奇的题目啊。考虑树的遍历(dfs):2*(n-1)步就可以把每个点都访问两次(叶节点1次)。观察边对答案的贡献:dfs往下走的边:每条边会贡献一个新的节点。dfs回溯的边:每条边对答案没有贡献。且对答案没有贡献的边不会走第二次。那么问题很简单了。先抓住一个主方向:往以0为一端的最长链的方向可劲走,原创 2017-10-09 16:43:24 · 397 阅读 · 0 评论 -
Luogu 1169 棋盘制作:计数问题
题意:给出一个矩形的棋盘,每个点非0即1,代表黑色和白色。国际象棋的棋盘是黑白交错的。分别求出面积最大的正方形和矩形合法棋盘。题解:首先看正方形可以很轻松的N*M的DP给搞定。再来看矩形,一个极大的矩形必然四个边界都是极大的,也就是说四个边界如果某一个继续拓展1,必然不合法。那么我们可以通过枚举下边界,然后预处理出每个点向上最多延伸的高度,这样我们只需要求出在这一行上,左右两边最近的那个比这个原创 2017-08-12 13:59:48 · 392 阅读 · 0 评论 -
luogu 3907 :Trie 树板子(dalao勿看,水的辣眼睛)
题意:给出N(题解:对N个串造一个Trie树,然后拿着T在树上跑,如果T串失败了,那么直接退出。T匹配到了某个Node,然后从这个Node开始DFS就可以了。Code:#includeusing namespace std;const int MAX = 1000;char buff[MAX],delta[MAX];struct Trie_Node{ Trie_N原创 2017-08-09 20:21:38 · 1062 阅读 · 0 评论 -
BZOJ 1023 [SHOI2008]cactus仙人掌图:圆方树+单调队列DP
题目传送门题意:给出一个仙人掌图,边权都为1,求其直径。 仙人掌图:无向图的每条边至多存在于一个简单环中。 仙人掌图直径:Max(dis(u,v)) 1<= u < v <=n。dis(u,v)是u、v之间的最短路径。题解:先考虑退化情况:仙人掌退化为一棵树。很显然可以通过一个树形DP来解决,讨论路径的形态:1、分跨在一个点的两个子树中2、...原创 2018-04-18 17:32:27 · 623 阅读 · 0 评论 -
洛谷 P4557 战争:凸包+闵可夫斯基和
题意:给出两个凸包AAA和BBB,有若干询问,每次给出一个向量V=(x,y)V = (x,y)V=(x,y),将BBB按照VVV的方向平移到B′B'B′,然后回答AAA和B′B'B′是否相交。题解:题目的条件等价于 存在点a,ba,ba,b,其中a∈A,b∈Ba\in A, b \in Ba∈A,b∈B,且满足a=b+Va = b + Va=b+V。则得...原创 2019-05-13 21:51:49 · 815 阅读 · 0 评论