自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

y_immortal的博客 QwQ(qdez_ymh)

一个濒临退役的OIer

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

原创 洛谷3721 HNOI2017单旋(LCT+set+思维)

题目链接这题难道不是spaly裸题吗?言归正传QWQ一看到这个题目,其实第一反应是很懵X的从来没有见过类似的题目啊,什么spalyspalyspaly,单旋。QWQ很懵逼啊不过,我们可以注意到这么一件事情,就是我们对于树中元素移动的时候,只会移动min或者maxmin或者maxmin或者max。那么会不会有什么性质呢QWQ经过手玩,以maxmaxmax为栗,我们可以发现我们将这个点...

2018-11-30 11:29:06 177

原创 洛谷3348 大森林 (LCT + 虚点 + 树上差分)

题目链接这可真是道神仙题QWQ问了好多dalaodalaodalao才稍微明白了一丢丢做法首先,我们假设不存在111操作,那么对于询问的一段区间中的所有的树,他们的形态应该是一样的甚至可以直接理解为000操作就是表示所有树的生成节点都添加一个儿子其实就算存在111操作,也是类似同理的.这样考虑:考虑如果在 lll处更换了生长节点,那么就相当于把第 l−1l−1l−1 棵树之后生长的节点...

2018-11-29 21:01:53 165

原创 CF1082E Increasing Frequency (multiset+乱搞+贪心)

题目链接题目大意:给你n个数ai,给定一个m,你可以选择一个区间[l,r],让他们区间加一个任意数,然后询问一次操作完之后,最多能得到多少个m给你n个数a_i,给定一个m,你可以选择一个区间[l,r],让他们区间加一个任意数,然后询问一次操作完之后,最多能得到多少个m给你n个数ai​,给定一个m,你可以选择一个区间[l,r],让他们区间加一个任意数,然后询问一次操作完之后,最多能得到多少个m...

2018-11-29 20:00:21 153

原创 CF1082G Petya and Graph(最小割,最大权闭合子图)

题目链接QWQ嘤嘤嘤感觉是最水的一道GGG题了顺便记录一下第一次在考场上做出来G qwqqq题目大意就是说:给你n个点,m条边,让你选出来一些边,最大化边权减点权n≤1000n\le 1000n≤1000QWQ看完这个题和数据范围,第一感觉就是网络流啊QWQ首先,我们可以将一条边视为依赖于两个端点,也就是表示,你要是选择了这一条边的收益,必须付出剩下两个点的代价。那么这就是一个经...

2018-11-29 18:32:39 316

原创 cf1082D Maximum Diameter Graph(构造+模拟+细节)

题目链接QWQ不得不说 cfcfcf的edu roundedu\ roundedu round出这种东西 有点太恶心了题目大意:给你nnn个点,告诉你每个点的最大度数值(也就是说你的度数要小于等于这个),让你构造一个无向图,使其满足直径最大且包含所有点一看就是个构造题QWQ但是细节非常多。大致上的思路就是,我们考虑把度数大于1的点拿出来,然后构成一条链,剩下的往这条链...

2018-11-29 16:56:15 290

原创 洛谷3320 SDOI2015寻宝游戏(set+dfs序)(反向迭代器的注意事项!)

题目链接被STLSTLSTL坑害了一个晚上,真的菜的没救了啊。准确的说是一个叫reverse iteratorreverse\ iteratorreverse iterator的东西,就是我们经常用的rbegin()rbegin()rbegin()有一个非常重要的性质在反向迭代器中,++相当于正常的–,--相当于正常的++也就是说假设我们要访问setsetset中的...

2018-11-28 20:41:18 127

原创 CF613D Kingdom and its Cities(虚树+贪心)

