小Z的袜子(BZOJ-2038).pdf
小Z的袜子(BZOJ-2038).pdf
辣鸡的人总要想法自救,便产生了寒假学些新算法、在Bzoj刷些题的想法。一来为明年省赛做准备…压力不小;二来寒假也可以有些事情做。 PS 1.不定时更新做题的思路和吐槽 2.按照hzw刷题顺序训练,具体依照BZOJ题...
题目链接 题意 给出\(n\)个字符串,要构造一个长度为\(m\)的字符串\(S\),使得给出的\(n\)个字符串中至少有一个是\(S\)的子串。问方案数。 思路 \(AC\)自动机+\(DP\) 考虑至少有一个是S的子串不好考虑。...
题目链接 思路 看到n比较小,可以状压。 可以先考虑什么情况下会无法平衡。显然就是排完序之后两两相邻的不能满足小于等于c的限制。 状态。用f[i]来表示i集合中的鹿完成交换所需要的次数。 ...无法平衡的肯定就是INF。...
第1行: 1个整数,N第2..N行: 每行为2个用空格隔开的整数A、B,为两块相邻草地的编号第1行: 输出1个整数,即FJ最少建立无线电通讯塔的数目输入说明:F
定义“M”形的序列为一个长度为 T 的序列{Si},满足:存在 1 ,使得S1 一天他看到了一个长度为N 的整数序列
标签: 算法
题目链接 思路 这个"\(K\)远“点对一直理解成了距离第\(K\)大的点对\(233\)。 要求第\(K\)远,那么我们只要想办法求出来最远的\(K\)个点对就可以了。 用一个大小为\(2K\)(因为每个点对会被统计两次)的小头堆维护距离...
标签: 算法
题目链接 题意 求三元组的严格上升子序列 思路 先考虑暴力\(dp\)一下 for(int i = 1;i <= n;++i) for(int j = 1;j < i;++j) if(x[i] > x[j] && y[i] > y[j] &... f[i] = m...
为了顺利毕业,小诚仔细阅读了这几年被引用次数最多的十几篇会议论文,打算在权威理论的指导下设计一艘新型太空飞船。也就是说,小诚要把飞船所有N个舱室划分成K个部分
初始时,一个有N(5 ,000)枚硬币的堆栈放在地上,从堆顶数起的第I枚硬币的币值为C_i (1 ,000)。第1行
题意 给出一张图,将其分为一个团和一个独立集。问有多少种方案。团和独立集都不能为空 思路 先考虑找可行方案应该怎么做 显然是个\(2-sat\)。可以将分到团和独立集中分别看为0和1。 如果两个点之间右边,那么必定不...
题目链接 思路 \(KD-tree\)模板题 代码 #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<algorithm> #include<...#inclu...
(自己写的动态点分治巨垃圾,常数是别人的两倍) 用动态开点线段树死活过不去,学了一波大佬用 vector 开树状数组立马就卡过去了 考虑点分树的做法,在点分树上每个点以距离为下标建一棵线段树,每次询问查询子树的...
然后两个玩家轮流来取石子,每次每个玩家可以取走一堆中的所有石子,但有一个限制条件:一个玩家若要取走一堆石子,则与这堆石子相邻的某堆石子已被取走(之前被某个玩家取
题目链接 思路 如果想消灭掉一个植物,那么必须先消灭掉左右能保护这个植物的植物。这就成了最大权闭合子图的模板题了。 有两个需要注意的地方。 第一个就是,能保护当前植物的植物还有当前植物右面的所有植物。...
题目链接 思路 可以发现,其实题目中所描述的操作,就是在\(AC\)自动机上走的过程。输出就是打上标记。删除就是返回父亲节点。 然后看询问。每次询问字符串\(x\)在字符串中\(y\)出现的次数。其实也就是问在\(AC\)...
题目大意给出n,m求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j) 满足(n,m)(n,m^7)分析因为比起lcm,我们更常用到gcd,因此首先将题目转换为求gcd的形式 ans=∑i=1n∑j=1mlcm(i,j)=∑i=1n∑j=1mi∗j...
第一行一个数n,表示有n个玩偶,玩偶从0开始编号 第二行开始后面的 n行,每行三个数 ai, bi, c i,分别表示买一个第i个玩偶需 第一个询问表示的是去掉
题目链接 思路 先考虑没有额外收益的时候怎么做。 从\(S\)向第\(i\)点连一条容量为\(A_i\)边,表示种在\(A\)中的收益。 从第\(i\)个点向\(T\)连一条容量为\(B_i\)的边,表示种在\(B\)中的收益。...
题目链接 题意 思路 调到哭系列 其实就是kd-tree的模板题。用堆维护出距离最小的m个点。然后在\(kd-tree\)上查询。 ...这一个小地方从上午9点调到下午4点半。...* @Last Modified time: 2019-06-...
【题目链接】 ... 【算法】 贪心 先将这些工作按截至时间排序 建立一个小根堆,当决策是否完成一项工作时,若堆的大小小于该工作的截止时间,则将这项工作所获得的利润放入堆,否则,将这项工作的利润与...
作为一个计算机科学家,JYY有一套黑白色的拼图,他希望通过合理的拼接,使得拼出的最终图案中,能包含面积最大的全白色子矩形。之后JYY发现,可以通过改变这S块拼图
为了避免输入数据过于庞大,数据进行了压缩,解压方式可用下面这段代码解释://在点i与点j之间添加一条边权为w的边第一行包含一个正整数T(1),表示
对于两座不同的城市a 和b,如果a 能通过这些单向道路直接或间接到达b,且b 也能如此到达a,那么它们就会被认为是一对友好城市。eland 的交通系统十分特殊,
其中有WJMZBMR历年来的用的课件,还有几乎BZOJ上的所有代码,给大家提供借鉴,相信能起到帮助
【故事背景】宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等。不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情。这些游戏往往都有很多的
BZOJ3524BZOJ2223好久都没有接触主席树了,都已经忘的差不多了……说好的定期复习呢?主席树的还是像以前一样的前缀动态开点,如果当前主席树的左儿子容斥后的sum>r−l+12sum>\frac{r-l+1}{2},那么答案肯定在左儿子...
Manacher 贪心 题目传送门 **题目大意:**给你一个字符串,你可以造任意的回文串并把它们拼起来得到原串,求最少拼接次数(回文串可重叠)。 先Manacher求出ppp数组,把每个点看成一个一条线段,左右端点分别为i−p...
思路是这样的 我们考虑二分答案串 然后对于每个后缀,找到最近的至少要切割的位置 大概转化出来就是叫你在 [l,r] 内必须切一刀 (这个都会吧) 关键在于怎么二分。 理论上本质不同的子串只有 o(n^2) 个,但是暴力对...
【BZOJ修复计划 #21】BZOJ 2159 Crash 的文明世界 【国家集训队2011】