自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Brute♂force

My name is van♂,I'm an artist, I'm a performance artist.

  • 博客(76)
  • 收藏
  • 关注

原创 【CF639E】Bear and Paradox

题目有n道题目,第i道题目有pi的分值,完成第i道题目需要ti的时间。令总时间T=∑ti,第i道题目的得分为pi×(1−cxT),其中c∈[0,1]为一个参数,x为完成这道题后的累计用时(加上完成之前题目的用时),显然至少存在一种完成顺序使得总得分最大.如果确定c后,在一种使得总得分最大的完成顺序中,存在pi<pj但是i的得分严格大于j的得分,则c是一个不合法的参数。你要找到最大的合法的c.思路最佳做题顺序一定是按照 piti\frac{p_i}{t_i}ti​pi​​ 从大到小排序的,在所

2020-09-30 16:28:38 237

原创 【虚树+DP】[HNOI2014]世界树

题目题目描述世界树是一棵无比巨大的树,它伸出的枝干构成了整个世界。在这里,生存着各种各样的种族和生灵,他们共同信奉着绝对公正公平的女神艾莉森,在他们的信条里,公平是使世界树能够生生不息、持续运转的根本基石。世界树的形态可以用一个数学模型来描述:世界树中有 nn 个种族,种族的编号分别从 11 到 nn,分别生活在编号为 11 到 nn 的聚居地上,种族的编号与其聚居地的编号相同。有的聚居地之间有双向的道路相连,道路的长度为 11。保证连接的方式会形成一棵树结构,即所有的聚居地之间可以互相到达,并且不会

2020-09-30 15:05:10 197

原创 【二分】[HNOI2016]网络

题目题目描述一个简单的网络系统可以被描述成一棵无根树。每个节点为一个服务器。连接服务器与服务器的数据线则看做一条树边。两个服务器进行数据的交互时,数据会经过连接这两个服务器的路径上的所有服务器(包括这两个服务器自身)。由于这条路径是唯一的,当路径上的某个服务器出现故障,无法正常运行时,数据便无法交互。此外,每个数据交互请求都有一个重要度,越重要的请求显然需要得到越高的优先处理权。现在,你作为一个网络系统的管理员,要监控整个系统的运行状态。系统的运行也是很简单的,在每一个时刻,只有可能出现下列三种事件中

2020-09-29 21:01:56 425

原创 【SAM】【GDKOI2014】基因模式

题目思路SA首先将T和Si首尾相接连起来,每两个串之间隔一个未出现过的字符,求出后缀数组及height数组,即后缀数组中相邻两个后缀的最长公共前缀。然后O(N)扫描可得每个后缀i和在原T串中开始的每个后缀j最长的最长公共前缀是多少,记为near[i],这样后缀j即在后缀数组中与后缀i最近的两个在T中开始的后缀中的一个。即。这样我们就可以求出在Sp中每个位置Sp,q向后匹配最长near[i]长度能使在这段长度内任意的以Sp,q开始的串都能在T中找到对应的子串。现在我们已经满足了在T串中有相应子串的条

2020-09-29 18:29:49 296

原创 【点分树】[HNOI2015]开店

题目给定一颗n(n≤150000)个点的树,每个点有点权,边有边权(表示两个点之间的距离)。q(q≤200000)次询问,每次询问点权在[L,R]之间的所有点到某个点的距离之和。强制在线。思路考虑建立点分树,分治结构每个点都储存对应分治范围(简称范围)内的信息,询问时从c向后跳分治链,并逐级将信息合并得到整棵树的答案。对于链上某一点x,设前一个点为px,显然我们需要用到的,x范围中(除去px范围)的所有合法的点(即点权在[l,r]内的点)到c的距离之和,拆开为这些点到x的距离和+这些点的个数乘以x到

2020-09-28 19:38:43 224

原创 【CF573E】Bear and Bowling

题目给定一个长度为 nn 的序列 a_{1\dots n}a1…n​ 。你要求一个 aa 的子序列 b_{1\dots m}b1…m​ (可以为空),使得 \sum_{i=1}^m ib_i∑i=1m​ ibi​ 的值最大。n \le 10^5n≤105,|a_i| \le 10^7∣ai​ ∣≤107。思路首先有个显然的贪心:每次选择贡献最大的位置,直到贡献非正,此时贡献和即为答案。考虑分块维护一个凸壳,平衡树维护代码#include<bits