题目链接很休闲的一个题啊其实一看到关于∑k\sum k∑k的限制,就知道是个虚树的题了首先我们把虚树建出来,然后考虑怎么计算个数呢?我们令f[x]f[x]f[x]表示以xxx的子树中,剩余了多少个还没有切断的关键点首先,如果当前点是一个关键点的话,那么他所有的f[son]!=0f[son]!=0f[son]!=0的儿子都需要割掉,而且当前点的f[x]f[x]f[x]应该是1(因为只能删除...

2018-11-28 18:11:22 280

原创 CF536D Tavas in Kansas(博弈论+dp)

题目链接貌似洛谷的题面是没有翻译的QWQ大致题面是这个样子,但是可能根据题目本身有不同的地方完全懵逼的一个题(果然博弈论就是不一样)首先,我们考虑把题目转化成一个可做的模型。我们分别从sss和ttt跑两边全图最短路,这样,对于每个点,我们就能得到dis[i]dis[i]dis[i]和disn[i]disn[i]disn[i]。这时候,我们把每个图上的点,看成一个平面上的点(dis[...

2018-11-28 14:30:45 648

原创 LOJ6469 Magic(trie+)

题目链接纪念我菜的真实的一场模拟赛首先看到这个题目,一开始就很毒瘤。一定是没有办法直接做的。我们考虑转化问题假设,我们选择枚举xxx,其中xxx是101010的若干次方,那么我们只需要求有多少对异或完比xxx大的数,那么就是xxx对于答案的贡献了。那么应该怎么求比多少对呢?!!!trie!!!对于trie的每个节点,我们维护他的子树里面的数的个数,记为size[x]size[x]si...

2018-11-28 10:21:40 236

原创 LOJ6356 四色灯(容斥+dp

题目链接纪念第一次所有的解析全写在代码里面QWQ这里就简单说几句了首先一个灯有贡献,当且仅当他被按了4k4k4k次。那么我们定义f(S)f(S)f(S)表示[1,n][1,n][1,n]中有多少个数xxx是集合SSS中元素的公倍数f(S)=nlcmx∈Sxf(S) = \frac{n}{lcm_{x\in S} x}f(S)=lcmx∈S​xn​这里需要注意的是,求lcmlcmlcm...

2018-11-28 10:07:23 367

原创 洛谷4103 HEOI2014大工程(虚树+dp)

题目链接又是一道虚树好题啊我们建出来虚树,然后考虑dp过程,我们分别令sum[x],mndis[x],mxdis[x],size[x]sum[x],mndis[x],mxdis[x],size[x]sum[x],mndis[x],mxdis[x],size[x]为子树内的路径长度和,最短链,最长链,子树内关键点个数。对于一个关键点,首先他的size=1,mndis=0size=1,mndis...

2018-11-27 16:46:28 168

原创 洛谷3233 HNOI2014(虚树+dp)

题目链接膜拜一发mts_246,forever_shimts\_246,forever\_shimts_246,forever_shi这两位爷是真的无敌!首先来看这个题,一看题目的数据范围和“关键点”字眼,我们就能得知这是一道虚树题那就先一如既往的建出来虚树吧QWQ但是这之后,应该怎么去dp呢。首先,我们需要知道在虚树上每个点的从属都是谁,这样才便于我们进一步扩展到虚树之外的点。那...

2018-11-27 16:20:51 185

原创 虚树学习笔记(洛谷2495 消耗战)

题目链接因为辣鸡csdn,导致之前快写好的博客没了QWQ悲伤逆流成河qwqqq首先虚树,这个东西,我感觉是一种思想,或者是方法,而并不是一个数据结构什么的。他主要是用来解决:给出一棵树,每次询问选择一些关键点,求一些信息。这些信息的特点是,许多未选择的点可以通过某种方式剔除而不影响最终结果。于是就有了建虚树这个算法。我们根据原树的信息重新建树,这棵树中要尽量少地包含非关键节点。 这棵树...

2018-11-27 11:46:45 262

原创 洛谷3244 落忆枫音 (拓扑图dp+式子)

题目链接题目大意就是 给你一个DAG然后添加一条边x−>yx->yx−>y ,询问以1为根的生成树的个数QWQ首先假设没有添加的边答案就应该是ans=∏i=1nin[i]ans=\prod_{i=1}^{n} in[i] ans=i=1∏n​in[i]QWQ就相当于每个点选择一个父亲。那么加入一条边,我们会有一些不合法的情况,那就是包含一条y−&a...

2018-11-26 23:00:02 156

原创 CF123E Maze(期望dp,树形dp,式子)

题目链接题目大意:给你一棵树,边权都是1,每一个点有一个是起点的概率和一个是终点的概率,你将以起点为根,开始在树上随机dfs,每到一个点,就会将他的所有儿子随机打乱成序列,然后按照那个随机顺序走完,直到走到终点。求dfs从起点到终点的期望长度。其实一开始看到这个题,还是有点懵逼的啊根据期望的线性性,我们可以通过求所有相邻点的期望,然后直接相加,得到ans那我们可以这么考虑,对于一个点来说...

2018-11-26 22:08:04 317

原创 洛谷3613睡觉困难综合征(LCT维护链信息(前后缀)+贪心)

题目链接这个题目还是很好啊QWQ很有纪念意义首先,如果在序列上且是单次询问的话,就是一个非常裸的贪心了QWQ这也是NOI当时原题的问题和数据范围我们考虑上树的话,应该怎么做?我的想法是,对于每一位建一个LCT来做,然后对一个点x维护,当前是0到链顶的结果,当前是1到顶的结果,当前是0到底的结果,当前是1到底的结果(之所以维护后两个是因为reversereversereverse操作的存在)...

2018-11-26 21:50:09 159

原创 洛谷3950 部落冲突(LCT维护连通性)

题目链接看题目也是个比较裸的题目了QWQ不想多说了开战就是cutcutcut,停战就是linklinklink就当记录一个板子了!// luogu-judger-enable-o2#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#incl...

2018-11-25 19:52:05 156

原创 SPOJ2939 QTREE5(LCT维护子树信息)

题目链接QWQ嘤嘤嘤此题正规题解应该是边分治??或者是树剖(总之不是LCT)但是我这里还是把它当成一个LCT题目来做首先,这个题的重点还是在update上因为有makerootmakerootmakeroot这个操作的存在,所以自然避免不了reversereversereverse,而当reversereversereverse之后,会影响到每个点维护的值的时候,就需要同时维护两个相反的...

2018-11-25 19:16:43 155

原创 洛谷4299首都(LCT维护动态重心+子树信息)

题目链接这个题目很有意思QWQ根据题目描述,我们可以知道,首都就是所谓的树的重心,那么我们假设每颗树的重心都是rootrootroot的话,对于每次询问,我们只需要findroot(x)findroot(x)findroot(x)就可以。那么如何处理linklinklink操作呢QWQ这里是看了题解,我才知道是怎么做的大致的思想就是:!启发式合并!首先,这里需要注意树的中心具有的两...

2018-11-25 18:27:15 310

原创 洛谷4219 BJOI2014大融合(LCT维护子树信息)

题目链接QWQ这个题目是LCT维护子树信息的经典应用根据题目信息来看,对于一个这条边的两个端点各自的sizesizesize乘起来,不过这个应该算呢?我们可以考虑在LCT上多维护一个xv[i]xv[i]xv[i]表示iii的虚子树的子树和,然后维护sum[i]sum[i]sum[i]表示iii的虚+实子树之和。那么对于一个点xxx,他在原树上的字数大小就应该是size=xv[x]+sum...

2018-11-25 14:11:29 161

原创 洛谷4234最小差值生成树 (LCT维护生成树)

题目链接这也是一道LCT维护生成树的题。那么我们还是按照套路,先对边进行排序,然后顺次加入。不过和别的题有所不同的是:在本题中,我们需要保证LCT中正好有n−1n-1n−1条边的时候,才能更新ansansans其次,更新答案的时候,已知我们的边是最小的边,所以我们要考虑删除最大的边来考虑更新答案,而求最大边的过程,可以通过visvisvis打标记,加一个指针随时维护来解决最后一件事!!...

2018-11-25 13:52:30 161

原创 洛谷4172 WC2006水管局长(LCT维护最小生成树)

题目链接这个题和魔法森林感觉有很相近的地方啊同样也是维护一个类似最大边权最小的生成树但是不同的是,这个题是有cutcutcut和询问,两种操作…这可如何是好啊?我们不妨倒着来考虑,假设所有要cutcutcut的边全都不存在,倒序做这个问题,不就是相当于在支持linklinklink操作吗?那么就和之前的问题大致上是一样的了对于u−>vu->vu−>v...

2018-11-25 12:39:36 159

原创 洛谷2387 NOI2014魔法森林(LCT维护最小生成树)

题目链接本题是运用LCT来维护一个最小生成树。是一个经典的套路题目中求的是一个max(ai)+max(bi)max(a_i)+max(b_i)max(ai​)+max(bi​)尽可能小的路径。那么这种的一个套路就是,先按照一维来排序,然后用LCT维护另一维那么这个对于这个题来说,我们考虑,可以先按照a从小到大排序,然后顺次加入每条边,这样每次加入的边一定是有可能会更新到ansansans...

2018-11-24 20:58:02 218

原创 洛谷1501 Tree II(LCT,路径修改,路经询问)

题目链接这个题是一个经典的维护路径信息的题,对于路径上的修改,我们只需要把对应的链splitsplitsplit上来,然后修改最上面的点就好,注意pushdown的时候的顺序是先乘后加然后下传乘法标记的时候,记得把对应的addaddadd标记也要乘,因为就跟线段树的下传标记类似// luogu-judger-enable-o2#include<iostream>#includ...

2018-11-24 19:39:17 349

原创 洛谷3203 弹飞绵羊(LCT)

题目链接据说这个题当年的正解是分块qwq根据题目所说,对于题目中的弹力系数,就相当于一条边,那么对于“跳出去”这个限制,我们可以选择建造一个新点n+1n+1n+1表示结束,那么每次,求一个点要多少次跳出去,只需要求n+1n+1n+1到xxx的点数,然后减1就行直接上代码// luogu-judger-enable-o2#include<iostream>#include&l...

2018-11-24 18:53:42 148

原创 LCT模板(学习笔记)(洛谷3690)(加边,删边,修改点权)

题目链接最近学习了一波LCT qwq强势安利Flashhu的博客!!!!!真的特别详细(可惜我不会弄链接)如果有想要学习LCTLCTLCT的同学,可以直接看他的博客我这里就简单写一点自己的体会啊。LCTLCTLCT大致上就是一个支持加边,删边,维护子树信息,路径修改,维护路径信息的一个数据结构本质上LCT是一个实虚链划分代码的话,主要是分为几个部分首先是判断这个点是不是根 和 其...

2018-11-24 18:38:36 330

原创 NOIP2018雪崩记

QWQ好久没写博客了之前也有很多题没有整理感觉留了很多的大坑NOIP也是螺旋爆炸啊100+100+80+84+20+12=400100+100+80+84+20+12 = 400100+100+80+84+20+12=400感觉可以去yaxi了DAY1T3 调了俩小时都没出来,硬是最后15min才发现错误,然后没来得及改出来DAY2整个人就是在梦游,写了3h的T1,到最后都没有过大样...

2018-11-24 18:15:04 162 4

空空如也

空空如也

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

TA关注的人

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