自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 收藏
  • 关注

原创 [JZOJ5082].【GDSOI2017第三轮模拟】Informatics Training

题目描述 操作数<=300000分析首先这是一道数据结构裸题。 面对这种码农题我们需要有较清晰的思路。 下面是我打题前的思路: 大概是用splay维护h,s,关键字就是编号。然后两个set维护其他东西。 T3 set: mntr 维护每个splay的根的mn_s ,以及id ,就一个pair嘛 ntr 维护点编号 splay: vtr维护mn_h mn_s sum_h

2017-04-21 17:11:06 499

原创 GDOI2017第三轮模拟总结

DAY2今天的问题算是暴露得比较完全。 看完四道题,没什么感觉,还是无策略地从第一题开始做。 第一题一看感觉是暴力题,看着旁边的人已经开始打了,我有点慌,没怎么想好也开始打。然而打的仍然是暴力,根本无法分析复杂度。然后我又想着要过,然后加了一堆没有用的优化,一样是只有40分,却浪费了大把时间。 而正解实际是要转化问题,转化成问有多少对路径对(x,y)的字符串是相等的。所以说,暴力题不应该乱打,

2017-04-20 22:02:19 449

原创 [JZOJ5078].[AC自动机复习]【GDOI2017第三轮模拟day2】魔法咒语

题目描述给出n个字符串,表示基本词汇 m个字符串,表示禁忌词汇。 给定L,求用基本词汇凑出长度为L的不包含禁忌词汇的字符串方案数。 分析经典套路就是把当前的字符串信息转化为一些字符串算法的信息,那么设f[i][j]表示拼了i个字符,匹配到AC自动机的点j的方案数。复习AC自动机先要建出TRIE,然后再BFS求fail,不要一起求···这不是在线算法。 需要注意这道题中,假如一个点是非法节点,

2017-04-20 21:34:11 531

原创 GDOI2017第二轮模拟总结

前言每次第二天第三天总是烂尾···需要注意。最近情绪有点波动,目前恢复过来了。赛前这样很危险的。平时要特别注意,不要做出让以后遭报应的事情。DAY1第一题是分治,然后暴力合并,这估计是我打的第三道分治题···思想要多培养。 第二题是计数类问题,有两个关于竞赛图的小结论,1,强联通竞赛图必然存在哈密顿回路;竞赛图缩点后形成一条链。 然后很套路的,用总数减去不合法的。 第三题,考虑可行的位置有哪些

2017-04-20 21:22:23 470

原创 [JZOJ5073]【GDOI2017第三轮模拟day1】影魔