2020-09-28 17:03:30 297

原创 【DP】宝藏

题目参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 nn 个深埋在地下的宝藏屋, 也给出了这 nn 个宝藏屋之间可供开发的mm 条道路和它们的长度。小明决心亲自前往挖掘所有宝藏屋中的宝藏。但是,每个宝藏屋距离地面都很远, 也就是说,从地面打通一条到某个宝藏屋的道路是很困难的,而开发宝藏屋之间的道路 则相对容易很多。小明的决心感动了考古挖掘的赞助商,赞助商决定免费赞助他打通一条从地面到某 个宝藏屋的通道,通往哪个宝藏屋则由小明来决定。在此基础上,小明还需要考虑如何开凿宝藏屋之间的道路。已经开凿出的

2020-09-27 21:45:28 333

原创 【DP】【CF229D】Towers

题目有n(1<=n<=5000)n(1<=n<=5000)座塔排在一条直线上,从左到右每个塔的高度分别为h_i(1<=h_i<=100000)hi​ (1<=hi​ <=100000).每次操作你可以选择一座塔(假设是第ii座),用吊车把它吊起来,然后放到与它相邻的一座塔上(可以是第i-1i−1座也可以是第i+1i+1座),这样,新塔的高度为两座塔的和,完成操作后,塔的总数减少一座。问最少需要多少次操作可以使得所有的塔从左到右形成一个非递减序

2020-09-27 21:41:53 253

原创 [BZOJ 3653] 谈笑风生

题目给定一棵 n 个点的有根树,另有 q 次询问,每次询问给定a、k,求有多少个点对 (b, c) 满足 a、b、c 两两不同,a、b 都是c 的祖先且 a、b 间距离不超过 k。 n, q ≤ 3 × 10^5。思路有两种情况。当 b 是 a 的祖先时,b 在 a 的 1 至 k 级祖先中任选,c 在 a 的子树内任选。当 b 在 a 子树内时,要求 depb ≤ depa + k,c 在 b 的子树内任选。可以用主席树(或线段树合并)维护 a 子树内、dep 在某个区间限制内的 siz

2020-09-27 17:02:43 218

原创 【整体二分】[POI2011]MET-Meteors

题目题目描述Byteotian Interstellar Union (BIU) has recently discovered a new planet in a nearby galaxy. The planet is unsuitable for colonisation due to strange meteor showers, which on the other hand make it an exceptionally interesting object of study.The m

2020-09-26 16:33:00 281

原创 【斜率优化】【CF311B】 Cats Transport

题目Zxr960115 is owner of a large farm. He feeds mm cute cats and employs pp feeders. There’s a straight road across the farm and nn hills along the road, numbered from 1 to nn from left to right. The distance between hill ii and (i-1)(i−1) is d_{i}di​ m

2020-09-25 22:10:59 238

原创 【CF908G】 New Year and Original Order

题目题目描述Let S(n)S(n) denote the number that represents the digits of nn in sorted order. For example, S(1)=1,S(5)=5,S(50394)=3459,S(353535)=333555S(1)=1,S(5)=5,S(50394)=3459,S(353535)=333555 .Given a number XX , compute modulo 10^{9}+7109+7 .输入格式The

2020-09-25 15:31:33 265

原创 【反演+φ的性质】[NOI2010]能量采集

题目https://www.luogu.com.cn/problem/P1447思路观察发现,题目要求我们求的就是Σi=1nΣj=1m2∗(i,j)−1\Sigma_{i=1}^n\Sigma_{j=1}^m2*(i,j)-1Σi=1n​Σj=1m​2∗(i,j)−1于是我们开始反演:=Σd=1max(n,m)dΣi=1ndΣj=1md[(i,j)=1]=\Sigma_{d=1}^{max(n,m)}d\Sigma_{i=1}^{\frac{n}{d}}\Sigma_{j=1}^{\frac{m

2020-09-25 11:55:39 226

原创 【LCT】[WC2006]水管局长

