上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 30 下一页
摘要: 题面传送门 题目大意:给你两个$01$串$a$和$b$,每$8$个字符为$1$组,每组的最后一个字符可以在$01$之间转换,求$b$成为$a$的一个子串所需的最少转换次数,以及此时是从哪开始匹配的。 FFT怎么变成字符串算法了 每组的前$7$个字符是不能动的,所以把它压成一个数,用$kmp$求出$b 阅读全文
posted @ 2019-02-06 11:59 guapisolo 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题目大意:给你一张网格,上面有很多骑士,每个骑士能横着竖着斜着攻击一条直线上的格子,求没被攻击的格子的数量总和 好神奇的卷积 假设骑士不能斜着攻击 那么答案就是没被攻击的 行数*列数 接下来考虑斜着攻击对答案的贡献 以左下角为坐标原点建立坐标系,发现一条对角线的点的$(x+y)$坐标是相 阅读全文
posted @ 2019-02-06 10:26 guapisolo 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意:给你一个长度为$n$的自然数序列$a$,定义一段区间的权值为这一段区间里所有数的和,分别输出权值为$[0,\sum a_{i}]$的区间的长度之和 想到了生成函数的话,这道题并不难做。但很多细节真是不太好搞 我们首先预处理出前缀和s,那么一段区间$[l,r]$的权值就是$s_{ 阅读全文
posted @ 2019-02-05 21:50 guapisolo 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题面:BZOJ传送门 网络流的题真神仙= = 大致分为三种情况 选某个人$i$,收益减少$a_{i}$ 选了$i$选了$j$,收益增加$2e_{ij}$ 选了$i$不选$j$,收益减少$e_{ij}$ 收益问题用最小割的常用套路,实际收益$=$可能的收益总和$sum-$最小割 考虑最小割如何建图 源 阅读全文
posted @ 2019-02-03 17:01 guapisolo 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题面:BZOJ传送门 和方格取数问题很像啊 但这道题不能像网格那样黑白染色构造二分图,所以考虑拆点建出二分图 我们容易找出数之间的互斥关系,在不能同时选的两个点之间连一条流量为$inf$的边 由于我们是拆点建的图,所以对于两个点$x,y$,$x1$向$y2$连边,$y1$向$x2$连边,边权均为$i 阅读全文
posted @ 2019-02-03 14:19 guapisolo 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 题面:洛谷传送门 BZOJ传送门 最大流神题 把点权转化为边权,切糕里每个点$(i,j,k)$向$(i,j,k+1)$连一条流量为$v(i,j,k)$的边 源点$S$向第$1$层的点连边,第$R+1$层的点向$T$连边,流量均为$inf$ 跑最大流,最大流的流量就是答案 因为每条纵轴都取了最小的$v 阅读全文
posted @ 2019-02-03 14:04 guapisolo 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题目大意:给你一个网格图,每个格子都有$a_{ij}$的代价和$b_{ij}$的回报,对于格子$ij$,想获得$b_{ij}$的回报,要么付出$a_{ij}$的代价,要么$ij$周围四联通的格子都付出代价,求最大的回报-代价 好神的一道题,%%%jr 想获得$b_{ij}$的回报,要么付 阅读全文
posted @ 2019-02-02 19:29 guapisolo 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题面:洛谷传送门 BZOJ传送门 题目大意:给你一张有向无环图,边有边权,让我们用任意条从1号点开始的路径覆盖这张图,需要保证覆盖完成后图内所有边都被覆盖至少一次,求覆盖路径总长度的最小值 最小费用可行流板子题.. 有源汇最小费用可行流 给定一张有源汇网络流图,必须保证图中每条边的流量都$\in[l 阅读全文
posted @ 2019-02-02 14:41 guapisolo 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题目大意:给你互不相同的$n$个数,在其中任选$1$~$3$个数,不能重复选数,设它们的和为$S$。对于所有可能的$S$,求选出的数和为$S$方案总数,选数没有顺序。 先对所有的数弄一个生成函数$A$,有数的位置权值为$1$ 如果我们要选$x$个数,求方案数。只需要对$A$求$x$次卷积 阅读全文
posted @ 2019-02-01 11:00 guapisolo 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 多项式乘法: 然而蒟蒻的我并不会证明 $FFT$: 1 struct cp{ 2 dd x,y; 3 friend cp operator + (const cp &s1,const cp &s2){ return (cp){s1.x+s2.x,s1.y+s2.y}; } 4 friend cp o 阅读全文
posted @ 2019-01-28 21:16 guapisolo 阅读(188) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 30 下一页