自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cyhlnj

梦想之所以奢侈,是因为要你付出代价

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

原创 TAT

瞎扯继HNOI,HNOI,HNOI,学科,CTSC,APIO,CTSC,APIO,CTSC, APIO连续爆炸之后 曾一度的怀疑人生,没有任何搞学习的欲望 不断的反省自己:我为什么这么菜? 然后回去搞学科,一直处于一个颓废的状态后来得知PKUSC/THUSCPKUSC/THUSCPKUSC/THUSC报名了 那我肯定报不上,然后连停课的决心都没有了 家里人除了我爸都反对,都似乎觉...

2018-05-31 13:00:45 642

原创 dsu on tree(CF600E Lomsat gelral)

题意一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和。dsu on tree用来解决子树问题 好像不能带修改??暴力做这个题,就是每次扫一遍子树统计答案 时间O(n2)O(n2)O(n^2)或者会高级的数据结构解决 空间,编程难度是个挑战然而dsu on treedsu on t...

2018-05-31 12:36:27 201

原创 CF528D Fuzzy Search

题意有两个基因串SSS和TTT,他们只包含AGCTAGCTAGCT四种字符。 现在你要找出TTT在SSS中出现了几次。 有一个门限值k≥0k≥0k≥0 只要T[i]T[i]T[i]和S[j−k]S[j−k]S[j-k]到S[j+k]S[j+k]S[j+k]有相同的,就视为匹配 (1≤|T|≤|S|≤200000,0≤k≤200000)(1≤|T|≤|S|≤200000,0≤k≤200...

2018-05-31 12:27:04 594

原创 Bzoj4259: 残缺的字符串

题面没有权限号的我当然选择luoguSol假设没有通配符 那么把TTT翻转 设f[i]=∑j+k=i[S[k]==T[j]]f[i]=∑j+k=i[S[k]==T[j]]f[i]=\sum_{j+k=i}[S[k]==T[j]] 如果f[i]f[i]f[i]为000则iii之前的一一匹配 那么可以给每个字符一个权值 重新定义f[i]=∑j+k=i(S[k]−T[j])2f...

2018-05-31 12:26:58 221

原创 牛顿迭代,多项式求逆,除法,开方,exp,ln,求幂

多项式求逆给定A(x)A(x)A(x)求满足A(x)∗B(x)=1A(x)∗B(x)=1A(x)*B(x)=1的B(x)B(x)B(x)写成 A(x)∗B(x)=1(mod xn)A(x)∗B(x)=1(mod xn)A(x)*B(x)=1(mod \ x^n)我们会求A(x)∗B(x)

2018-05-31 12:26:07 1895

原创 Bzoj4784: [Zjoi2017]仙人掌

题面传送门Sol首先判断是能成为仙人掌然后考虑DPDPDP 因为所有的环内不可能连边,那么直接删掉 变成一个森林 对每个树求出方案然后相乘就是答案一个巧妙的转化:看成选取若干条路径恰好覆盖所有的树边的方案数设g[i]g[i]g[i]表示iii个点两两配对的方案数 g[i]=g[i−1]+g[i−2]∗(i−1)g[i]=g[i−1]+g[i−2]∗(i−1)g[i]...

2018-05-31 12:23:28 238

原创 [APIO2018] Duathlon 铁人两项

题面LOJLOJLOJ自己找。。Sol建立圆方树考虑枚举起点sss和终点ttt 那么答案就是sss到ttt间的点双的点数和减去s,ts,ts,t 设方点权值为点双的点数,圆点的权值为−1−1-1 那么就是求s,ts,ts,t的路径上的点权和现在考虑中间的点xxx 那么它的贡献就是经过它的路径的条数*它的权值 树DPDPDP得解# include <bit...

2018-05-31 12:13:31 843

原创 仙人掌基础

定义大概就是:连通图,每条边最多只属于一个环用处解别人出的毒瘤题 出毒瘤题 反正要学。。。习题仙人掌的最大独立集Bzoj4316: 小C的独立集做法没有环就是树DPDPDP 碰到环就做一遍环上的DPDPDP就好了,枚举一下一个点是否选即可# include <bits/stdc++.h># define IL inline# d...

2018-05-31 12:07:35 1620 1

原创 Bzoj3672: [Noi2014]购票

题面传送门Sol设f[i]f[i]f[i]表示iii到根的最小代价 f[i]f[i]f[i]可以由f[j]f[j]f[j]转移而来,要求jjj为iii的父亲,并且满足距离限制显然DPDPDP式可以斜率优化 然而这是在树上,并且每次都要一个iii往上的若干个点的凸包可以考虑维护区间凸包,可以用线段树 或者CDQCDQCDQ分治CDQCDQCDQ分治的方法,其实是点分治,...

2018-05-31 11:50:12 191

原创 CF809E Surprise me!

题意给你一棵nnn 个点的树,每个点有权值 aiaia_i​ aaa 为一个排列 求 1n(n−1)∑i=1n∑j=1nφ(aiaj)disti,j1n(n−1)​∑i=1n∑j=1nφ(aiaj)disti,j\frac{1}{n(n−1)}​\sum_{i=1}^{n}\sum_{j=1}^{n}\varphi(a_ia_j)dist_{i,j} n≤200000n≤200000n...

2018-05-30 22:37:59 249

原创 虚树(Bzoj3611: [Heoi2014]大工程)

题面传送门虚树把跟询问有关的点拿出来建树,为了方便树DPDPDP 在LCALCALCA处要合并答案,那么把这些点的LCALCALCA也拿出来做法:把点按dfsdfsdfs序排列,然后求出相邻两个点的LCALCALCA,把这些点建一个虚树,维护一个栈就好了Sol虚树+树DPDPDP# include <bits/stdc++.h># define IL...

2018-05-30 22:30:41 134

原创 Bzoj3197: [Sdoi2013]assassin

题面传送门Sol套路:找出重心,如果有两个就新建一个点 然后把这棵树hash一下 设f[i][j]f[i][j]f[i][j]表示第一颗树到iii第二棵树到jjj,子树i,ji,ji,j同构的付出的最小代价 转移:每次把这一层hash值相同的点做一边二分图权匹配(KM/费用流)就好了 一遍AC# include <bits/stdc++.h># defin...

2018-05-30 22:26:17 218

原创 线性规划费用流解法(Bzoj1061: [Noi2008]志愿者招募)

题面传送门Sol线性规划费用流解法用与求解未知数为非负数的问题这道题可以列出一堆形如 x[i]+x[j]+x[k]+...>=a[p]x[i]+x[j]+x[k]+...>=a[p]x[i]+x[j]+x[k]+...>=a[p] 的不等式 我们强行给每个式子减去一个东西,使他变成这样 x[i]+x[j]+x[k]+...−y[p]==a[p]x[i]+x[...

2018-05-30 22:20:50 533

原创 Bzoj3597: [Scoi2014]方伯伯运椰子

题面传送门Sol消圈定理:如果一个费用流网络的残量网络有负环,那么这个费用流不优 于是这个题就可以建出残量网络,然后分数规划跑负环了# include <bits/stdc++.h># define IL inline# define RG register# define Fill(a, b) memset(a, b, sizeof(a))using...

2018-05-30 22:08:53 185

原创 分数规划(Bzoj1486: [HNOI2009]最小圈)

题面传送门分数规划分数规划有什么用? 可以把带分数的最优性求解式化成不带除发的运算 假设求max{ab,b>0ab,b>0\frac{a}{b},b>0} 二分一个权值kkk 令ab≤kab≤k\frac{a}{b}\le k那么a−k∗b≤0a−k∗b≤0a-k*b\le 0 如果得出来a−k∗ba−k∗ba-k*b的最大值大于000,那么kkk可以变大 ...

2018-05-30 22:05:36 205

原创 [APIO2018] Circle selection 选圆圈(假题解)

题面自己去LOJLOJLOJ上找Sol直接排序然后KDTreeKDTreeKDTree查询 然后发现TLETLETLE了然后把点旋转一下,就过了。。# include <bits/stdc++.h># define IL inline# define RG register# define Fill(a, b) memset(a, b, sizeof(a))...

2018-05-30 21:58:55 709

原创 Bzoj4520: [Cqoi2016]K远点对

题面BzojSol维护一个小根堆,初始里面放2∗k2∗k2*k个元素(因为点对可能算两遍) 每个点KDTreeKDTreeKDTree暴力查询是否有与这个点距离大于堆顶的,替换堆顶就好了# include <bits/stdc++.h># define IL inline# define RG register# define Fill(a, b) memset...

2018-05-30 21:55:31 187

原创 KDTree(Bzoj2648: SJY摆棋子)

题面传送门KDTree大概就是一个分割kkk维空间的数据结构,二叉树建立:每层选取一维为关键字,把中间的点拿出来,递归左右,有个STLSTLSTL函数nth_element可以用一下维护:维护当前这个点的子树的每一维的最大值和最小值,相当于维护了个高维矩形查询:直接遍历一棵树是O(n)O(n)O(n)的,利用一些独特的性质可以剪枝,因题而异奇技淫巧:把坐标绕原点转...

2018-05-30 21:50:43 235

原创 矩阵树定理

做法入度矩阵-邻接矩阵 然后如果是有根树,去掉根的那一行和列 否则任意去掉一行一列 然后求出行列式就是生成树的个数 如果是有向图 可能就是就是指n−1n−1n-1条边,根可以到达所有点的图的个数求行列式高斯消元成上三角 对角线的乘积就是了...

2018-05-05 16:09:39 351

空空如也

空空如也

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

TA关注的人

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