题目展开题目背景SC 省 MY 市有着庞大的地下水管网络,嘟嘟是 MY 市的水管局长(就是管水管的啦)。题目描述每天供水公司可能要将一定量的水从 uu 处送往 vv 处,嘟嘟需要为供水公司找到一条从 uu 至 vv 的水管的路径,接着通过信息化的控制中心通知路径上的水管进入准备送水状态,等到路径上每一条水管都准备好了,供水公司就可以开始送水了。嘟嘟一次只能处理一项送水任务,等到当前的送水任务完成了,才能处理下一项。在处理每项送水任务之前,路径上的水管都要进行一系列的准备操作,如清洗、消毒等等。嘟

2020-09-25 09:36:45 249

原创 【单调队列】恐怖的奴隶主

题目Description在《炉石传说》这款游戏中,有一张随从卡牌叫做“恐怖的奴隶主”。这张卡牌的描述是这样的:每当该随从受到伤害且没有死亡,召唤另一个恐怖的奴隶主。还有一张卡牌叫做“旋风斩”,描述是“对所有随从造成1点伤害”。使用“旋风斩”后,生命值变为0的“恐怖的奴隶主”并不会立即死亡,而会先结算召唤新的“恐怖的奴隶主”再结算生命值为0的“恐怖的奴隶主”的死亡。当然,使用旋风斩后,生命值变为0的“恐怖的奴隶主”不会召唤新的“恐怖的奴隶主”。随从的数量是有上限的,在召唤一个随从前如果随从数量已经达到上

2020-09-24 22:01:07 516

原创 【期望DP】收集邮票

题目有n种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n。但是由于凡凡也很喜欢邮票,所以皮皮购买第k张邮票需要支付k元钱。现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望。n<=10000思路令 fif_ifi​ 表示现在取到 iii 张邮票,还要取多少次取完fi=fi∗in+fi+1∗n−in+1f_i=f_i*\frac{i}{n}+f_{i+1}*\

2020-09-24 20:45:30 354

原创 【状压DP】「PA 2019」Desant

题目https://loj.ac/problem/3217思路状压dp考虑确定了前i个,记录后面n-i个点之间的间隔里已选的数发现状态不是很大,于是又hash存一下就行代码#include<bits/stdc++.h>#define N 41#define M 3200001#define ll long longusing namespace std;struct sth { long long a; int b;} dp[2][M], as[N];

2020-09-24 19:04:10 378

原创 【数位DP】杠杆数

题目题目描述如果把一个数的某一位当成支点,且左边的数字到这个点的力矩和等于右边的数字到这个点的力矩和,那么这个数就可以被叫成杠杆数。比如4139就是杠杆数,把3当成支点,我们有这样的等式:4 * 2 + 1 * 1 = 9 * 1。给定区间[x,y],求出在[x,y]中有几个杠杆数。输入格式两个数,表示x,y。输出格式一个输出,表示区间[x,y]中杠杆数的个数。输入输出样例输入 #1 复制7604 24324输出 #1 复制897说明/提示对于40%的数据,x<=y&lt

2020-09-24 16:39:01 327

原创 【模板】快速沃尔什变换 (FWT)

题目思路好的,学会了FWThttps://www.luogu.com.cn/blog/xht37/solution-p4717代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=(1<<17)+77,mod=998244353;int n,m;ll A[N],B[N],a[N],b[N];ll power(ll x,ll t){ ll b=1; whil

2020-09-23 20:39:58 255

原创 【暴力+归并排序】[国家集训队]排队

题目题目描述排排坐,吃果果,生果甜嗦嗦,大家笑呵呵。你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家乐和和。红星幼儿园的小朋友们排起了长长地队伍,准备吃果果。不过因为小朋友们的身高有所区别,排成的队伍高低错乱,极不美观。设第 ii 个小朋友的身高为 h_ihi​ 。幼儿园阿姨每次会选出两个小朋友,交换他们的位置,请你帮忙计算出每次交换后,序列的逆序对数。为方便幼儿园阿姨统计,在未进行任何交换操作时,你也应该输出该序列的逆序对数。输入格式第一行为一个正整数 nn,表示小朋友的数量

2020-09-23 18:59:48 338

原创 【巧妙矩乘】【HNOI2016模拟4.4】Fenwit

