自定义博客皮肤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)
  • 收藏
  • 关注

原创 bzoj2759:一个动态树好题 (LCT+Exgcd)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2759题目分析:这是一道真动态树好题,不像某些其它自称好题的题目(bzoj4300“绝世好题”,其实是大水题)。言归正传,我们来看看这道题。如果有一条方程是a=ka+b%10007的形式,且01时,用扩展欧几里得解。那么假设有两条方程:a1=k1a2+b1%10007,a2=k2a

2017-06-06 13:26:03 1177

原创 51Nod1222:最小公倍数计数 (莫比乌斯反演)

题目传送门:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1222题目分析:这题又是skywalkert博客里的练习题,我一开始自己手推原式子推出了一个O(nlog2(n))O(nlog^2(n))的东西(没有用μ\mu),完全没办法化简,还是要跑去看题解,后来发现别人的思路和我一开始就不是一个方向的……也许我数论还是太弱

2017-06-05 11:49:20 528

原创 SPOJ DIVCNT2(莫比乌斯反演+杜教筛)

题目传送门:http://www.spoj.com/problems/DIVCNT2/题目分析: 千古神题,这题想了我两天也没想出来…… 好吧,其实这题并没有用杜教筛,它并没有使用记忆化递归,也没有用狄利克雷卷积,只不过它的时间复杂度证明和杜教筛类似,也是O(n23)O(n^{\frac{2}{3}})(虽然我还是不知道具体是怎么证的)。该怎么说呢?至少加深了对积性函数前缀和的理解吧。 回到正

2017-06-01 22:02:25 1730

