自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KsCla

なかない君と嘆きの世界 輪廻の刻は暮れゆけど

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

原创 洛谷P3613:睡觉困难综合征 (LCT+二进制压位)

题目传送门:https://www.luogu.org/problemnew/show/P3613题目分析:yuno好可爱呀!!!由于不同的位运算之间不满足结合律,所以我们不能将后面的操作合并。又因为位运算时每一位是独立的,我们不妨考虑用LCT维护某一位开始是0,1时,经过这条链后会变成多少。询问时从高位向低位贪心:如果某一位可以选0或1,且选1比选0优,就选1,否则选0;还要注意最高位限制,有点像

2017-11-21 22:12:25 548

原创 洛谷P1295:[TJOI2011]书架 (线段树优化DP)

题目传送门:https://www.luogu.org/problemnew/show/P1295题目分析:这题是我在NOIP之前看到的,那个时候我们机房人人都在刷这题,而我因为在颓,就只好事后填坑啦。 按tututu的话来说,“这题不难想,其实怎么做都可以”,主要是因为有很多单调性。首先O(n2)O(n^2)的DP很好推,记f[i]表示以第i本书为某一层结尾时,书架的最小高度。很明显:f[i]=

2017-11-20 17:24:36 1054

原创 洛谷P2824:[HEOI2016]排序 (二分答案+线段树)

题目传送门:https://www.luogu.org/problemnew/show/P2824题目分析:这题是我上生物课的时候花20分钟想到的。我们可以像整体二分那样,先枚举一个数作为标准,然后只关心a序列中的每个数比这个标准大还是小,小于等于记为0,大于记为1。假设某一次操作要让一个区间升序排序,我们就用线段树先查一下这个区间有几个0和1,然后用懒惰操作将0放在区间左边,1放在区间右边。降序排

2017-11-18 09:38:36 483

原创 洛谷P3380:二逼平衡树 (树套树)

题目传送门:https://www.luogu.org/problemnew/show/3380题目分析:为什么我要把这道模板题写在博客上呢?因为我想记录一个卡常的小技巧。骗访问量这题我是考noip之前码的,写的是坐标线段树套动态开节点的权值线段树,虽然空间是O(nlog2(n))O(n\log^2(n)),但实际空间并没有这么大。由于在log(n)\log(n)棵线段树上同时二叉查找,时间是O(m

2017-11-16 21:38:45 2014

原创 NOIP2017题解

前言趁着现在还没有出成绩,我还可以在机房浪一波…… 以下6题的代码都只是通过了洛谷的民间数据,如果官方数据出了,没有AC也是很正常的。Day1T1:小凯的疑惑题目分析:考试的时候花了10min推出来,后来得知出题人也是这么推的。我们考虑答案模a等于几,很明显不可能等于0。那么假设答案模a等于1,必然存在一个最小的正整数y使得yb%a=1,很明显y与a互质。于是所有%a=1的数中,最大的不能被表示的

2017-11-16 21:16:14 7270 4

原创 Tyvj4620:一方的loli量产计画 (快速幂)

前言:为什么我要刷这道水题呢?因为我一看见题面就被吸引然后点进来了。 我也想量产loli啊啊啊题目传送门:http://tyvj.cn/p/4620题目分析:如果某个时刻有一个LO跑掉了,那么LO的总数就会是k的倍数,就再也不会有LO跑掉了。由于这个时刻不会超过k,我们将前k个时刻LO的数量模k的值暴力计算,并同时维护其模p的值,然后剩下的部分快速幂即可。CODE:#include<iostrea

2017-10-23 07:45:00 314

原创 洛谷P2312:解方程 (Hash+数学)

题目传送门:https://www.luogu.org/problem/show?pid=2312题目分析:一道脑洞很大的题……这要是在考场上我绝对暴力高精度水50走人。 要判断一个很算式的结果是不是0,而且算式中的数字都很大,我们可以将算式中的数字模几个大质数,看算出来的结果是否都为0。于是这题我们将每个系数模几个大质数,再暴力将[1,m]中的数代入检验,就有70分了。 至于100分……要用到

2017-10-18 16:37:22 446

原创 洛谷P1080:国王游戏 (贪心+高精度)

