- 博客(13)
- 收藏
- 关注
原创 线段树合并优化建图
关于正确性的感性理解在x和y有一个为空时,可以直接返回那个不为空的。这样做不会导致给一些节点加一些不该加的边的原因可以这么理解:当你想给某个节点添加一个儿子的时候,必然是两颗树节点都有这个节点,那么此时代码便会新建一个节点,故这样的merge不会导致连出不该连的边。实现细节这两种写法都是正确的:使用主席树的插入方法,无论如何都新建节点。那么此时插入操作的执行位置无影响。void ins(...
2019-02-23 14:10:05
130
原创 【bzoj3681】Arietta
题面所有的 n 个音符形成一棵由音符 C ( 1 号节点) 构成的有根树,每一个音符有一个音高 Hi 。Arietta 有 m 个力度,第 i 个力度能弹出 Di 节点的子树中,音高在 [Li,Ri] 中的任意一个音符。为了乐曲的和谐,Arietta 最多会弹奏第 i 个力度 Ti 次。Arietta 想知道她最多能弹出多少个音符。1 ≤ n, m ≤ 10000 。链接戳这里!分析...
2018-10-19 11:01:26
294
原创 序列选数问题合集
一、对区间中数的个数的限制1.bzoj 1283 给出一个长度为n的正整数序列Ci,求一个子序列,使得原序列中任意长度为m的子串中被选出的元素不超过k 个,并且选出的元素之和最大。 n<=1000,k,m<=100,Ci<=20000。分析把数列串成一串,从 iii 连向 i+mi+mi+m,费用CiCiC_{i},流量111。
2018-09-13 22:40:58
653
原创 【Codechef Dec14. Course Selection】
题目描述课业计划包含NNN项课程,需要在MMM个钟的某一个完成(每学期中可以完成若干个)。 有KKK个限制,形如(Ai,Bi)(Ai,Bi)(A_i, B_i),表示AiAiA_i需要比BiBiB_i先完成(不能在同一个学期)。 每门课在不同的学期会有不同的分数,Xi,jXi,jX_{i, j}表示第iii门课在第jjj学期学的分数。若Xi,j=−1Xi,j=−1X_{i, j} = -1...
2018-09-02 14:48:57
428
原创 【HNOI2015】开店
题目描述题目大意:给定一颗n(n≤150000)n(n≤150000)n(n\leq150000)个点的树,每个点有点权,边有边权(表示两个点之间的距离)。q(q≤200000)q(q≤200000)q(q\leq200000)次询问,每次询问点权在[L,R][L,R][L, R]之间的所有点到某个点的距离之和。强制在线。 题目链接分析首先考虑一个简化的版本,询问所有点到点uuu的距...
2018-08-30 21:59:40
222
原创 【Noip2016】天天爱跑步
题目描述大意:给一颗nnn个点的有根树,每个点有一个期待的数值w[i]w[i]w[i]。mmm次操作,每次往 sss 到 ttt 的路径上插入一个首项为000公差为111的等差数列。结束后问每个点处有多少个值等于这个点期待的数值。 链接在这里分析我们来观察一下插入操作。考虑插入操作能够对哪些点产生影响,首先,需要在这个路径上,且期望值需要和等差数列对应项相同。前一个限制没有什么好说的...
2018-08-28 19:36:57
3375
原创 【POI2012】SZA-Cloakroom
题面链接在这里(洛谷) bzoj上是权限题哇qwq 简述题意: 有n(1<=n<=1000)n(1<=n<=1000)n(1c[i],a[i],b[i](1<=c[i]<=1000,1<=a[i]<b[i]<=109)c[i],a[i],b[i](1<=c[i]&l
2018-08-18 14:43:41
313
原创 【CF 793G】Oleg and Chess
题面链接_洛谷 链接_CF 简述一下题意: 在一个n∗n(n≤10000)n∗n(n≤10000)n*n(n\leq10000)的棋盘上放棋子,要求一行一列不能放两个棋子。现在删去nnn个矩形,输入方式是给左下坐标和右上坐标。删去的矩形不能放棋子,但棋子隔着一个删去的矩形仍然会互相干扰。求最多放几个棋子。分析首先考虑放棋子是什么意思(这是一个挺常见的转化),一行和一列去配对,每一...
2018-08-13 23:58:38
923
原创 【WC2007】石头剪刀布
【WC2007】石头剪刀布题面先放链接:https://www.luogu.org/problemnew/show/P4249 简述题意:一个n个点的竞赛图,给定其中一些边的方向,确定剩余边的方向使得图中的三元环数量尽量多分析这个题想了好久啊qwq,想的全是错的建图…最后还是看题解了才搞明白 我们发现构成三元环这个条件比较难以考虑,所以考虑反过来:什么情况下会无法构成三元环。任...
2018-07-01 17:30:31
222
原创 【CF311E】biologist
题目大意先放链接 简述一下: 有n个布尔变量,开始时分别是0或1。你可以改变这些变量,改变(0变1,1变0)第i个变量的代价是v[i] 现在有m个限制,形如a,b,x1,x2,x3…,xk,表示希望x1-xk都是a(a为0或1),都满足后可以获得b的价值 有一些限制如果没有满足要倒扣g的价值,g对于所有限制是一个相同的值 求最后能获得的最大价值思路一眼网络流 一个错误的...
2018-06-20 18:25:52
557
原创 【POI2015】KIN/Kinoman
题目链接传送门-洛谷 传送门-bzoj思路考虑枚举右端点。首先考虑应用前缀和,对于一个r,找一个最小的sum[l],把需要去掉的部分也放到sum[l]里。但这种做法是错的….对于一个i,把他上一次出现的位置记做pre[i],每次把1到pre[i]之间所有区间的前缀和都加上一个w[i],但是不论如何区间中第一次出现的数是会被计算的,所以这样不可以。 考虑另一种表示方式,对于每个遇到的...
2018-06-18 17:37:56
230
原创 【国家集训队】middle
题意:给你一个长度为n的序列s。 回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c,d]之间的子序列中,最大的中位数。 强制在线。 思路:首先考虑二分答案,判断可行的方法则是看是否小于他的数可以比大于他的数多。则考虑对于[b+1, c-1]直接求出来,对于[a, b]求最大的小的减大的后缀,[c, d]求最大前缀,可以建线段树维护。对于每一个数建一个线段树,则空间爆了,考虑使用主...
2018-05-05 11:47:45
143
原创 【洛谷】P3401 洛谷树
题目大意: 给一棵树,有边权,支持两个操作。 (1)修改一个边权 (2)查询u到v的简单路径的所有子链的异或和的和 https://www.luogu.org/problemnew/show/P3401 做法: 首先这是异或,注意到满足a^b^b = a, 要求所有子链的异或和,即求在(u, v)这个路径上的任意两点(x, y)的路径的异或和之和 考虑处理树上异或前缀和,即sum[...
2018-05-05 11:42:47
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人