CleverLarry的博客

我的剑刃愿为您效劳

洛谷P2680 运输计划——题解

题目传送门 题目大意: 有一颗n个节点的树和m条路径,你可以将树上任一条边的长度变为0,求所有路径中最长的一条的最小值。 思考过程: 这是典型的求最大值最小可以为多少的问题,我们考虑二分答案。 然后我们考虑如何检验当前答案是否可行。显然,长度小于当前答案的路径都是可行的,问题转化为如何判断长度大...

2018-09-25 23:22:30

阅读数 42

评论数 0

多项式乘法与FFT——学习笔记

前言 这篇博客很长,因为考虑到读者很多都是对FFT的了解除了名字再无其它的大白,所以详细地解释了许多,只要你耐心地把它看完,你一定会对FFT有更深刻的理解。 准备工作 首先我们要从泰勒公式说起。 泰勒公式是指若一个函数在x=x0x=x0x=x_0处有n阶导数,我们可以用含这n阶导数和(...

2018-07-04 20:49:27

阅读数 398

评论数 0

K-d树

前言 K-d树的K其实表示的是数据是几维的,所以我们一般用的都是2-d树。 2-d树原理 当数据有两维时,一般都是维护平面上的数据,我们无法想线段树那样一直缩小范围得到想要的区间,但是我们可以通过交错缩小横纵坐标来最终得到想要的平面,这就是2-d树的原理。 写法: 例子:简单题 ...

2018-06-30 18:05:03

阅读数 52

评论数 0

群论(Burnside引理和Polya定理)

群论 群指的是满足以下四个条件的一组元素的集合:(1)封闭性 (2)结合律成立 (3)单位元存在 (4)逆元存在。而在信息学中,我们主要用它来处理计数问题。 Burnside引理 因为我们一般只会用Polya,这里就不介绍Burnside了。 Polya定理 我们用一个例子来引入...

2018-06-30 17:53:43

阅读数 202

评论数 1

CDQ分治——学习笔记

前言 因为中国集训队的大佬们总会发明一些新的东西,所以中国的计算机竞赛水平才会一直处于国际前沿,而cdq分治也是某一年的集训队成员发明的算法。 什么是CDQ分治 cdq分治是一种分治(这不是废话嘛),和一般的分治一样,它先考虑前半部分,再考虑后半部分,再考虑前半部分对后半部分的影响,而c...

2018-06-30 17:03:31

阅读数 598

评论数 0

数据结构嵌套——学习笔记

引言 随着我们需要解决的问题越来越复杂,很多时候单一的数据结构已经无法解决问题了,所以我们需要把数据结构嵌套起来。 什么是数据结构嵌套 顾名思义,数据结构嵌套就是结合使用两个及以上(一般是两个,否则多的一般用其他的方法来代替)的数据结构。 这样看来其实数据结构嵌套非常简单,没有任何思维...

2018-06-30 16:10:19

阅读数 467

评论数 0

NOI2018湖北省队集训Day5 T2 cake

题面: 得分情况: 用不断切三角形做的,没注意数据范围,只拿了subtask1的5分。。。 (也没想到这是个结论题) 大结论: 对于n和m,先将n边形放到lcm(n,m)边形的盒子里(有公式),再用m边形来套这个盒子(有公式)是最优情况,不会证。。。 然后导导角推推公式就可...

2018-05-23 20:13:10

阅读数 74

评论数 0

NOI2018湖北省队集训Day5 T1 tree

题面: 得分情况: 写了朴素的O(n2)O(n2)O(n^2)dp没看到OJ上有多组数据,成功爆零了。 正解: 首先O(n2)O(n2)O(n^2)的朴素dp很简单,dp[i]表示在以i为根的子树中满足条件的方案数,转移是dp[i]=∏j(j为i的儿子)(dp[j]+1)dp[...

2018-05-23 20:07:26

阅读数 81

评论数 0

NOI2018湖北省队集训Day4 T2 djq 的朋友圈

题面: 得分情况: 35分枚举全排列暴力。。。 正解: 我们将直接与1相连的点称为a,不与1直接相连而与a直接相连的点称为b。 状压dp[i]表示已选的a,转移时枚举现在要选的a点,计算对答案的影响。(之前已选的点不管怎么排影响都已经计算过了)复杂度为O(2A∗B)O(2...

2018-05-23 19:28:34

阅读数 131

评论数 0

NOI2018湖北省队集训Day4 T1 djq和MZ

题面: 得分情况: 40分,写了纯暴力。 正解: 其实O(nn−−√logn)O(nnlog⁡n)O(n\sqrt{n}\log{n})的做法还挺好想的(然而我在考场上并没有想出来),分块莫队再用线段树维护块中类型的最大值即可。我们要想办法把这个lognlog⁡n\log{n}...

2018-05-23 19:12:21

阅读数 137

评论数 0

NOI2018湖北省队集训Day3 T1 贪婪人

题面: 得分情况: 爆零。。。 正解: 我们用dp[n][m][w]表示在n*m的网格中,贪心路径权值为w的方案数,转移时枚举向右和向下,时间复杂度O(h∗w∗s2)O(h∗w∗s2)O(h*w*s^2),能过70%的数据。 我们首先可以通过维护前缀和去掉一个s,将复杂度降为...

2018-05-23 18:35:00

阅读数 189

评论数 0

NOI2018湖北省队集训Day2 T2 string

题面: 得分情况 省队集训A掉的第一题。 正解: 长度为k的01串最多可以有(k-1)k/2个满足要求的数对(0,1交错出现),在这个串中每将一段长度为t的子串变成一样的(均为0或1),答案会减小t(t-1)/2,而这个减小的数是可以贪心的,每次减去小于还需要减的数种最大的即可...

2018-05-23 18:19:40

阅读数 77

评论数 0

NOI2018湖北省队集训Day2 T1 number

题面: 得分情况: 在1到n形成的子串上跑KMP,拿到10分。 正解: 对于每个正整数,答案有三种情况: 1.ans为n 2.在n的字符串中至少完整地出现了一个正整数,枚举位数和开头解决 3.n由i的一个后缀和i+1的一个前缀构成,枚举分割位置和位数解决 总复杂度O(n...

2018-05-23 16:46:32

阅读数 106

评论数 0

NOI2018湖北省队集训Day1 T3 san

题面: 得分情况: 本来是照着30分的2n2n2^n枚举全排列打的,结果多拿了五分,开心。 正解: 题目需要我们求的是一个拓扑序中的一个子串的和的最大值,看到题目并没有什么思路而且数据范围又这么小,开始考虑网络流。 我们对于每个节点考虑三种情况,1.不选在选的子串前,2....

2018-05-23 10:32:33

阅读数 96

评论数 0

洛谷P3620 [APIO/CTSC 2007]数据备份——题解

题目传送门 思考过程&具体做法: 显然,我们选作答案的每一个点对中的点都是相邻的,我们将这些数两两作差,于是问题变成了在n-1个数中选出k个不相邻的数,和最小为多少。 首先考虑初步贪心,即每次都取最小的数,但显然这样是错误的。 我们要思考怎么贪心才是对的。 我...

2018-05-16 22:08:52

阅读数 121

评论数 0

洛谷P2323 [HNOI2006]公路修建问题——题解

题目传送门 思考过程&具体做法: 首先将所有边的价格从小到大排序,然后二分答案,并查集维护是否连通来检验即可。 代码: #include <bits/stdc++.h> using namespace std;...

2018-05-16 21:59:29

阅读数 161

评论数 0

洛谷P3459 [POI2007]MEG-Megalopolis——题解

题目传送门 题目大意: 题目翻译有毒,我也表述不清楚,可以看第一篇题解弄清题意。 思考过程&具体做法: 我是用树链剖分硬搞的。具体的是把每个点父亲连向自己的那条边作为自己的权值,土路为1,公路为0,这样除了1外一开始所有点点权都是1,树链剖分维护点权即可。 ...

2018-05-16 21:55:37

阅读数 48

评论数 0

洛谷P4298 [CTSC2008]祭祀——题解

题目传送门 题目大意: 从一个图中选出最大的任意一点都无法到达其他点的点集。 思考过程&具体做法: 我们首先假设所有点都选了,现在问题转化为了删除最少的点。 我们从s向所有点连边,再从所有点的另一点向t连边,如果a能够达到b,我们从a向b的另一点连边,最终情况...

2018-05-16 21:45:10

阅读数 182

评论数 0

洛谷P3627 [APIO2009]抢掠计划——题解

题目传送门 题目大意: 看题面吧。 思考过程&具体做法: 先缩点,然后从市中心所在的新点开始做dp,最后对有酒吧的新点统计答案。 代码: #include <bits/stdc++.h> using nam...

2018-05-16 21:37:05

阅读数 117

评论数 0

洛谷P3258 [JLOI2014]松鼠的新家——题解

题目传送门 题目大意: 给出一个在树上移动的序列,求出每个点被经过的次数。 思考过程: 维护两个点之间的链的信息很明显我们需要树剖,但是树剖无法维护链上每个节点的信息,所以我们需要借助差分数组。 具体做法: 1.树剖 2.对于序列中相邻的两个点,像普通树剖求答案那样往上跳到L...

2018-05-15 14:41:42

阅读数 59

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