原创 bzoj3091:城市旅行 (LCT+期望值)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3091 题目分析:这题是LCT半裸题吧(1A好爽)。这题的前三个操作都是很常见的LCT的操作,但第四个操作……什么鬼? 假设我们取出u->v的路径来做暴力,设长度为len。答案等于: ∑lenx=1∑leny=xH(x,y)len(len+1)2\frac{\sum_{x=1}^{le

2017-05-30 00:21:56 623

原创 洛谷P3768:简单的数学题 (杜教筛)

题目传送门:https://www.luogu.org/problem/show?pid=3768题目分析:我们来看一下,原先题目要我们求: ∑i=1n∑j=1nijgcd(i,j)\sum_{i=1}^{n} \sum_{j=1}^{n} ijgcd(i,j) 我们变形一下,将j只枚举到i。则原式转化成: 2∑i=1ni∑j=1ijgcd(i,j)−∑i=1ni32 \sum_{

2017-05-26 14:57:31 1375

原创 hdu5002:Tree (LCT)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5002题目大意:一开始给你一棵有N个点的树(N题目分析:编程一中午,码出动态树。——第一道LCT这题算是LCT的半裸题吧。前面的操作都很简单,但是我们如何知道一条链上第二大的数有几个呢?我想先求出第二大的数是几,然后搞一棵可持久化线段树之类乱七八糟脑洞大开地维护每一个数在每一条链上出现几次

2017-05-24 13:50:59 406

原创 洛谷P3765:总统选举 (线段树+treap)

题目传送门:https://www.luogu.org/problem/show?pid=3765题目分析:线段树好题!线段树好题!线段树好题!(重要的事情说三遍)在你做这一道题之前,你需要知道一道弱化版的题目的解法:http://www.lydsy.com/JudgeOnline/problem.php?id=2456少女思考中……        

2017-05-22 15:10:01 571 1

原创 hdu3341:Lost's revenge (AC自动机+DP)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3341题目大意:有不超过50个模式串,每个模式串长度不超过10。现在给出一个长度不超过40的串,要求将其重组(即可以打乱字符的顺序),最大化其得分。一个串的得分为:第一个模式串在该串中出现的次数+第二个模式串在该串中出现的次数……,其中每一个模式串可以重叠,如AAA中AA出现了两次。所有串中只

2017-05-06 23:17:50 464

原创 bzoj3744:Gty的妹子序列 (分块+树状数组)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3744题目分析:一看这数据范围:50000,铁定分块+数据结构。然后本人开始YY,先离散化。记录g[i]为每一块内的逆序对个数(每一个g[i]可以用sqrt(n)*log(n)的时间搞定)。然后我们记录f[i][j]为第i块到第j块中的逆序对个数,很明显f[i][j]=g[i]+f[i

2017-05-06 10:28:39 826

原创 hdu2196:Computer (树形DP)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2196题目大意:给定一个无根树,每一条边有长度,输出以每一个点为根时,树上的点到根的距离的最大值。多组数据。题目分析:首先我们可以很容易地想出O(n^2)的算法:以每一个点为根进行一次DFS,同时维护一棵以node为根的子树内所有节点到node距离的最大值。然而我们来想一下更优的算法:假设

2017-05-04 09:20:27 1017

原创 洛谷P1972:[SDOI2009]HH的项链(莫队/线段树)

题目传送门:https://www.luogu.org/problem/show?pid=1972分析:本题有很多种做法,有O(n*log(n))的线段树,也有O(n*sqrt(n))的莫队。线段树的做法:http://blog.csdn.net/kscla/article/details/70227098下面贴一下莫队的代码(其实就是个暴力,注意每一次要先让R指针右移,再移动L指针,

2017-04-18 13:41:55 1456

原创 洛谷P1231:教辅的组成(网络流)

题目传送门:https://www.luogu.org/problem/show?pid=1231分析:网络流水题一道。我们题目要求连边,然后跑最大流即可。CODE:#include#include#include#include#include#include#include#includeusing namespace std;const int maxn=10

2017-04-18 13:32:39 895

原创 hdu5919:Sequence II(可持久化线段树)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5919题目大意:给出一个拥有不超过2*10^5个元素的序列,再给出2*10^5个询问,对于每一个询问[L,R],我们假设区间内有k个不同的数,他们在这个区间内第一次出现的位置分别为p1,p2,p3……pk,排序后输出第(k/2向上取整)个数。本题采用强制在线。如原序列为:1 1 2 3 3,询

2017-04-18 13:16:41 1179

原创 hdu4348:To the moon(可持久化线段树)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4348题目大意:一开始给你一个序列,并令时间戳为1。现在有4种操作:C l r d:将当前序列的[l,r]全部+d,并令时间戳+1;Q l r:查询当前序列[l,r]的和;H l r t查询t时刻序列[l,r]的和;B t:将时间戳设为t。分析:考虑到维护历史版本以及区间操作,我们考虑带懒惰标

2017-04-18 12:35:54 889

原创 hdu3726:Graph and Queries(treap+启发式合并+离线)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3726题目大意:给出一幅无向边构成的图,每个点有一个点权。有3种操作:删掉一条边,更改一个点的点权,以及查询一个点所在的连通块的第k大点权。分析:这里我们可以通过对每一个连通块维护一棵treap在log(n)的时间内完成操作2,3,至于操作1,我们发现分离比较难办,于是我们考虑离线读入,然后从

2017-04-17 22:07:29 960

原创 hdu3487:Play with Chain (splay)

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3487题目大意:要你维护一个序列,支持两种操作:cut a b c,把原序列的[a,b]这段剪切下来,接到新序列的第c位后面;flip a b,翻转[a,b]。分析:没什么好说的,splay裸题一道,一次cut操作意味着一次分离与一次合并,flip的话懒惰标记就好了。CODE:#inc

2017-04-17 21:52:03 518

原创 后缀数组14题题解

后缀数组14题小结:http://poj.org/problem?id=1226题目大意:给出n个字符串,找出一个最长的字符串,使得它本身或它的反串在所有字符串中都出现过,多组数据。分析:水题一道,把所有的串正反接一遍,中间用没出现过的字符隔开,然后跑一遍后缀数组。最后二分答案+height分块,记录每一块是否覆盖所有串即可,O(n*log(n))。    其实KMP也可以做,枚举

2017-03-21 16:12:48 443

原创 USACO 2013open :yinyang(treap+启发式合并)

题目大意:给出一颗树,由N个结点,编号1至N。有N-1条边,每条边都有1只奶牛,奶牛要么是黑毛奶牛,要么是白毛奶牛。从结点A走到结点B,如果不能走重复的边,那么这条路径是唯一的,这样的路径在图论里被称为“简单路径”。我们用(A,B)来表示从A走到B的这条简单路径。如果简单路径(A,B)同时满足以下3个条件,那么简单路径(A,B)被称为“平衡”的简单路径:至少存在一个结点C,结点C同时满足:

2017-02-23 19:56:17 1241

原创 hihocoder1032:(manacher)

题目:http://hihocoder.com/problemset/problem/1032题目分析:manacher模板,RE了好多次。一开始是数组忘了开两倍长度,接下来又是多算了最后一位的答案导致数组越界(即’$’),重点是忘了写“if( i+temp[i]>p+temp[p] ) p=i;”这句如此重要的话……输出答案的时候要注意分类讨论一下。CODE:#include#in

2017-02-17 21:17:01 863

原创 hihocoder#1015:(KMP)

题目:http://hihocoder.com/problemset/problem/1015题目分析:KMP裸题,GDKOI前敲敲模板……CODE:#include#include#include#include#include#include#include#includeusing namespace std;const int maxl=10010;in

2017-02-17 20:36:25 481

原创 bzoj1051:受欢迎的牛(tarjan)

1051: [HAOI2006]受欢迎的牛Time Limit: 10 Sec  Memory Limit: 162 MBDescription  每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头牛被所有的牛认为是受

2017-02-17 20:15:09 909

原创 bzoj3932:任务查询系统(可持久化线段树)

3932: [CQOI2015]任务查询系统Time Limit: 20 Sec  MemoryLimit: 512 MBDescription最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优

2017-01-26 15:51:53 587

原创 bzoj1604:奶牛的邻居(treap)

【bzoj1604】[Usaco2008 Open]Cow Neighborhoods奶牛的邻居Description了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发现她们已经结成了几个“群”.每只奶牛在吃草的时候有一个独一无二的位置坐标Xi,Yi(l≤Xi,Yi≤[1..10^9];Xi,Yi∈整数.当满足下列两个条件之一,两只奶牛i和j是属

2017-01-25 22:52:47 635

原创 bzoj2809:dispatching(可持久化线段树+树上差分)

2809: [Apio2012]dispatchingTime Limit: 10 Sec  MemoryLimit: 128 MBDescription在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总

2017-01-25 14:33:36 482

原创 bzoj2588:Count on a tree(可持久化线段树+Lca)

2588: Spoj 10628. Count on a treeTime Limit: 12Sec  Memory Limit: 128 MBSubmit: 5524  Solved: 1306Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的

2017-01-23 20:50:56 702

原创 poj2125:Destroying The Graph(网络流)

Destroying The GraphTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 8252 Accepted: 2659 Special JudgeDescriptionAlice

2017-01-22 20:24:17 427

原创 NOIP模拟:水题(1):nlog(n)求逆序对

手套【问题描述】       你现在有N对手套,但是你不小心把它们弄乱了,需要把它们整理一下。N对手套被一字排开,每只手套都有一个颜色,被记为0~N-1,你打算通过交换把每对手套都排在一起。由于手套比较多,你每次只能交换相邻两个手套。请你计算最少要交换几次才能把手套排整齐。【输入】输入第一行一个N,表示手套对数。第二行有2N个整数,描述了手套的颜色。每个数都在0~N-1之间,且

2017-01-20 20:11:31 1121

原创 bzoj1858:序列操作 (线段树区间信息合并)

1858: [Scoi2010]序列操作Time Limit: 10 Sec  Memory Limit: 64 MBDescriptionlxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b

2017-01-19 20:32:07 500

原创 学习笔记:treap

最近在学一种数据结构:treap,这意味着我再也不用调用stl库的multiset怕常数太大超时了(当然,有的时候编程时间不够还是用stl库好一点)。由于关于treap的详细而优秀的论文已经数不胜数,基本的操作就不说了。只是讲讲怎么编treap的问题。Treap我用三种方法各编了一次:不用指针,用指针但静态分配内存,指针加动态分配内存。这里讲一下前两种方法,第三种方法由于时间要比第二种方法慢一

2016-12-24 16:04:30 491

原创 洛谷P3382:(三分/求导+二分)

【模板】三分法题目描述如题,给出一个N次函数,保证在范围[l,r]内存在一点x,使得[l,x]上单调增,[x,r]上单调减。试求出x的值。输入输出格式输入格式:第一行一次包含一个正整数N和两个实数l、r,含义如题目描述所示。第二行包含N+1个实数,从高到低依次表示该N次函数各项的系数。输出格式:输出为一行,包含一个实数,即为x的值。四舍五入保留5位小数。输入输出

2016-12-24 14:55:17 1152

原创 学习笔记:tarjan求lca

今天学了一下tarjan求lca(离线的),时间复杂度为O(n*a(n)),就是并查集的时间复杂度。对于一个询问(u,v),我们先把它加进u开头的与v开头的邻接链表。然后做一遍Dfs。我们肯定会先Dfs到其中一个节点(假设是u),在Dfs到另外一个(v)。那么我们在Dfs到u的时候,把vis[u]标为true,然后在Dfs到v的时候,我们处理所有vis为true的v的邻接链表中的u。它们的lc

2016-12-16 22:00:42 880 2

原创 poj1741:Tree (树上点分治/treap+启发式合并)

问题描述:给定一棵N个结点的带权树, 问有多少条路径使得它的长度题目分析:……本题是我第一次敲树上点分治,AC了有一点小激动,但代码可能还不是很正规……好吧先来讲讲做法,有点像CDQ分治。我们只要每一次求出以root为根的子树中有多少路径经过了root且长度v的路径就可以被统计进答案。注意u==root或v==root的情况要小心。于是我们对子树的dep从小到大排个序,然后利用单调,记

2016-12-14 17:30:10 1383

原创 关于可持久化并查集的学习和思考

鉴于noip比赛前集训时SAKER前辈教了我这个蒟蒻可持久化线段树以来,我懂得了如何维护一个支持历史查询的线段树。于是我就开始异想天开了:可不可以快速维护一个支持历史查询的数组呢?就在这时,我上网看到了一个新的算法:可持久化并查集。先用例题来讲吧:BZOJ3674:可持久化并查集加强版Description:自从zkysb出了可持久化并查集后……hzwer:乱写能AC,暴力踩标

2016-12-12 19:55:15 8065 4

原创 学习Bfs做树剖

一道树剖裸题(学校OJ上的):树链剖分题目描述一棵树有N个结点,刚开始,每条边的权值都是0。有M个操作,每个操作是如下两种操作之一:1、格式是:P A B,表示结点A到结点B的路径上的所有边的权值都增加1。2、格式是:Q A B,表示询问结点A和结点B之间的那条边的权值是多少,结点A和结点B是相邻结点。输入格式第1行,N和M。2 , 1 。第2..N行,每行两个

2016-12-11 15:40:46 602

原创 关于 noip2016Day1T2 的深入思考

一:……noip2016,感慨万千,勉强一等。二:来看看running这题,题面略。其实除了树上差分以外,还有没有方法可以解决这题呢?其实是有的,比如树链剖分+离线标记。之前我们就分析过,我们要对每一个i求i的子树中有多少个值为A[i]的dep[u](这里不考虑B[i],因为做法一样)。我们可以利用树链剖分,把u->Lca(u,v)这一段分成不超过log(n)段,而每一段在Dfs序中都是连续的

2016-12-10 21:48:56 1371

原创 noip2016 Day2 T3:愤怒的小鸟 (状压DP+二进制压位)

题目描述Kiana最近沉迷于一款神奇的游戏无法自拔。简单来说,这款游戏是在一个平面上进行的。有一架弹弓位于(0,0)处,每次Kiana可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如y=ax^2+bx的曲线,其中a,b是Kiana指定的参数,且必须满足a。当小鸟落回地面(即x轴)时,它就会瞬间消失。在游戏的某个关卡里,平面的第一象限中有n只绿色的小猪,其中第i只小

2016-12-08 21:47:34 1994

原创 noip2016 Day2 T2:蚯蚓 (归并)

蚯蚓题目描述本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3。蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。蛐蛐国里现在共有n只蚯蚓(n为正整数)。每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,...,n),并保证所有的长度都是非负整数(即:可能存在长度为0的蚯蚓)。

2016-12-07 17:29:45 949

原创 noip2016 Day1 T3:换教室 (期望值+floyd+dp)

换教室题目描述对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况中情合适的课程。在可以选择的课程中,有2n节课程安排在n个时间段上。在第 i ( 1≤ i≤n)个时同段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室 ci上课,而另一节课程在教室 di进行。在不提交任何申请的情况下,学生们需要按时间段的顺序依次完成所有的n节安排好的课程。如果

2016-12-05 20:07:58 620

原创 noip2016 Day1 T2:天天爱跑步(Lca+树上差分)

题目描述小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。这个游戏的地图可以看作一一棵包含 个结点和 条边的树, 每条边连接两个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从到的连续正整数。现在有个玩家,第个玩家的起点为 ,终点为  。每天打卡任务开始时,所有玩家在第秒同时从自己的起点

2016-12-02 21:19:30 2490 5

原创 hdu2256:Problem of Precision(矩阵快速幂+共轭)

题目大意:给出n,求(sqrt(2)+sqrt(3))^(2n),多组数据。题目分析:(sqrt(2)+sqrt(3))^2=5+2*sqrt(6)。设(5+2*sqrt(6))^n=An+Bn*sqrt(6),(5+2*sqrt(6))^(n-1)=An-1+Bn-1*sqrt(6)则易得An=5*An-1+12*Bn-1,Bn=2*An-1+5*Bn-1,写成矩阵快速幂的形式可以在log(

2016-11-27 12:00:05 508

空空如也

空空如也

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

TA关注的人

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