题目思路矩阵乘法考虑如何计算 C ∗ C,设当前要计算 (C ∗ C)[j],j 有 m 位为 1,那么假如说对于 j 而言,有 a 个 b 位为 1 且与 j 相差恰好 p 位的数字,那么对于其他恰有 m 位为 1 的数字 i,是否也刚好有 a 个这样的数字呢?答案是显然的,因为我们我们的数字范围为 0 ∼ 2M−1 ,也就是说我们可以通过调整一个数字的 1 使得其变为另外一个数字,且刚好满足我们的要求。代码#include<bits/stdc++.h>#define ll

2020-09-23 16:59:40 242

原创 【博弈】【清华冬令营2018模拟】取石子

题目Description有n堆石子,第i堆有xi个。Alice和Bob轮流取石子(先后手未定),Alice每次从一堆中取走a个,Bob每次从一堆中取走b个,无法操作者输。不难发现只会有四种情况:Alice必胜;Bob必胜;先手必胜;后手必胜。你需要选定若干堆石子(共有2^n种方案),Alice和Bob只能在你选出的堆中取,问以上四种情况对应的方案数。Input第一行三个整数n,a,b,第二行n个整数x1~xn。Output一行四个整数,分别表示Alice必胜、Bob必胜、先手必胜和后手必

2020-09-22 21:34:06 505

原创 【斜率优化】[APIO2010]特别行动队

题目题目描述你有一支由 nn 名预备役士兵组成的部队,士兵从 11 到 nn 编号,你要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如 (i, i + 1, \cdots i + k)(i,i+1,⋯i+k)的序列。所有的队员都应该属于且仅属于一支特别行动队。编号为 ii 的士兵的初始战斗力为 x_ixi​ ,一支特别行动队的初始战斗力 XX 为队内士兵初始战斗力之和,即 X = x_i + x_{i+1} + \cdots + x_{i+k}

2020-09-22 20:03:13 326

原创 【NTT+背包】「PKUWC2018」猎人杀

题目https://loj.ac/problem/2541思路如果直接算,分母会变所以要考虑另外一种方法对于一个已经删过的,我们不把它从分母中剔除,但是,每一次的选择需要一直选直到选了一个没有被删过的。于是乎,就能容斥了:用NTT分治优化背包即可代码#include <bits/stdc++.h>using namespace std;const int P = 998244353,N = 5e5 + 5;int n,w[N],G[2] = { 3,332748118 }

2020-09-22 18:06:50 437

原创 【贪心】[JLOI2015]装备购买

题目展开题目描述脸哥最近在玩一款神奇的游戏,这个游戏里有 nn 件装备,每件装备有 mm 个属性,用向量 \mathbf{z_i}=(a_1, \ldots ,a_j, \ldots , a_m)zi​ =(a1​ ,…,aj​ ,…,am​ ) 表示 (1 \leq i \leq n, \ 1 \leq j \leq m1≤i≤n, 1≤j≤m),每个装备需要花费 c_ici​ ,现在脸哥想买一些装备,但是脸哥很穷,所以总是盘算着怎样才能花尽量少的钱买尽量多的装备。对于

2020-09-21 21:52:00 252

原创 【DP+树状数组】波动序列

题目思路用树状数组优化即可代码#include<bits/stdc++.h>using namespace std;const int N=1e5+77;int n,m,aii,a[4][N],f[4][N],yjy[4][N<<2],b[N<<2];int main(){ freopen("sequence.in","r",stdin); freopen("sequence.out","w",stdout); scanf("%d",&n

2020-09-21 21:20:37 281

原创 【LCT】[SHOI2014]三叉神经树

题目https://loj.ac/problem/2187思路好难啊!!!!首先有一个很显然的性质,对于每个修改,影响到的节点一定是从野子节点往上走的一条路径。现在问题是怎么维护这条路径的终点。继续观察性质,发现一个节点改变颜色,当且仅当(sum为儿子为1的个数)0->1 sum=11->0 sum=2所以我们的splay需要维护的是第一个sum!=1和第一个sum!=2的位置有一种思路是二分,但是这样多了一个log,考虑另一种:在splay里维护id[1],id[2]表