题目描述有一个长度为n的排列a[],定义一个点对(i,j) (i < j)的贡献:若max(a[i+1 j−1])<min(a[i],a[j])max(a[i+1~j-1])<min(a[i],a[j]),贡献p1若sort(a[i],a[j],max(a[i+1 j−1]))sort(a[i],a[j],max(a[i+1~j-1]))后,max(a[i+1 j−1])max(a[i+1~j-

2017-04-19 22:36:15 676 1

原创 [JZOJ5072]【GDOI2017第三轮模拟day1】单旋

题目描述有一颗spaly,就是只有单旋的splay,现在有5种操作:插入一个点x把最小值旋到根把最大值旋到根2之后删掉最小值3之后删掉最大值问每次操作涉及的那个点的深度,后面几个操作的深度为没旋时的深度。100%的数据满足:1<=m<=10^5;1<=key<=10^9。所有出现的关键码互不相同。任何一个非插入操作,一定保证树非空。在未执行任何操作之前,树为空。分析暴力肯定就是打一棵sp

2017-04-19 22:17:07 465

原创 关于积性函数的学习小记

前言好菜啊,学这些东西快学傻了。我想整理一下会舒服点。积性函数的定义若f(x)f(x)为定义域为正整数域,值域为复数域的函数,我们就称之为数论函数。对于在a,ba,b互质的条件下,满足f(ab)=f(a)f(b)f(ab)=f(a)f(b)的数论函数,我们称之为积性函数。若对于任意一对a,ba,b都满足,则称之为完全积性函数。常见的积性函数与其性质除数函数σk(n)=∑d|ndk\sigm

2017-04-18 12:35:34 742

原创 关于分治消除删除操作影响的小记

前提是原来的算法如果有分治,也要是按时间分治才行。分治可以按许多不同的关键字分。 首先对于一个时间分治区间[l,r],我们把mid前的修改操作提出来,对于mid后的删除操作,删除mid前的修改先,mid前的删除我们直接把mid前的修改不要了。 然后剩下的一些修改我们再作为初始条件,给[r,mid+1](时间倒流)做原算法,原算法可能也要继续分治下去,也可能直接做,不要有思维定式。而这样是多了个l

2017-04-17 22:49:42 376

原创 GDOI模拟4.11~4.13总结

这几天模拟状态一般,第一天还不错,然后就下滑了,这个要警惕。DAY1第一题看起来十分简单,我打的是在线,离线其实又快又短。在线的话就是B串一个一个处理,然后扫每一位,再在A串中匹配,用一个主席树维护每个点在它后面的某种数的位置。 第二题审了题之后有了正确的方向,由于路径十分多样,只要找到一种简单的走法,就很好做了嘛。注意到一个矩形只有左边两个角的再往外一个的格子的空地是有用的,而我们的路径可以看做

2017-04-17 22:45:25 302

原创 [NTT][JZOJ3303]【集训队互测2013】城市规划

前言这道题既是我NTT的第一份模板,也是第一道FFT相关的应用题。题目描述刚才说过, 阿狸的国家有n 个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通. 为了省钱, 每两个城市之间最多只能有一条直接的贸易路径. 对于两个建立路线的方案, 如果存在一个城市对, 在两个方案中是否建立路线不一样, 那么这两个方案就是不同的, 否则就是相同的. 现在你

2017-04-13 20:28:07 942

原创 FFT—快速傅里叶变换学习小记

我们要干什么FFT能够快速地解决多项式乘法。额···好像也只能干这个事。 一个特殊的例子:高精度乘法。问题简述我们记一个多项式A(x)A(x)的次数界为n,则 A(x)=∑n−1i=0ai∗xiA(x)=\sum_{i=0}^{n-1}a_i*x^i,其中a为系数,x为变量。 注意最高次系数为n-1,不是n。实际上次数界就是有多少项系数。 两个多项式相乘,我们一般记为C(x)=A(x)B(x

2017-04-09 12:21:29 1536

原创 类欧几里得算法与推导

总起类欧几里得主要是模仿欧几里得函数的过程,求解一些问题,时间复杂度与欧几里得一致。我们这里主要是要多弄一个j,然后和i交换主体,再把i消去,达到转移为新状态的目的。代码目前懒得写,反正式子是推两次了,很正确

2017-04-07 22:04:56 1965 1

原创 [51nod1597] 有限背包计数问题

题目描述你有一个大小为n的背包,你有n种物品,第i种物品的大小为i,且有i个,求装满这个背包的方案数有多少 两种方案不同当且仅当存在至少一个数i满足第i种物品使用的数量不同 1<=n<=10^5 你需要将答案对23333333取模分析我们发现后面的物品只能取很少,考虑一下根号算法。 对于前√n种,可以直接做多重背包计数DP。多重背包计数DP计数可不能二进制拆分··· 设f[i][j]表示做

2017-04-07 16:30:17 921

原创 [JZOJ5044]【NOI2017模拟4.4】Sone0

题目描述有一颗n个节点的树,每个节点有编号与权值。有m次操作,每种操作都有独特的编号。 编号为1的操作,会切断当前树上存在的一条边,并新加一条边,保证操作完成后仍然是树。 编号为2的操作,会改变这颗树的根节点(初始根节点为1)。 编号为3的操作,会给树上一条路径上所有点的权值都增加x。 编号为4的操作,会对树上一条路径上点的权值信息进行轮换,如果是对j到k这条路径操作,从j走到k的遍历序列是

2017-04-07 10:31:40 933 1

原创 [JZOJ100004]【NOI2017模拟.4.1】 Dice

题目大意给你一个骰子,点数1~6,每个点数都有抛出的概率P_i。你要抛n轮,每轮中,如果抛出了跟上一轮一样的点数,要重新抛。 现在求两个值,n轮点数和ans的期望E[ans],方差的期望V[ans]。 方差定义:对于一个点数和为x的局面,它的方差为(x−E1)2(x-E1)^2 n<=100000,保证六个面概率加起来严格为1,精度误差10−410^{-4}。

2017-04-07 09:10:13 888 2

原创 [JZOJ100003]【NOI2017模拟.4.1】 Tree

题目描述分析树链:一条从上到下的树上简单路径 对于另外20%: 由于di=1,那么设f[i]为做完i之后,即i的整颗子树都不能再选了的最大收益,那么每次在树链顶时,更新一下f[i],就是把整条路的其他无关的点的f统计起来。为了方便把边拆成点。 100%: 一般来说,这种玄学图论问题,想不到解法要往网络流上想想。那么这道题可能是一个最大费用流。 但是流一次要强制走一段路径,怎么办呢?考虑这样

2017-04-01 21:51:23 674

原创 [STL库]bitset

基本操作#include<bitset>const int Len=1e5+8;int tmp;bool pd;int main(){ bitset<Len> F; //初始化 bitset<Len> foo; bitset<Len> bar (0xfa2);//bitset (unsigned long val); bitset<Len> baz

2017-03-31 15:30:36 602

原创 [JZOJ5037]【NOI2017模拟3.30】轮回

题目大意给你n个点,m条边的无向图,求长度为4的环的个数,环要保证4个点都不同。 n<=50000,m<=100000分析考虑暴力做嘛。 枚举一个点,然后让他往外跑2的长度,对于走到一个相同的点x,记次数为cnt[x],答案可以加cnt[x]*(cnt[x]-1)/2。最后答案除4。 怎么暴力才能保证复杂度呢? 考虑一个套路: 有个点i,比它度数大的点最多2m−−−√\sqrt{2m}个。

2017-03-30 22:09:06 677

原创 [JZOJ5036]【NOI2017模拟3.30】原谅

题目大意给定n个平面上的点,每个点出现的概率都为p,问点最多连线数的期望值。 一个状态下的最多连线数:若出现了点p1,p2,p3…pn,可以在两个点之间连一条线段,两条线段不能在除了端点以外的地方相交,并让连的线段数尽量多。 答案对1e8+7取模。 n<=1000 40%的数据,p=1分析先考虑p=1吧。 首先我们看,若在有x个点的情况下,我们连了尽量多的线,那么可以发现全是三角形。这样我

2017-03-30 21:58:36 1053

原创 [JZOJ5029]. 【NOI2017模拟3.25】围墙

题目描述蛐蛐国准备在和它的一个邻国——蝈蝈国之间修一堵围墙。 围墙可以看成是一个长度为n的括号序列,与此同时还有一个长度为n的排列P,一个围墙被称为稳的,当且仅当: 1、这个括号序列是合法的。 2、构造一张n个点的图,当且仅当第i个位置是左括号时,点i向右Pi连边,最后形成的图必须满足每个点度数均为一。保证对于任意i有Pi 一个括号序列合法的定义如下: 1、空序列是合法的。 2、如果“

2017-03-29 22:14:27 702

原创 [JZOJ5027]【NOI2017模拟3.25】历史行程

题目大意给一个长度为n的01字符串s,还有m个询问,每个询问有两个数l,r,问s的前缀s[1..l],s[1..l+1]…s[1..r]中的任意两个前缀的最长公共后缀是多少。 n,m<=100000分析首先可以把s反过来,这样就是问后缀的lcp了,询问记得也要反过来。 考虑弄出一个sa。 对于一个询问[l,r],答案是什么呢? 就是rank[l]..rank[r]按大小排后,即l~r所有位置

2017-03-29 22:08:43 876

原创 [CF677E] Vanya and Balloons

题目大意给你一个只有0,1,2的n*n的矩阵,你现在可以选择一个叉叉或者十字,把里面的数全部取掉,贡献为取掉的数的乘积。 具体的,从某一点(i,j)出发,选择一个长度c: 你可以这样取(1为取,0为不取) 00100 00100 11111 00100 00100 或者这样取 10001 01010 00100 01010 10001 n<=1000分析很简单的思路,弄两

2017-03-17 22:16:41 1496

原创 [CF725E]Too Much Money

题目大意有个人有n个硬币,每个面值为a[i],要想凑够c面值。 他每次从剩下硬币中取出一个面值最大的,满足它的面值加上之前选的不超过c。 现在你要证明他的方法是有问题的,你在原来基础上给他任意面值(正整数)任意多个硬币,让他的方法凑不出来c。 求你给出硬币的和的最小值。数据保证解不为0。 n,c<=200,000 CF机子2秒时限分析一个性质:你只用给他一个硬币就够了。为什么呢?假如你给他

2017-03-16 16:55:09 662

原创 [jzoj4665][CF407E]k-d-sequence

题目大意给你一个长度为n的序列a[],两个参数k,d,求序列最长的一段,使得这一段所有的数升序排序后最多再加上k个任意的数,可以构成公差为d的等差数列。输出这一段的两端。 n<=2*10^5, 0<=k<=2*10^5, d,|a[i]|<=10^9分析首先有个很显然的结论嘛,答案的那一段区间所有数,两两之间的差都是d的倍数,而且互不相同。那么前者等价于相邻的差是d的倍数,于是乎我们可以把原序列

2017-03-13 21:54:32 727

原创 [JZOJ3754]【NOI2014】魔法森林

题目大意给定N个点M条边的无向图,每条边有两个权值a与b。求一条1到n的路径使得路径经过边的最大a与最大b的和最小。无法到达输出-1。 n<=50000,m<=100000。ai,bi<=50000分析看到ai这么小,我们考虑枚举ai然后算最小b。 那么从小到大枚举ai,不断加入边,边权为bi。 用LCT维护最小生成树即可。具体的,新加入一条边(x,y),若不在同一联通块就link,在同一联

2017-03-03 22:52:55 930

原创 LCT动态树学习小记

总起之前一直不怎么会LCT,然后THUWC的时候····看着知道怎么写就是不会打····所以就学一发,顺便搞了搞其他的数据结构。介绍Link-cut Tree即动态树,能够解决很多动态树问题,而且树的结构变化多端。 LCT跟树链剖分有很像的地方,它也要维护重链,也有类似的轻边。用splay,要分清splay和原图的边。 具体的,splay的关键字是点的深度,左边深度小。如何记录这条重链顶端的父亲

2017-03-03 22:45:14 971

原创 GDKOI划水记

DAY0星期五迷迷糊糊就到了广州,去昌岗玩了一下,也没什么东西,就买了点蛋糕吃,一直在腐剧。晚上好晚睡DAY1昨晚才睡了7h多一点,感觉很困,去买了一瓶咖啡。 比赛8:15开始。审题,第一题很明显模拟题,就怕没得拍又写错,第二题感觉是弄个DP或者枚举一个位置开始取然后用什么东西维护一下。第三题没有仔细想,感觉群论?第四题看错了,以为随便取,不会,不管先。 第一题很快写完,保险检查了2遍代码又出了

2017-02-21 15:40:14 537

原创 LCA的RMQ求法

目的老是打错,现在系统搞一遍。例题分析经典的主席树,要找LCA。LCA首先每访问一次一个点,dfn++,设le[x]为点x最小dfn,ref[y]为dfn=y的时候在哪个点上。f[y][x]为dfn为x开始,长度为1<代码#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std

2017-02-16 17:12:04 764

原创 THUWC总结

比赛过程比赛的前一天宿舍没有暖气,冷了一晚上,不太舒服,早上起来昏昏欲睡。幸好比赛在下午,那时比较精神。 开始比赛了,花20分钟看了三题,三题都很可做,但是第一题知识点不会是硬伤。稍微预览了一下t3题答题的数据,在1.5h后开始着手t1。因为研究了挺久都不会,决定打树链剖分,拿25分。打着打着觉得5分要打树链剖分很花时间,于是只拿20分。 本来就不太熟练,加上这几天老是调整不出状态,又有奇奇怪怪

2017-02-14 15:20:25 1218

原创 [POJ2142]The Balance

这几天补补数学····做点基础题题目描述现有质量为a和b的砝码,数量不限 要求在天平上称出质量为d的物品,天平左右均可放砝码 求一种可行方案,要求:放置砝码数量尽可能少;数量相同时,总质量尽可能少 不会无解分析明显转化为ax+by=c,现在问题是让|x|+|y|最小。 若其最小,此时x或y肯定是最小的正整数解,因为一个更优,我们让他一直减下去嘛。 naive的想法是x每次减b,y每次减a,

2017-02-06 16:41:30 696

原创 [POJ3101]Astronomy

题目大意有个恒星系,有n个行星,其中第i个以时间t_i为周期绕恒星做圆周运动,问行星们在过恒星的同一条直线上的时刻之间的间隔。 N<=1000,t_i<=10000 分析首先要注意到行星可以在圆的两边。 然后所有行星都过同一条直线可以看成任取i,i和i+1在同一直线上。 那么通过一波计算,可以得出i和i+1的时间间隔,是一个分数,记为ai/bi。 接着我们要做的就是把所有分数弄一个最小公倍

2017-02-05 21:05:45 835

原创 JZOJ4957. 【WC模拟】B君的宴请

题目描述 1<=n<=1000000,0<=k<=n分析这是一道经典的群论题目。看到本质不同,就应该这样反应了。 旋转和对称相当于置换嘛。那么定义置换为旋转k次后翻不翻转,这个可以构成一个群。我们用burnside引理: 本质不同的方案数ans=∑f∈Gc(f)|G|本质不同的方案数ans=\frac{\sum_{f\in G}c(f)}{|G|} 这道题有另一个性质就是旋转k次后翻转等价于

2017-01-19 22:54:56 822

原创 JZOJ4954. 【WC模拟】Equation

题目描述分析呐首先这个布尔函数的变量只能是0,1.反正比赛的时候我以为可以随便取,就不会做了。 我们定义(v1,1 or v,1,2)为一个项,x为变量。 先观察题目,发现要项里面最多只有两个东西。然后里面的东西相同的不会出现两次以上,这是什么意思呢?意味着一个变量至多出现在两个不同的项里面。 纯暴力是对变量枚举,由于上面的特殊性,又由一般的xor套路可得,我们应该可以转化成对异或的项dp。

2017-01-18 22:32:01 587

原创 JZOJ4951. 【WC模拟】优美的树

题目大意所谓的优美的树需要满足如下条件: 1. 这是一棵有根二叉树; 2. 非叶节点需有两个儿子; 3. 不可以变换为k-左偏树。 所谓的k-左偏树是指一棵有k 个叶子的树,每个非叶节点的右儿子均为叶子且均有左儿子。 所谓的变换指的是经过若干次如下两种变换: 1. 删去一个节点的两个儿子; 2. 用一个节点的某个儿子替换该节点。 现在给你k 和n,想要你求出叶子数为1,2,3…...

2017-01-18 16:28:10 693

原创 JZOJ4944. 【WC模拟】Monument

题目大意数轴上有n个点,都有各自的速度和位置,现在可以删除掉k个点,求删除后最大的T,使得在时间T以内,点都不碰撞。 n<=100000分析这种题目一般都可以先二分答案嘛。点不碰撞的条件是什么呢?就是在T时间内,他们的相对顺序不改变。所以我们一开始先按位置排序。我们可以删掉K个点,使得相对顺序保持。那么就相当于对时间T后的位置序列做最长不下降子序列。如果序列长度大于等于n-k,那么这个T就合法嘛。

2017-01-14 16:12:36 471

原创 JZOJ2724. 【3.16XJ模拟题】圆

题目描述二维坐标平面内有n个圆,第i个圆圆心在(Xi,Yi),半径为Ri,权值Vi。任何两个圆都不会相交(也不会相切),但是圆与圆之间可能存在包含关系。当我们在一个圆里面的时候,我们必须经过它的边界一次,才能走出这个圆。对于不同的两个圆A、B,如果可以从A到B且经过不超过K次边界,则称A、B是连通的。现在的问题是:对于所有的连通的一对圆(A,B),权值差的绝对值最大有多少。即找到max{ |VA –

2016-12-19 21:59:21 1233

原创 JZOJ4918.【GDOI2017模拟12.9】最近公共祖先

题目大意n个节点的有根树,根为1,每个节点有黑白两种颜色与一个固定的权值val。一开始全都是白色的,然后给出m个操作。有两种: M v,把v修改成黑色; Q v,找一个黑色节点u,使得u,v的lca的权值最大,输出权值,假如没有输出-1。 分析先考虑一下暴力怎么打。 我们可以枚举lca是什么,看看其子树有没有黑色节点。 那么lca一定是v到根上的一个点,枚举lca,并查询lca的子树下,除

2016-12-10 17:06:32 658 1

原创 NOIP2016小结

第一天星期四调整的差不多了,身体条件还不错,开始比赛吧。 看完三题,花了15min,第一题纯模拟····第二题和第三题都大概知道怎么做,其中第二题跟前几天做过的某道题很像,套路一样。 第一题先切掉再说。 第二题,开始分析,lca为中心,拆成两条路,头尾打类型+1-1标记,问题转化为求每个点x的子树内类型为w_x±dis_x的标记和是什么。这个时候一眼线段树合并,想到处理完每个点子树的情况,合并

2016-11-26 11:49:44 660

原创 三分

不要打错啊,通过抛物线性质检查代码 l=0.0; l1=calc(x[i],y[i],l); r=(double)z[i]; r1=calc(x[i],y[i],r); while (r-l>0.000001) { m1=l+(r-l)/3; m2=r-(r-

2016-11-14 22:37:58 761

原创 4850. 【GDOI2017模拟11.3】记忆的轮廓

题目描述通往贤者之塔的路上,有许多的危机。 我们可以把这个地形看做是一颗树,根节点编号为1,目标节点编号为n,其中1-n的简单路径上,编号依次递增,在[1,n]中,一共有n个节点。 我们把编号在[1,n]的叫做正确节点,[n+1,m]的叫做错误节点。一个叶子,如果是正确节点则为正确叶子,否则称为错误叶子。 莎缇拉要帮助昴到达贤者之塔,因此现在面临着存档位置设定的问题。为了让昴成长为英雄,因此一

2016-11-14 21:40:32 584

空空如也

空空如也

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

TA关注的人

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