前言:听高一的说今晚JT会过来讨论停课集训的事情。啊啊啊好想停课啊,不想上文化课QAQ……题目传送门:https://www.luogu.org/problem/show?pid=1080题目分析:刷一下前几年的NOIP真题……这题有一个结论:将每个大臣按左手上的数乘以右手上的数从小到大排序,即是最优的排列方法。为了证明这个贪心,不妨只考虑当前相邻的两个大臣i,ji,j,看一下他们交换位置后是否使答

2017-10-17 19:09:16 931

原创 BZOJ4771:七彩树 (LCA+Treap+可持久化线段树)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4771题目分析:一道很妙的题。先简化问题:假设没有深度限制,问题就变成了一棵子树中本质不同的颜色个数。只要将DFS序搞出来,就变成了一段区间中不同的数的个数,这个直接用可持久化线段树就可以解决了。有深度限制怎么办呢?我们可不可以按深度顺序将这些点加入主席树呢?答案是不可以的。因为以深度为顺序

2017-10-16 14:11:33 1058

原创 NOIP2016模拟赛 序 (LIS)

序【问题背景】zhx给他的妹子们排序。【问题描述】zhx有N个妹子,他对第i个妹子的好感度为a i  a_i , 且所有a i  a_i两两不相等。现在N个妹子随意站成一排,他要将她们根据好感度从小到大排序。他使用的是冒泡排序算法(详见下)。如果排序过程中好感度为a i  a_i的妹子和好感度为a j  a_j的妹子发生了交换,那么她们之间会发生一场口角。 现在zhx想知道,给定妹子的初始排列,在

2017-10-05 00:15:18 432

原创 NOIP2016模拟赛 运 (DP+逆元)

运【问题背景】zhx和妹子们玩数数游戏。【问题描述】仅包含4或7的数被称为幸运数。 一个序列的子序列被定义为从序列中删去若干个数,剩下的数组成的新序列。 两个子序列被定义为不同的当且仅当其中的元素在原始序列中的下标的集合不相等。对于一个长度为N的序列,共有2N2^N个不同的子序列。(包含一个空序列)。 一个子序列被称为不幸运的,当且仅当其中不包含两个相同的幸运数。 对于一个给定序列,求其中

2017-09-30 15:45:14 513

原创 Tyvj4876:骰子游戏 ((FFT/NTT)+倍增+DP)

题目传送门:http://tyvj.cn/p/4879题目分析:其实这题我并没有AC(因为我没写过NTT),只是觉得这还是道不错的DP,就记录一下。骗访问量 读完题之后可以发现第一段话是废话,令x减去小A手中y点数的个数,问题就变成了:有n个人,每个人有m个骰子,所有点数为y的骰子的个数大于等于x的方案有多少种?考虑到一个人手中的骰子为{1,1,2}和{1,2,1}视作同一种方案,不妨先预处理出一

2017-09-30 14:51:16 569

原创 洛谷P1081:开车旅行 (Treap+倍增)

题目传送门:https://www.luogu.org/problem/show?pid=1081题目分析:这题的两个问其实是差不多的。第一问给出了X0,我们枚举起点s,就相当于变成了n个第二类询问(s,X0)(1<=s<=n)(s,X0)(1<=s<=n)。于是现在原问题变成了:给出(s,x),如何快速求s开始往下走不超过x距离时,A,B各走的距离?然后用数据结构预处理出A,B到达每一个点之后会走

2017-09-29 21:29:24 395 3

原创 Tyvj4878:道路修建 (环套树DP+单调队列)

题目传送门:http://tyvj.cn/p/4878题目分析:刚看题以为很简单,想着直接在每一个外向树上跑最长路,再随便搞搞跨环的最长路就行了。然而仔细分析发现跨环的最长路并不是那么好搞,还要用到单调队列优化…… 首先外向树上的最长路就和求树的直径一样,以任一点为根DFS,再用深度最大的点为根DFS,第二次DFS的最大深度值即为树的直径;或者也可以用类似DP的写法。再考虑跨环最长路,它一定是环上

2017-09-28 20:59:55 491

原创 Tyvj4876:近似排列计数 (矩阵快速幂)

题目传送门:http://tyvj.cn/p/4876题目分析:比赛的时候见到这题作为T3出现,想了5min就知道是个矩阵乘法,然而由于T1T2花了太久时间,只剩下半小时,就没有敲代码。比赛之后又想清楚了一些细节,过来把这题补了。 由于k最大只有2,当k=2时,符合条件的排列第i位一定是i+2,i+1,i,i-1,i-2中的一个,我们不妨用一个状态压缩将这几位有没有选记下来;又考虑到n高达1091

