随笔分类 -  题解

摘要:蒲公英 Description 在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。 为了简化起见,我们把所有的蒲公英看成一个长度为n的序列(a1,a2,...,ai,...,an) ,其中 ai 为一个正整数,表示第i棵蒲公英的种类编号。 而每次询问一个区间[l,r],你需要回答区间里 阅读全文
posted @ 2019-05-21 19:52 Parsnip 阅读(438) 评论(0) 推荐(0)
摘要:线段树合并 对于一类问题中,假如我们有若干棵权值线段树,它们都维护相同的值域区间$[1,n]$,我们希望能够将这些线段树对应区间的关键值进行相加,同时继续维护区间最大值/最小值等信息,这就需要用到线段树合并算法。 一般来说,我们会用如下的方式来实现线段树合并: 我们用两个指针$p,q$分别从两个线段 阅读全文
posted @ 2019-05-21 19:32 Parsnip 阅读(856) 评论(0) 推荐(0)
摘要:入门看这边 "『线段树 Segment Tree』" 。 扫描线 扫描线是一种解决一类平面内统计问题的算法,通常会借助线段树来实现,我们通过一道例题来引入这个算法。 Atlantis Description There are several ancient Greek texts that con 阅读全文
posted @ 2019-05-18 21:21 Parsnip 阅读(1302) 评论(4) 推荐(5)
摘要:并查集 并查集是一种可以动态地维护若干个不重叠的集合,并支持查询和合并的数据结构。 具体地说,并查集支持以下两种操作: $1.$ 查询某一个元素属于哪个集合 $2. $ 把两个集合合并为一个大集合 查询操作 我们可以用代表元法来查询集合。也就是说,对于每一个集合,我们指定一个元素为这个集合的代表元, 阅读全文
posted @ 2019-05-13 16:08 Parsnip 阅读(393) 评论(0) 推荐(1)
摘要:摆渡车的题解我已经写过一遍了,在 "这里" ,这次主要从斜率优化的角度讲一下摆渡车,并总结一下斜率优化会出现的一些奇奇怪怪的错误。 摆渡车 Description 有 n 名同学要乘坐摆渡车从人大附中前往人民大学,第 i 位同学在第 titi分钟去 等车。只有一辆摆渡车在工作,但摆渡车容量可以视为无 阅读全文
posted @ 2019-05-08 21:27 Parsnip 阅读(733) 评论(0) 推荐(0)
摘要:任务安排1 Description $N$个任务排成一个序列在一台机器上等待完成(顺序不得改变),这$N$个任务被分成若干批,每批包含相邻的若干任务。 从时刻$0$开始,这些任务被分批加工,第$i$个任务单独完成所需的时间是$Ti$。在每批任务开始前,机器需要启动时间$S$,而完成这批任务所需的时间 阅读全文
posted @ 2019-05-08 15:14 Parsnip 阅读(932) 评论(1) 推荐(0)
摘要:更新了三维偏序问题的拓展 cdq分治 $cdq$分治是一种由$IOI\ Au$选手$cdq$提出的离线分治算法,又称基于时间的分治算法。 二维偏序问题 这是$cdq$分治最早提出的时候解决的问题,大意为:给定$n$对二元组$(a_{i},b_{i})$,求$cnt_i=\sum_{j=i+1}^n[ 阅读全文
posted @ 2019-05-05 21:09 Parsnip 阅读(1056) 评论(1) 推荐(2)
摘要:这一次组织了一场$dp$的专项考试,出了好几道经典的简单$dp$套路题,特开一篇博客写一下题解。 Tower(双向dp) Description 信大家都写过数字三角形问题,题目很简单求最大化一个三角形数塔从上往下走的路径和。走的规则是:(i,j)号点只能走向(i+1,j)或者(i+1,j+1)。如 阅读全文
posted @ 2019-04-28 20:59 Parsnip 阅读(662) 评论(0) 推荐(0)
摘要:阅读本文前,请确保已经阅读并理解了如下两篇文章: "『线段树 Segment Tree』" "『线段树简单运用』" 引入 这是一种由$THU zkw$大佬发明的数据结构,本质上是经典的线段树区间划分思想,采用了自底向上的方式传递区间信息,避免的递归结构,其代码相对经典线段树更简单,常数更小,易于实现 阅读全文
posted @ 2019-04-28 19:11 Parsnip 阅读(2314) 评论(0) 推荐(1)
摘要:0/1分数规划 模型 0/1分数规划指的是这样一个问题模型: 给定整数$a_1,a_2,...,a_n$和$b_1,b_2,...,b_n$,求一组解$x_1,x_2,...,x_n(\forall\ i\in[1,n],x_i=1,0)$,使得下式最大化:$$\frac{\sum_{i=1}^na 阅读全文
posted @ 2019-04-20 20:35 Parsnip 阅读(371) 评论(0) 推荐(0)
摘要:容斥原理 设$S_1,S_2,...,S_n$为$n$个有限集合,$|S|$代表集合$S$的大小,则有 $$\left | \bigcup_{i=1}^nS_i \right |=\sum_{i=1}^n|S_i| \sum_{1\leq i \leq j \leq n}|S_i\cap S_j|+ 阅读全文
posted @ 2019-04-20 19:31 Parsnip 阅读(2332) 评论(0) 推荐(1)
摘要:Zap Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x using namespace std; const int N=60020,Uplim=5e4; int a,b,k,vis[N],Prime[N],mui[N 阅读全文
posted @ 2019-04-20 17:56 Parsnip 阅读(176) 评论(0) 推荐(0)
摘要:余数之和 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数。 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 阅读全文
posted @ 2019-04-20 16:20 Parsnip 阅读(367) 评论(0) 推荐(0)
摘要:线性空间 定义 线性空间是一个关于一下两个运算封闭的向量集合: $1.$向量加法$a+b$,其中$a,b$为向量 $2.$标量乘法$k a$,其中$a$为向量,$k$为常数 基础概念 $1.$给定若干个向量$a_1,a_2,...,a_n$,若向量$b$能够通过$a_1,a_2,...,a_n$经过 阅读全文
posted @ 2019-04-17 20:40 Parsnip 阅读(1171) 评论(0) 推荐(0)
摘要:开关问题(POJ 1830) Description 有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为开就变为关,如果为关就变为开。你的目标是经过若干次开关操作后使得最后N个开关达到一个 阅读全文
posted @ 2019-04-16 14:31 Parsnip 阅读(288) 评论(0) 推荐(0)
摘要:球形空间产生器(BZOJ 1013) Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。 Input Format 第一行是一个整 阅读全文
posted @ 2019-04-15 20:37 Parsnip 阅读(328) 评论(0) 推荐(0)
摘要:扩展欧几里得算法 顾名思义,扩欧就是扩展欧几里得算法,那么我们先来简单地回顾一下这个经典数论算法。 对于形如$ax+by=c$的不定方程,扩展欧几里得算法可以在$O(log_2a+log_2b)$的时间内找到该方程的一组特解,或辅助$gcd$判断该方程无解。 对于扩欧的详细讲解,可见 "『扩展欧几里 阅读全文
posted @ 2019-04-12 16:07 Parsnip 阅读(635) 评论(0) 推荐(0)
摘要:高次同余方程 一般来说,高次同余方程分$a^x \equiv b(mod\ p)$和$x^a \equiv b(mod\ p)$两种,其中后者的难度较大,本片博客仅将介绍第一类方程的解决方法。 给定$a,b,p$,其中$gcd(a,p)=1$,求方程$a^x \equiv b(mod\ p)$的最小 阅读全文
posted @ 2019-04-10 21:20 Parsnip 阅读(813) 评论(0) 推荐(0)
摘要:更新了$Ex CRT$的内容 线性同余方程 定义 给定整数$a,b,m$,对于形如$ax\equiv b(mod\ m)$的同余方程我们称之为一次同余方程,即线性同余方程。 解线性同余方程 对于此类方程,我们可以用如下方法快速的求解。 $$ ax\equiv b(mod\ m)⇔m|ax b $$ 阅读全文
posted @ 2019-04-10 20:16 Parsnip 阅读(926) 评论(0) 推荐(0)
摘要:柱状图 Description WTH获得了一个柱状图,这个柱状图一共有N个柱子,最开始第i根柱子的高 度为xi,他现在要将这个柱状图排成一个屋顶的形状,屋顶的定义如下: 1. 屋顶存在一个最高的柱子,假设为i,最终高度为hi.它是所有柱子之中最 高的. 2. 第j根柱子的高度为hj=hi |i j 阅读全文
posted @ 2019-04-09 21:48 Parsnip 阅读(377) 评论(1) 推荐(0)