2020-09-21 19:37:10 197

原创 【群论(polya)+高精度】[SHOI2007]宝石纪念币

题目思路毒瘤出题人,非要套个高精度这是一个polya练习题所有的置换共有 nnn 个:即顺时针转一格、两格…nnn 格。而“顺时针旋转 kkk 格”的置换,显然可以表示成 (n,k)(n, k)(n,k) 个长为 n(n,k)\frac{n}{(n,k)}(n,k)n​的循环。因此,这个子问题的答案就是Σm=117[(−1)m−1Cm17Σk=1nm(n,k)]\Sigma_{m=1}^{17}[(-1)^{m-1}C_m^{17}\Sigma_{k=1}^nm^{(n,k)}]Σm=117

2020-09-21 16:41:41 456

原创 【字符hash】密码破译

题目Description某年某月某日, r 64 打开了某个无聊的密码网站。作为一个热衷于破译密码的SB, r 64 的IQ是非常高的,但是,一个人是无法在一瞬间完成无数份密码的破译工作的(也许两瞬间),所以这个任务就交给你和他共同来完成。一个密码对应一个 字符串 (仅包含 小写英文字母 ),令这个串为S。你成功地破解了这个密码串,当且仅当你找到了一个 最短 的T,使得S = T K ,即T重复K次。密码S的关键值即为T的 长度 。这个网站的密码有一个特性,它是一个很长很长的 母密码串的

2020-09-20 21:57:49 1035

原创 【CF1404C】Fixed Point Removal

题目https://codeforces.ml/contest/1404/problem/C思路首先将x,y转换成区间L,R于是对于每个ai可以分三种情况讨论:i - a[ i ] == 0:当前位置可以直接删除i - a[ i ] < 0:当前位置永远不可能被删除i - a[ i ] > 0:当前位置之前删除掉 i - a[ i ] 个数字后,当前位置可以被删除令s[ i ] = 区间 [ i , r ] 内最多可以删除多少个数随着 r 的递增,s 数组的每个元素相对于之前,

2020-09-20 21:51:51 282 1

原创 【DP】[SDOI2012]象棋