2017-09-27 22:08:26 396

原创 Tyvj4875:排列 (单调栈)

题目传送门:http://tyvj.cn/p/4875题目分析:真是一道神题,我考试的时候想了1h都没想出来,最后只好码了个暴力,没想到正解和暴力之间就差一个小优化…… 朴素的O(n2)O(n^2)暴力是固定左端点,然后R指针往右扫更新Min和Max值,令ans[Max-Min]加1,最后对ans数组做个前缀和。然而由于a数组是随机生成的,所以Max和Min的取值只会有log(n)个(题解上是这么

2017-09-27 16:49:34 396

原创 Tyvj4866:摆摊 (线段树)

题目传送门:http://tyvj.cn/p/4866题目分析:做清北学堂NOIP模拟赛1的时候见到这题,一开始想了好久只会O(Qm−−√log(n))O(Q\sqrt{m}\log(n))的莫队,就是一边做莫队一边用线段树维护最左边的两个空摊位。后来tututu过来看到这题,转了两圈立马就想出了O(Qlog(m))O(Q\log(m))的正解做法……我们先用f[i]f[i]表示a[1]a[1]~a

2017-09-26 19:24:22 451

原创 洛谷P1445:没占到1444的愤怒 (数学推导+线性筛)

题目传送门:https://www.luogu.org/problem/show?pid=1445题目分析:这题我先自己推导了一遍,用了一种很麻烦的推法,后来发现题解的做法比我的快好多。我自己的推导: 求:1x+1y=1n!\frac{1}{x}+\frac{1}{y}=\frac{1}{n!} xyx+y=n!\frac{xy}{x+y}=n! 不妨令k=gcd(x,y),x=ak,y=bk

2017-09-19 13:27:13 765

原创 BZOJ3672:[Noi2014]购票 (斜率优化DP+二分+(树上CDQ分治/树链剖分))

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3672题目分析:这题和NOI2007货币兑换Cash差不多,只不过它斜率优化的式子要简单些,并把原先的序列变成了树,还加上了距离限制。 我们先考虑一种比较暴力的做法:能更新某个点答案的那些点一定在它父亲到它祖先某个点u的连续一段上,于是不妨用倍增找出这个u,然后做一次树剖。在DFS序的线段

2017-09-05 13:44:37 634 1

原创 BZOJ1492:[NOI2007]货币兑换Cash (CDQ分治+斜率优化DP/平衡树维护凸壳)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1492题目分析:被一道水题坑了两天…… 首先朴素的O(n2)O(n^2)的DP是很好想的:记f[i]表示第i天不持有任何金券所能获得的最多人民币,很明显f[i]可以由f[i-1]更新而来(就是在1~i-1天就已经卖完所有金券,然后第i天不进行任何操作),还可以枚举一个j,看一下在第j天买入

2017-09-02 12:02:13 1540

原创 BZOJ4537:[Hnoi2016]最小公倍数 (分块+并查集+启发式合并)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4537题目分析:神题一道,一开始我YY了一下LCT,发现不可做,后来看了网上大神的做法发现是分块…… 由于2和3互质,所以我们可以看成一条边有两个属性a,b。先考虑暴力怎么做:对于一个询问(u,v,A,B),我们将所有a<=A,b<=Ba<=A,b<=B的边(a,b)加进并查集里,且在并查

2017-08-31 13:48:14 412

原创 COGS2580:[HZOI 2015]偏序 II (三层CDQ分治+树状数组)

题目传送门:http://www.cogs.pro/cogs/problem/problem.php?pid=2580题目分析:又找了一道CDQ分治的裸题,不到30min就切掉了,感觉只要用CDQ分治n维偏序都不成问题…… 这题中序列的每个元素有5个属性:编号,a,b,c,d;我们要求有多少对(i,j)使得i的五个属性都小于j。我们不妨先按编号排序,然后进行第一层CDQ,考虑i在左边,j在右边时对

2017-08-28 14:40:54 779

原创 BZOJ1790:[Ahoi2008]Rectangle 矩形藏宝地 (CDQ分治+线段树)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1790题目分析:这题我一开始想了很久,想到平面扫描啊乱七八糟的东西,后来发现其实我们根本不用当每一个藏宝地是一个矩形。如果一个藏宝地i的左下角坐标为(A,B),右上角坐标为(C,D),那么我们就是要查看有没有一个藏宝地的A值小于i的A值,而且其B值小于i的B值,其C,D值分别大于i的C,D值

