自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Paulliant的博客

DP离散线段树,二分答案前缀和!!

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

原创 HihoCoder-1676 树上的等差数列(树形DP)

题意给定一棵 nnn 个节点的树,每个点都有点权。求一条最长的路径,是路径上点的点权序列形成等差数列。 1≤n≤1000001≤n≤1000001 \leq n \leq 100000思路很明显是保存以 uuu 为根,以 ddd 为公差的点权序列最大长度,...

2018-08-22 22:27:15 298

原创 HihoCoder-1559 合并子目录(纯模拟)

题意输入 nnn 个文件的绝对路径,如果一个名为xxxxxx 的目录下只有一个 yyyyyy 的文件夹,则将这两层文件夹压缩成一个名为 xx−yyxx−yyxx-yy 的文件夹。求压缩后这 nnn 个文件的绝对路径。 1≤n≤100001≤n≤100001 \leq n \leq 10000 1≤∑n个文件的绝对路径≤5000001≤∑n个文件的绝对路径≤5000001 \leq \sum...

2018-08-22 21:20:58 404 2

原创 洛谷-P2014 选课(树形DP)

题意nnn 门功课形成一棵树,每门课有一个学分,选 mmm 门,选择一门课的前提是选择它的父亲,求最大学分。 1≤n,m≤3001≤n,m≤3001 \leq n,m \leq 300思路这是一个树上的依赖背包问题。首先考虑暴力,设 dpi,jdpi,jdp_{i,j} 为 iii 这棵子树,选 jjj 门课时的最大学分,那将每棵子树当一个泛化物品,那么对于一个子树 kkk ,有如下...

2018-08-18 18:45:00 535 1

原创 POJ-2828 Buy Tickets(二分+树状数组)

题意有 nnn 个人,每个人有一个权值,初始队列没有人,这 nnn 个人进行 nnn 次插队,每次插队代表一个权值为 valvalval 的人插入第 xxx 个位置后。最后从前往后输出每个人的权值。 1≤n≤2×1051≤n≤2×1051 \leq n \leq 2\times 10^5思路虽然一个人现在插在 xxx 位置后,但是它最终的位置不一定是 x+1x+1x+1 ,再后来人...

2018-08-18 09:54:04 267

原创 HYSBZ-1858 序列操作(线段树)

题意给定一个长度为 nnn 的 010101 串,完成 mmm 个操作,操作分 555 种。 0.0.0. xxx yyy 把区间 [x,y][x,y][x,y] 全部赋值为 000 1.1.1. xxx yyy 把区间 [x,y][x,y][x,y] 全部赋值为 111 2.2.2. xxx yyy 对区间 [x,y][x,y][x,y] 取反,即 000 变 111,111 变 0...

2018-08-18 09:18:21 169

原创 CodeForces-600E Lomsat gelral(树上DSU)

题意给定一个 nnn 个节点的树,对于每个子树,输出子树中出现次数最多的节点编号之和。(次数最多的编号有多个节点都要统计进去)。 1≤n≤1051≤n≤1051 \leq n \leq 10^5思路无疑仍是树上 dsudsudsu ,考虑到需要维护节点出现次数最多的编号和,所以实时维护一个数组 cntcntcnt 保存每种编号出现的次数,然后再用两个变量分别保存最多出现次数和答案即可...

2018-08-18 08:46:57 256

原创 Codeforces-375D Tree and Queries(树上dsu)

题意给定一棵 nnn 个节点的树,每个节点上有一个颜色。有 mmm 个询问,每次询问 uuu 对应的子树中,有多少种颜色至少出现 kkk 次。 1≤n,m≤1051≤n,m≤1051 \leq n,m \leq 10^5思路树上 dsudsudsu 的入门题(即树上启发式合并)。首先,暴力比较好想,对于每一个询问的 uuu ,在 uuu 的子树中统计每种颜色出现的次数,得到出现次...

2018-08-18 08:45:57 406

原创 HDU-4829 Information(带权可删并查集+虚点)