题目展开题目描述小云和小南两姐妹从小喜欢下象棋,现在作为象棋高手的她们,已经不屑于玩平常的象棋了,于是她们便开始用棋盘和棋子玩各种各样的新游戏。今天天气晴朗,阳光明媚,她们将在n * m的棋盘上进行游戏。棋盘上有k颗棋子和若干有障碍格子,令棋盘左上角格子坐标为(1, 1),右下角格子坐标为(n, m),参数a、b规定了所有棋子的走法:在(x, y)的棋子下一步能走到(x + a, y + b), (x + a, y - b), (x – a, y + b), (x – a, y – b), (x

2020-09-20 16:15:07 283

原创 【巧妙缩图】eugene

#include<bits/stdc++.h>#define cs constusing namespace std;cs int N=1e6+5,M=N<<1;int n,m,tot;struct E{ int id,to; }e[2][N];int dir[2][N];int depend[M]; int ans[M],rev[M];bool vis[N];void add(int x,int y,int id,int val){ E *now=e

2020-09-20 15:46:30 487

原创 【持续更新】初赛复习

题目本题中,我们约定布尔表达式只能包含p,q,r三个布尔变量,以及“与”(∧)、“或”(∨)、“非”(?)三种布尔运算。如果无论p,q,r如何取值,两个布尔表达式的值总是相同,则称它们等价。例如,( p ∨ q ) ∨ r 和 p ∨ ( q ∨ r )等价,p∨?p和q∨?q也等价;而p∨q和p∧q不等价。那么,两两不等价的布尔表达式最多有___个。方法https://blog.csdn.net/yzyyylx/article/details/78225306...

2020-09-18 21:29:03 545

原创 【ZJOI2016】线段树

题目给定数列 a1, a2, · · · , an,随机进行 q 次操作,每次随机选择区间 [l, r],将它们改为这个区间的最大值,求最后每个数的期望。n, q ≤ 400,ai 在 [1, 109] 中等概率随机生成。思路显然一个数经过若干次变化一定会变成另外一个数,那么离散化后,令g[i][j]表示i这个数最终变成从小到大第j个的方案数。一个直观的思路是,我们枚举j,那么显然g[i][j]>0的i的范围是(l,r),其中a[l]和a[r]是第j大的数两侧分别第一个大于这个从小到大第j个

2020-09-18 17:55:59 296

原创 【DP优化】【2010集训队出题】密码系统

题目Lambda受任于某情报站,他的工作是获取敌人情报。一次他在破解密码系统时,得到了一个N位B进制数φ,满足φ≡V (mod M)。他发现组成φ的数字很奇特。为了验证φ的特殊性,他将所有模M为V的N位B进制数,按照各数位构成的集合分类,并想知道每一类数各有多少个。思路这题的方法比较妙。首先我们暴力DP的话n是每次+1的,这样太慢了。考虑合并两个状态:如果把动态规划中一个阶段的决策和转移,看成定义在状态空间上的函数,那么这种方法相当于计算转移函数的复合函数,不妨将其定义为转移函数的积。由于

2020-09-18 14:58:43 302

原创 【李超树】【HBOI2013】Segment

题目要求在平面直角坐标系下维护两个操作:在平面上加入一条线段。记第 i条被插入的线段标号为 i。给定一个数 k,询问与直线 x = k相交的线段中,交点最靠上的线段的编号。对于 100% 的数据, 1 ≤ n ≤ 10^5, 1 ≤ k, x0, x1 ≤ 39989, 1 ≤ y0 ≤ y1 ≤ 10^9。思路李超树模板题当这个区间还没有优势线段的时候,就可以直接将该线段设成该区间的优势线段,然后返回。当这个区间已经有优势线段,如果插入线段在区间 [l,r][l,r][l,r

2020-09-17 21:03:42 247

原创 【线段树+单调栈】Prime的把妹计划

题目思路考虑只做 al≤ara_l≤a_ral​≤ar​ (然后再反过来做一遍)首先预处理一个 preprepre 表示 aia_iai​ 左边第一个比 aia_iai​ 大的数的位置。对于每个 aia_iai​ 我们分类讨论:aia_iai​ 大于等于栈顶元素此时以 preprepre 右边且在栈中的元素为左端点的区间最优右端点为 iii ,首先要满足在 preprepre 右边,因为 preprepre 就会成为最大值,占据右端点的位置,不合题意;其次要满足还在栈中,若不在栈中,则一定是

2020-09-17 16:35:12 278

原创 【平衡树】【TJOI2013】最长上升子序列

题目思路设f表示以一个位置结尾的最长上升子序列长度。注意插入的数大小有序,也就是只需要知道每次插入数左边所有位置的f最大值就可以得到它的f。因为要支持插入操作,用treap/splay维护序列即可代码#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define N 100007using namespace std;struct Splay{ int val,fa,s[2],size;}t[N];struct Node{

2020-09-17 13:02:05 321 1

原创 【NTT】差分与前缀和

题目题目描述给定一个长为 nn 的序列 aa,求出其 kk 阶差分或前缀和。结果的每一项都需要对 10045358091004535809 取模。输入格式第一行三个整数 n,k,tn,k,t,若 t=0t=0 表示求前缀和,t=1t=1 表示求差分。第二行 nn 个整数,表示序列 aa。输出格式输出一行 nn 个整数,表示 aa 的 kk 阶差分或前缀和。输入输出样例输入 #1复制8 3 01 9 2 6 0 8 1 7输出 #1复制1 12 35 76 135 220 332

2020-09-17 10:23:07 449

原创 【贪心+可并堆】 [BalticOI 2004]Sequence 数字序列

题目思路首先考虑原题弱化版:相邻的b可以相等于是我们可以得到两个性感感性的结论:如果a递增,则b=a最优如果a递减,b=a的中位数最优根据这两个结论,我们可以得到一个比较感性的做法:将原序列分成单调不升的m段,则每一段我们都取中位数。然而这个做法不完全正确,比如我们取完中位数后是这样的序列:3 3 3 2 2我们发现这仍然不单调不降,所以我们需要合并这两个区间并重新取个中位数。也就是说我们需要合并区间以求中位数。这个用左偏树可以做到log那么原题怎么办?我们可以对每一对ai

2020-09-16 19:51:42 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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