2017-08-26 21:20:00 599

原创 2017"百度之星"程序设计大赛-初赛(A) 比赛总结

T1:小C的倍数问题(hdu6108)题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6108题目分析:最水的一题,考场上最多人AC。题目是要我们求有多少个B使得 a0Pk+a1Pk−1+……+ak−1P+ak=x1Ba_0P^k+a_1P^{k-1}+……+a_{k-1}P+a_k=x_1B 与 a0+a1+……ak−1+ak=x2Ba_0+a

2017-08-17 22:25:00 942

原创 2017"百度之星"程序设计大赛-资格赛 比赛总结

感觉最近任务还是挺重的,既要参加百度之星的比赛做题改题,又要做CDQ分治的练习题,还要参加学校的NOIP模拟赛写总结。效率还是要更高才好(话说BC的比赛我好像已经很久没动过了QAQ)。T1:度度熊保护村庄(hdu6080)题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6080题目分析:这题的思路很巧妙啊。一开始以为是求凸包或半平面交之类的,由于没做过

2017-08-15 08:55:41 975

原创 BZOJ4237:稻草人 (CDQ分治+二分+单调栈)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4237题目分析:“有些题目,只要往二分答案那方面去想,就莫名其妙地变成了水题。”——by 龙神 现在我也想说,有些题目,只要往CDQ分治上去想,就莫名其妙变成了水题。这道题一开始看上去各种不可做,于是我们考虑先降一维,将所有点按X排序,然后将其分成左右两半,考虑左下角的点在左半部分,右上角

2017-08-14 16:40:56 515

原创 BZOJ3295:[Cqoi2011]动态逆序对 (BIT套treap/CDQ分治+BIT)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3295题目分析:这题裸的树套树啊。我们先算出原序列的逆序对数量,当一个数被删除的时候,逆序对的减小量=此时在它前面的比它大的数的个数+此时在它后面的比它小的数的个数。于是我们用一个树状数组套平衡树就可以搞定了。CODE(BIT+treap):#include<iostream>#inclu

2017-08-13 20:20:39 384

原创 BZOJ4025:二分图 ((CDQ分治+并查集)/LCT)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4025题目分析:这是一道LCT好题,同时一道CDQ分治好题啊,做了我整整一天……先说一下LCT的做法: 首先我们可以发现一个结论:对于一个偶环,如果不保存它的其中一条边,不会影响新的边加进来时对奇环的判断,但如果不保存两条边就会影响: 那就是说如果新加进来的边形成了一个偶环,我就不用

2017-08-10 14:56:46 1127