题意有 NNN 个坦克,完成以下 MMM 种操作: 1.1.1. AAA BBB XXX YYY 表示 AAA 坦克移动到了与 BBB坦克的相对位置是 (X,Y)(X,Y)(X,Y) 的地方,即 xA=xB+X,yA=yB+YxA=xB+X,yA=yB+Yx_A=x_B+X,y_A=y_B+Y。 2.2.2. AAA XXX YYY 表示 AAA 坦克移动到了绝对位置是 (X,Y...

2018-08-17 21:24:04 253

原创 ZOJ-3794 Greedy Driver(最短路径)

题意一张 nnn 个节点, mmm 条边的有向图,你的车在 111 号节点,要开到 nnn 节点,容量为 CCC(初始时满油)。有若干个点可以无限免费加油,又有若干个地方可以以当地的油价卖出任意容积的油。求从 111 到 nnn 通过一次卖油赚取的最大价值。 1≤n≤10001≤n≤10001 \leq n \leq 1000 1≤m≤1000001≤m≤1000001 \leq m \l...

2018-08-14 21:01:14 291

原创 POJ-1201 Intervals(差分约束系统)

题意从 0−500000−500000-50000 中选出尽可能少的整数,使区间 [ai,bi][ai,bi][a_i,b_i] 内都有至少 cicic_i个数被选出。 0≤ai≤bi≤500000≤ai≤bi≤500000 \leq a_i\leq b_i \leq 50000 1≤ci≤bi−ai+11≤ci≤bi−ai+11 \leq c_i \leq b_i-a_i+1思路...

2018-08-14 11:56:31 257

原创 HDU-2444 The Accomodation of Students(二分图判定+最大匹配)

题意有 nnn 个人,其中 mmm 对互相认识。现在想先将它们分成两组,保证组内人员互相不认识。如果能满足,把两个集合中分别抽出一个人分在一个宿舍,保证两人互相认识,求最多能分多少对人。 1≤n≤2001≤n≤2001 \leq n \leq 200思路先判是否为二分图,一般采用染色法。即相邻两个点染为不同颜色,如果同一点将被染成不同颜色,则说明存在基环(奇环,自己人才懂…)。当然,...

2018-08-10 19:29:17 210

原创 HDU-1350 Taxi Cab Scheme(最小路径覆盖)

题意一个人如果在 (a,b)(a,b)(a,b) 点到 (c,d)(c,d)(c,d),乘出租车需要花费的时间为 |c−a|+|d−b||c−a|+|d−b||c-a|+|d-b| 。如果一辆车可以在乘客出发前的达到(不取等),就可以接到该乘客。现在收到了 nnn 份订单,求最少用多少出租车,可以完成所有的任务。 1≤n≤5001≤n≤5001 \leq n \leq 500思路当一...

2018-08-10 17:36:03 338

原创 HDU-2768 Cat vs. Dog(最大独立集)

题意给出 ccc 只猫,ddd 只狗,vvv 个人投票,每个人只可能喜欢某一只猫,讨厌某一只狗,或喜欢某一只狗,讨厌某一只猫。求通过移出某一些猫、狗,最多能使多少人满足。思路不难看出,喜欢某一只猫,讨厌某一只狗和喜欢某一只狗,讨厌某一只猫有可能互斥。我们还要引出一个“最大独立集”的概念。一个点集 SSS 满足 ∀u,v∈S∀u,v∈S\forall u,v \in S ,∄(u,v)...

2018-08-10 17:17:15 328

原创 HDU-1498 50 years, 50 colors(最小点覆盖)

题意一个 n×nn×nn \times n 的矩阵,有很多不同颜色的气球,每次操作可以选择某一种颜色,再选择某一行(列),使得这一行(列)的这种颜色的气球撞裂。求有多少种颜色的气球无法在 kkk 次之内全部撞裂。 1≤n≤1001≤n≤1001 \leq n \leq 100 1≤k≤n1≤k≤n1 \leq k \leq n思路先引出一个“最小点覆盖”的概念。选取一个点集 SSS...

2018-08-10 16:50:58 174

原创 HDU-2413 Against Mammoths(二分答案+最大匹配)

题意人类掌握了 n1n1n_1 个星球,外星人掌握了 n2n2n_2 个星球。第 iii 星球每年将生产 aiaia_i 艘军舰。 每个人类星球只会经过一个外星球,一个外星球也只会被一个人类星球进攻。人类星球 iii 到外星球 jjj 需花费 ei,jei,je_{i,j} 时间。如果人类星球的军舰数大于等于外星球的军舰数,就能占领这个星球。 求最少多少年后就能占领所有的外星球。 1≤n1,...

2018-08-10 16:03:07 308

原创 HDU-2063 过山车(二分图最大匹配)

题意给定 KKK 个可能组合,MMM 个女生, NNN 个男生,求最多产生多少队组合。 1≤N,M≤5001≤N,M≤5001 \leq N,M \leq 500 1≤K≤10001≤K≤10001 \leq K \leq 1000思路最大匹配入门题,重点介绍匈牙利算法。 该算法比较简单,可以近似的理解成一个抢老婆的过程。一开始集合 UUU 和集合 VVV 都没有被匹配,现在枚举...

2018-08-10 15:37:17 280

原创 HDU-6031 Innumerable Ancestors(dfs序+LCA/二分答案/树上倍增+dfs序+树状数组/分段决策)

题意给定一棵 nnn 个节点的树。 有 mmm 个询问,每次给出两个点集,大小分别为 k1,k2k1,k2k_1,k_2,求从两个集合中分别选出一个点,它们的 LCALCALCA 的深度最大为多少。 1≤n,m≤1051≤n,m≤1051 \leq n,m \leq 10^5 1≤∑k≤1051≤∑k≤1051 \leq \sum k\leq 10^5思路解法一:dfs序+LCA...

2018-08-07 17:36:22 291

原创 HDU-5877 Weak Pair(dfs序+归并树/dfs序+离线归并+树状数组/dfs栈+树状数组/dfs作差+树状数组)

题意在一棵有 nnn 个节点的树上,求出有多少个点对 (u,v)(u,v)(u,v) ,满足 uuu 是 vvv 的祖先且 a[u]∗a[v]≤ka[u]∗a[v]≤ka[u]*a[v] ≤k 。 1≤n≤1051≤n≤105 1 \leq n \leq 10^5 0≤ai≤1090≤ai≤109 0 \leq a_i \leq 10^9 0≤k≤10180≤k≤1018 0 \...

2018-08-07 16:33:30 245

原创 ZOJ-3795 Grouping(Tarjan+强连通缩点+拓扑排序+DAGDP)

题意给定 nnn 个点,mmm 条有向边。将这些点分组,满足组内任意两个点不能到达。 1≤n≤1000001≤n≤1000001 \leq n \leq 100000 1≤m≤3000001≤m≤3000001 \leq m \leq 300000思路一个强连通分量的中的人一定可以相互到达,所以先缩点,同分量的点一定要分开。然后只用将缩点的点权视为对应分量的点数,然后在 DAGDA...

2018-08-07 16:22:37 430

原创 HDU-4635 Strongly connected(Tarjan+强连通缩点)

题意给定一个 nnn 个节点,mmm 条边的有向图,求最大可以增加多少条边使得这个有向图仍然不是强连通。 1≤n,m≤1000001≤n,m≤1000001 \leq n,m \leq 100000思路与上题题设相反,思路上也有所不同,上题的命题其实有一个否命题也是正确的,“有向图中存在某点的入度或出度为零时,这张有向图图不是强连通图”。那这道题仍然是利用定理求解。首先仍然是缩点,为...

2018-08-07 16:09:36 171

原创 HDU-3836 Equivalent Sets(Tarjan+强连通缩点)

题意给定一个 nnn 个节点的有向图,求最少加几条边,可以使得整个图强连通。 1≤n≤200001≤n≤200001 \leq n \leq 20000 1≤m≤500001≤m≤500001 \leq m \leq 50000思路不难发现出入度和强连通间有一个可否的关系,当一个有向图如果把边都变成双向时是强连通图且图中的每个点入度出度均不为零时,这张有向图图强连通。特别的,只有一...

2018-08-07 15:59:11 176

原创 HDU-2186 Popular Cows(Tarjan+强连通缩点)

题意给定 nnn 个节点和 mmm 条单向边代表关系链(可传递),求被其他所有点关系的点数。 1≤n≤100001≤n≤100001 \leq n \leq 10000 1≤m≤500001≤m≤500001 \leq m \leq 50000思路与上题相同仍是强连通缩点,存在被所有点关系的点的条件是缩点图中只有一个点出度为零,而这个答案就是这个缩点代表的强连通分量中的节点数。所以...

2018-08-07 15:57:30 191

原创 HDU-1827 Summer Holiday(Tarjan+强连通缩点)

题意WiskeyWiskeyWiskey 有 nnn 个朋友,他想告诉 nnn 个朋友一个消息。他有所有朋友的联系方式,打给第 iii 个朋友将花费 aiaia_i ,nnn 个朋友内部有 mmm 对联系方式,每个联系方式(单向)表示 aaa 知道 bbb 的电话,消息可以通过朋友传递。求让这 nnn 个朋友都知道消息 WiskeyWiskeyWiskey 至少要通知多少人,至少所需多少电话费...

2018-08-07 15:55:58 201

原创 HDU-1296 迷宫城堡(Tarjan)

题意一个 nnn 个节点, mmm 条边的单向图,求是不是强连通。 1≤n≤100001≤n≤100001 \leq n \leq 10000 1≤m≤1000001≤m≤1000001 \leq m \leq 100000思路一张强连通图的定义是任意两个节点都可以互相到达。这里使用代码量短,流程清晰的 TarjanTarjanTarjan 算法,具体流程如下。void tar...

2018-08-07 15:54:13 172

原创 CodeForces-932D Tree(树上倍增)

题意给定一个编号为 111 ,权重为 000 的点。在线完成下面两种操作(QQQ 个操作): 1.1.1. 将一个权重为 WWW 的点加入到编号为 RRR 的节点之下。 2.2.2. 询问从 RRR 开始,权重和不超过 XXX 的最长合法序列的长度。 其中一个合法的序列满足从 RRR 开始向祖先走,每当遇到一个权值大于等于目前序列最后一个点的权值时,都将它加入序列末端(构建序列的决策是单...

2018-08-05 11:24:31 366 1

原创 SPOJ-BDOI16E Village Fair(dsu+离散化)

题意给定一棵 nnn 个节点的树,树的每一个节点有一个欢乐值,每个节点有一个小朋友,每个小朋友有一个初始快乐值。现在每个小朋友将往根跑,并加上经过点的快乐值。求到每个节点上出现不同快乐值的小朋友总数。 1≤n≤1000001≤n≤1000001 \leq n \leq 100000思路对于一个节点 uuu ,走过这个节点后的小朋友们加的值都一样了,所以,询问 uuu 子树节点中走到 ...

2018-08-05 10:53:18 283

空空如也

空空如也

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

TA关注的人

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