随笔分类 -  OJ&Competition——BZOJ

上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要:【传送门:BZOJ2599】 简要题意: 给出一棵n个点的树,和每条边的边权 求出所有距离为k的点对中,两个点之间的最少边数 题解: 点分治好题 设c[i]为当前点分治的时候与根的距离为i的最小边数 因为我们不能使得求出来的点对都在一棵子树里面,所以我们枚举每一棵与根相连的子树,每次求出对于这棵子树 阅读全文
posted @ 2018-04-27 20:56 Star_Feel 阅读(220) 评论(0) 推荐(0)
摘要:【传送门:BZOJ2152】 简要题意: 给出一棵n个点的树,和每条边的边权,求出有多少个点对,它们的距离为3的倍数 最后输出求出的点对数/总点对数的最简分数 题解: 点分治例题 求值时设t[i]为路径的值%3==i的情况数,那么答案就为t[1]*t[2]*2+t[0]*t[0] 参考代码: 阅读全文
posted @ 2018-04-27 11:23 Star_Feel 阅读(171) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1468&BZOJ3365】 简要题意: 给出一棵n个点的树,和每条边的边权,求出有多少个点对的距离<=k 题解: 点分治模板题 点分治的主要步骤: 1、首先选取一个点,把无根树变成有根树。 那么如何选点呢? ——树形DP 因为树是递归定义的,所以我们当然希望递归的层数最小。 每次 阅读全文
posted @ 2018-04-27 09:59 Star_Feel 阅读(220) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3530】 简要题意: 给出m个数,要求求出不含任意一个数的长度至多为n的数的数量 题解: 这道题比文本生成器要复杂一点,就是因为它的位数不确定,且不可以含有前导0 所以我们用数位DP的思想来做 设f[i][j][k]为当前长度为i且走到AC自动机的第j个点时,如果k=0,则表示仍 阅读全文
posted @ 2018-04-27 08:57 Star_Feel 阅读(200) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1030】 简要题意: 给出n个单词,要求求出至少含一个单词的长度为n的字符串数量 题解: 显然直接求出是很难求的,那么我们就求出总的字符串数量,再求出不含任何一个单词的字符串数量 然后相减就是答案 很像GT考试,不过变成了多个串,那么就用AC自动机 设f[i][j]为长度为i时到 阅读全文
posted @ 2018-04-27 07:47 Star_Feel 阅读(269) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3296】 简要题意: 给出n头牛,共有m种语言,每头牛会ki种语言,会相同语言的牛可以交流,A牛和B牛可以交流当且仅当它们能够通过和其他牛交流来互相交流 但是有些牛仍然不能互相交流,所以可以让某些牛学习一种或多种语言,让牛学习一种语言就必须买这个语言的书 求出能使得所有牛能相互交 阅读全文
posted @ 2018-04-26 15:00 Star_Feel 阅读(154) 评论(0) 推荐(0)
摘要:【传送门:BZOJ2329】 简要题意: 给出一个长度为n的括号序列,有q个操作,4种操作: Query l r求出最少的步数,每步可以改变一个括号,将l到r的括号序列变为一一配对(也就是左括号在右边总有一个右括号与之对应) Invert l r将l到r中的左括号变成右括号,右括号变成左括号 Swa 阅读全文
posted @ 2018-04-26 08:14 Star_Feel 阅读(170) 评论(0) 推荐(0)
摘要:【传送门:BZOJ2209】 简要题意: 给出一个长度为n的括号序列,有q个操作,3种操作: 0 l r求出最少的步数,每步可以改变一个括号,将l到r的括号序列变为一一配对(也就是左括号在右边总有一个右括号与之对应) 1 l r将l到r中的左括号变成右括号,右括号变成左括号 2 l r将l到r的序列 阅读全文
posted @ 2018-04-25 21:34 Star_Feel 阅读(215) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1047】 简要题意: 给出a,b,n,给出一个a*b的矩阵,要求在这个矩阵中得到一个n*n的矩阵,使得这个n*n的矩阵的最大值-最小值的差最小,求出最小的差 题解: 二维ST表(涨姿势) mx[i][j][k]表示左上角为(i-2k+1,j-2k+1),右下角为(i,j)的矩阵的 阅读全文
posted @ 2018-04-25 10:43 Star_Feel 阅读(190) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1009】 简要题意: 给出n,m,k,给出长度为m的不吉利串,求出长度为n的数字序列中不存在一个子串为不吉利串的序列数,答案%k 题解: 神矩乘+KMP f[i][j]表示当前枚举到第i位,和不吉利数字匹配到第j位 a[i][j]表示匹配到第i位,转移到第j位方案数(可以用KMP 阅读全文
posted @ 2018-04-25 09:34 Star_Feel 阅读(238) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1830&BZOJ1789】 简要题意: 给你3个字符串,你每一次可以在一个字符串的末端删除一个字符或添加一个字符,你需要用尽量少的操作次数使得这3个字符串变成一样的。 题解: 模拟直接搞,模拟以每个串的每个位置为最终答案,求最小值即可 参考代码: 阅读全文
posted @ 2018-04-25 07:54 Star_Feel 阅读(163) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1251】 简要题意: 给出一个长度为n的序列,有m个操作,3种操作: 1 l r k将l到r的数增加k 2 l r将l到r的数列翻转 3 l r求出l到r的最大值 题解: 裸SPLAY,直接下放两种标记,一种翻转,另一种增加值 而且对于求l到r的区间,我们需要l-1和r+1的节点 阅读全文
posted @ 2018-04-24 20:05 Star_Feel 阅读(190) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3620】 简要题意: 给出一个字符串和一个正整数k,判断有多少个子串为A+B+A的形式,如:aabaa(aa+b+aa),cbaccba(cba+c+cba) 注意不同位置但A,B相同算不同的子串,相同位置但A,B不同算相同子串 要求在len(A)>=k,len(B)>=1的情况 阅读全文
posted @ 2018-04-24 14:33 Star_Feel 阅读(333) 评论(0) 推荐(0)
摘要:【传送门:BZOJ4477】 简要题意: 给出一棵n个点的树,树上的边都代表一个字符串,给出Q个询问,每个询问输入x,y和字符串s,求出x到y的路径上以s为前缀的字符串个数 题解: 自己yy了一波可持久化字典树 将每条边的字符串放到深度更深的节点保存 对于x到y的路径,将rt[x]+rt[y]-2* 阅读全文
posted @ 2018-04-24 08:18 Star_Feel 阅读(276) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3144】 简要题意: 2n个不同n位二进制数(即0~2n-1,不足n位在前补零)的一个排列,这个排列满足相邻的两个二进制数的n位数字中最多只有一个数字不同,所谓超级格雷码就是指Bn个不同的n位B 进制数的排列满足上面的条件 任务:给出n和B,求一个满足条件的格雷码 对于大于9的数 阅读全文
posted @ 2018-04-23 21:19 Star_Feel 阅读(320) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3144】 简要题意: 题解: 最小割经典问题 我们构造一个P*Q*(R+1)的点阵,用(i,j,k)表示一个点 那么(i,j,k)->(i,j,k+1) 的流量为原图中(i,j,k)的不和谐值。 S向所有底层连无穷边,所有顶层向T连无穷边。 那么(i,j,k) -> (i,j,k 阅读全文
posted @ 2018-04-23 20:20 Star_Feel 阅读(189) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3261】 简要题意: 给出一棵2n-1个点的完全二叉树,非叶子节点为城市,叶子节点为乡村,城市一条边是公路,一条边是铁路,城市i向城市j连边必须满足i>j, 然后乡村有3个参数a[i],b[i],c[i],要求每一个城市选一条通向该城市的路进行翻修(也就是翻修n-1条道路) 设乡 阅读全文
posted @ 2018-04-23 15:40 Star_Feel 阅读(174) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3261】 简要题意: 给出n个数,有m个操作,有两种操作: A x在序列末尾添加一个数x,序列长度+1 Q l r x在l到r中选出一个位置q,使得a[p]^a[p+1]^... ^a[n]^x最大,求出这个最大值 题解: 可持久化01字典树的例题 其实建图和查找都和主席树差不多 阅读全文
posted @ 2018-04-22 20:27 Star_Feel 阅读(203) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1135】 简要题意: 给出1到n号的鞋子,每对鞋子有k对 已知x号脚的人可以穿x到x+d号的鞋子 给出m个操作,每个操作输入r,x,说明来了x个r号脚的人(如果x为负数,则说明走了x个) 判断k对鞋子是否能够满足任何时刻所有人都有鞋穿 题解: 二分图匹配显然会超时 这时。。就应该 阅读全文
posted @ 2018-04-22 19:53 Star_Feel 阅读(193) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1222】 简要题意: 有n个任务,每个任务给出A机器单独完成,B机器单独完成,A和B机器共同完成的时间(如果为0,则说明不能用这种方法完成该任务),求出完成n个任务的最小时间 题解: DP 设f[i][j]为完成第i个任务且A机器运行了j时间时,B机器最少的运行时间 转移:f[i 阅读全文
posted @ 2018-04-22 16:22 Star_Feel 阅读(237) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 15 下一页