原创 hdu5412:CRB and Queries (整体二分+树状数组)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5412题目大意:现在给出序列A,要求你支持以下两个操作: 1 l v:将l位置的数修改成v 2 l r k:询问l到r的数中第k大的数是多少 多组测试数据。题目分析:这题是我人生中的第一道整体二分题啊。 我们先将每一个1操作变成两个修改操作:Update(l,A[l],-1);Updtae(l,

2017-08-08 20:51:28 439

原创 BestCoder Round #2 解题报告

最近感觉暑假在家好颓,效率直线下降,码代码速度慢,想题想不出。这次R2的题目也是过了很久才做完……但愿8月份到了学校情况会好些吧。T1:TIANKENG’s restaurant题目传送门:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=526&pid=1001题目大意:给出n(n<=10000)个时间段(形式为hh:

2017-07-31 20:33:57 540

原创 BestCoder Round #1 解题报告

最近听到SPLAY学长说有一个网站叫BestCoder,题目质量挺不错,而且难度在NOIP提高组水平,比较适合我刷(重点是不像CF那样要翻墙,深夜打比赛,而且它还支持在HDU上提交)。于是我有空跑过去看了看,见到只有6页比赛嘛,于是决定从头开始做……但愿暑假能刷完吧。T1:逃生题目传送门:http://bestcoder.hdu.edu.cn/contests/contest_showproblem

2017-07-08 07:27:45 667

原创 BZOJ3676:[Apio2014]回文串 (Manacher+后缀自动机+树上倍增)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3676题目分析:找后缀自动机练习题的时候看到这题的,结果想不出怎么用SAM。看了黄学长的博客才知道要先写个manacher,再在parent树上玩倍增。后来又听说这题是裸的回文树……我还不知道什么是回文树啊,我也不是擅长现学现卖的类型,于是就写了这个SB的O(nlog(n))的方法。 首先

2017-07-07 14:01:02 558

原创 BZOJ3514:Codechef MARCH14 GERALD07加强版 (LCT+可持久化线段树)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3514题目分析:又是一道动态树好题。拿到题面两天之后我都没想出来,结果期末考地理的时候,我做完题无聊在草稿纸上画了画,居然立马知道怎么做了…… 因为我是搜LCT练习题的时候见到这题的,所以我知道肯定要用LCT,但LCT之后要怎么做我就不知道了。我发现这题和NOI2014魔法森林很像,都是先

2017-07-06 21:10:26 1032

原创 BZOJ2555:SubString (后缀自动机+(Splay+DFS序/LCT))

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2555题目分析:多串匹配单串,强制在线,只在末端插入字符,让我们很容易想到SAM。其实如果做过阿狸的打字机这题的话,再看此题就显得很简单了。正如我之前所说,SAM本质上是将一个串的所有后缀做成AC自动机,并对其状态进行了化简,使其达到线性的时间和空间复杂度。我们将原串的后缀自动机建出来,查询

2017-07-01 16:21:45 454

原创 SPOJ1812:LCS2 (后缀自动机)

题目传送门:http://www.spoj.com/problems/LCS2/题目分析:在研究了陈老师的论文以及其他人写的SAM学习笔记一个周末之后,我终于A掉了人生中第一道SAM裸题…… 作为入门题这道题应该还是很不错的。题意很简单(要求10个串的最长公共子串),而且思维难度和代码复杂度也不高。我们首先按照论文中的方法将一个串的SAM构出来,然后我们用其他串在上面跑就可以了(因为SAM本质上是

2017-06-28 14:55:18 715

原创 ZOJ3881:From the ABC conjecture(莫比乌斯反演)

题目传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3881题目分析:又是一道神题。别的算法都是做一题少一题,只有数论是做一题多一题的……至于推导过程的话已经有神犇在网上放了很优秀的题解,我只是过来总结一下思路要点+贴代码而已。 要点:本题要求的是一个很奇怪的函数f(n)=rad(n)ϕ(nrad(n))f(n)=r

2017-06-24 10:32:25 682 1

原创 bzoj2754:[SCOI2012]喵星球上的点名 (后缀数组+离线+树状数组)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2754题目分析:最近两个星期都在做数论题,感觉有些无聊。昨天忽然间想起省赛前还有一个这题的坑没填,于是就过来A这题。算是做道数据结构题愉悦一下身心吧……这题要求我们进行多串匹配,很容易就想到AC自动机,至于字符集0~10000的问题……我们在每一个节点开一棵treap维护有哪些儿子

2017-06-13 13:52:27 1478

原创 洛谷P3172:[CQOI2015]选数 (DP+数论)

题目传送门:https://www.luogu.org/problem/show?pid=3172题目分析:我也不想说什么了,把一道简单的题想复杂了。一开始想错思路,以为提取出k和k平方的个数,两次组合数搞容斥。结果发现错的离谱(2k,3k等情况没有讨论)。然后想莫比乌斯反演(好像时间过不去呀),而且我也不知道怎么log(n)求组合数(因为不能预处理阶乘到n),还上网看了个log(n)求阶乘,

2017-06-12 14:09:31 424

原创 51nod1584:加权约数和 (莫比乌斯反演)

题目传送门:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1584题目分析:这题应该算是[SDOI2015]约数个数和的加强版吧,如果还没有做过这道题的同学可以先想一想这题。至于它的解法你们可以自行百度(或看看我写的题解) 好吧,回到这题。 我们要搞清楚一个东西:σ1(ij)σ1(ij)\sigma_1(ij...

2017-06-11 20:41:29 802 3

原创 洛谷P3327:[SDOI2015]约数个数和 (莫比乌斯反演)

题目传送门:https://www.luogu.org/problem/show?pid=3327题目分析:这题我又没有自己想出来…… 主要是本题要用到一个很神的结论: d(ij)=∑x|i∑y|j[(x,y)=1]d(ij)=\sum_{x|i}\sum_{y|j}[(x,y)=1] 这个是怎么推出来的呢? 我们考虑质数p对d(ij)的贡献,假设i的质因数分解中有k个p,j的质因数分解中q

2017-06-09 21:06:13 590 2

空空如也

空空如也

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

TA关注的人

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