![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BZOJ
rainbow979
这个作者很懒,什么都没留下…
展开
-
BZOJ3997 Dilworth定理
题目:Dilworth定理:DAG的最小链覆盖=最大点独立集 原题便可转为求最大点集且集合中任意两点不可到达(即左下-右上关系) DP求解#include<cstdio> #include<cstring> #include<iostream> using namespace std; int n,m,a[1003][1003],T; long long f[1003][1003]; inli原创 2015-12-28 19:54:53 · 365 阅读 · 0 评论 -
bzoj2780 广义后缀自动机+parent树+Dfs序+树状数组
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2780 大意:给n个串,再给m个询问,询问一个字符串是出现在哪几个母串中。 bzoj2754的强化版。广义后缀自动机:对于多个串建立后缀自动机,每次只要将last改为1就好了。这题思路大体同bzoj2434。 但还是具体讲一讲。。。 首先建广义后缀自动机,对于每个节点,记录它属于哪几个串,原创 2016-01-02 17:18:56 · 1264 阅读 · 0 评论 -
bzoj2434 ac自动机+fail树+Dfs序+树状数组
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2434 大意:有3种操作,1、在末尾加入一个字符;2、删除末尾的一个字符;3、打印当前字符串。 m个询问,第a个打印出来的字符串在第b个打印出来的字符串中出现了几次。首先建立AC自动机,第2个操作相当于跳到当前节点的父亲,第3个操作可以挂到节点上。 然后我们来研究询问。 可以发现,若a字符原创 2016-01-02 16:44:40 · 470 阅读 · 0 评论 -
bzoj4305 数学
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=4305 大意:给长度为n的数列a,求有多少种数列b满足: 1、1<=b[i]<=m 2、 gcd(b[1],b[2],…,b[n])=d(d=1,2,3,…,m) 3、[ai≠bi]的个数为kk个不同可以转为n-k个相同。 用cnt表示数列a中有多少个是d的倍数。 ans[d]=C(c原创 2016-01-18 21:39:10 · 343 阅读 · 0 评论 -
bzoj2754 后缀数组
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2754 大意:给n个串,每个串分为2部分(姓和名)。串由(<=10000)的数字组成。再给m个串,求这m个串分别是n个串子串的个数,以及n个串分别包含m个串的个数。感觉自己最近真的是极度拖延症。并且代码能力也是boom!boom!boom!每次看到难打的题都是只想想就扔一边了。(这是退役的前兆吗原创 2015-12-31 12:46:54 · 530 阅读 · 0 评论 -
bzoj3533 凸包+线段树+三分
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3533大意:维护一个向量集合,在线支持以下操作: “A x y (|x|,|y| < =10^8)”:加入向量(x,y); ” Q x y l r (|x|,|y| < =10^8,1 < =L < =R <=T,其中T为已经加入的向量个数)询问第L个到第R个加入的向量与向量(x,y)的点积的最大原创 2015-12-30 21:18:23 · 764 阅读 · 0 评论 -
bzoj3658 树状数组+双向链表
题目:http://www.lydsy.com/JudgeOnline/problemstatus.php?id=3658 大意:平面上有n个点,每个点有k种颜色中的一个。你可以选择一条水平的线段获得在其上方或其下方的所有点。请求出你最多能够得到多少点,使得获得的点并不包含所有的颜色。————————————————————————————————————————————————– 用链表记录每原创 2015-12-29 20:59:56 · 732 阅读 · 0 评论 -
BZOJ1997 2-sat
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1997大意:给一个哈密顿回路以及其他边,问是否图中任意两条无重合顶点的边不相交。对于两条边,要么连外面要么连里面。然后就可以2-sat啦。(当边数大于点数*3时肯定不合法)#include<iostream> #include<cstdio> #include<cstring> using nam原创 2015-12-29 15:05:38 · 400 阅读 · 0 评论 -
bzoj4027 贪心
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=4027大意:给一棵有根树,当你删除一个节点时,这个点上的权值会加到父节点,儿子连到父节点上。要求一个点上的权值+儿子个数<=m。根节点不能删。贪心:设删点对父节点的影响为g。对一个子树,肯定尽可能多的删子树内的点。(删子树根节点的话只能删一个点且最后会删到根节点)#include<iostream原创 2015-12-28 22:33:22 · 337 阅读 · 0 评论 -
bzoj3996 dinic
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3996A^T为A的转置(一开始没懂什么意思,后面才知道其实就是把矩阵沿对角线翻转,即B[i][j]=A[j][i]) 然后用矩阵推一下就是一个网络流的代价和收益(同时选取2个)问题。#include<iostream> #include<cstdio> #include<cstring> usi原创 2015-12-28 21:02:01 · 249 阅读 · 0 评论 -
bzoj3926 广义后缀自动机
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3926 大意:给一棵树,每个节点代表一个字符,任意2个节点之间可以表示为一个字符串,问不同字符串的个数。(数据保证叶子节点<=20) 思路同bzoj2780先吐槽一下,这3题建边简直要炸了,幸好学到了种新姿势,在结构体里打内置函数(用到外面的变量名 ::变量名),这种题错了完全不想看,原创 2016-01-02 17:36:49 · 716 阅读 · 0 评论