08 2017 档案
摘要:Description Description Input Output Input Input Output Output Sample Input 3 3 Sample Output 21 Sample Input 3 3 Sample Input 3 3 Sample Output 21 Sa
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 6 8 2 2 4 5 1 2 4 0 2 1 3 5 0 2 3 4 1 5 1 2 5 1 0 1 4 6 4 2 2 5 6 0 4 2 1
阅读全文
摘要:因为是直接调用系统底层所以速度会很快... 1 long long read(){ 2 long long x=0,w=1; 3 char c=0; 4 for (c=getchar();c<'0'||c>'9';c=getchar()) {if (c=='-') w=-1;} 5 for (;c>
阅读全文
摘要:欧拉函数的线性求法运用了欧拉函数的积性,即当gcd(n,m)=1时,有φ(n)*φ(m)=φ(n*m);于是我们可以运用这一性质得到以下公式。 我们有欧拉函数的通式$\varphi \left( n\right) =n\left( 1-\dfrac {1} {p_{1}}\right) \left(
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 9 10 2 1 2 1 1 4 1 3 4 1 2 3 1 3 7 1 7 8 2 7 9 2 1 5 3 1 6 4 5 6 1 1 9 5 7
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 5 5 1 2 1 3 2 3 3 4 4 5 Sample Output 5 Sample Input 5 5 1 2 1 3 2 3 3 4 4
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 3 2 2 1 4 2 3 5 1 1 4 2 2 5 1 3 2 1 3 1 2 4 1 3 5 1 1 3 2 2 5 1 2 2 1 2 2
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 7 3 5 2 0 Sample Output 100 Sample Input 7 3 5 2 0 Sample Input 7 3 5 2 0
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 3 3 95 GP_1 GP_2 100 GP_1 gp@3 100 gp@3 GP_2 Sample Output 95 100 INF Samp
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 2 2 1 1 Sample Output 17 Sample Input 2 2 1 1 Sample Input 2 2 1 1 Sample
阅读全文
摘要:一直认为树链剖分是个很玄学的东西,发现实质后原来是如此的简单。 顾名思义,树链剖分就是将树剖成一条条链,然后用数据结构维护。 我们常用的自然就是线段树。 我们可以知道dfs序是能够反映树上的点连续的信息的。 所以链就是dfs序。 但这个dfs序又不普通。 我们知道,在dfs序里,被许多点分成了好多段
阅读全文
摘要:KMP算法为字符串匹配时用,能够实现O(n)的复杂度完成匹配。 我们考虑一般的暴力匹配,其复杂度为O(nm)。 然而它的可以优化的。 任何一种优化都是能够充分运用已拥有的信息,KMP算法亦然。 我们设模板串a,待匹配串b。 它通过一个关于字符串b的next数组,告诉你当匹配到某位失效的时候,你可以从
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 4 aa abcd ccc abcc Sample Output 5 10 14 12 Sample Input 4 aa abcd ccc abc
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 5 5 1 4 0 5 2 2 1 2 0 1 0 2 3 4 4 0 3 0 3 1 1 2 2 1 1 Sample Output 9 Samp
阅读全文
摘要:Description 这个游戏上在一个无限大的棋盘上, 棋盘上只有一颗棋子在位置(x,y)(x,y>=0)棋盘的左下角是(0,0)Amphetamine每次都是第一个移动棋子,然后Amphetamine与Alphago轮流移动。每一轮可以做以下三种中的一种操作: 1)在同一行,将棋子从当前位置向左
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 10 11 1 2 2 3 3 4 1 4 3 5 5 6 8 6 8 7 7 6 7 9 9 10 6 1 2 3 5 6 9 9 2 9 3 9
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 3 1 2 3 1 2 1 3 2 1 Sample Output 6 9 6 Sample Input 3 1 2 3 1 2 1 3 2 1 S
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 5 2 1 5 3 4 Sample Output 5 4 3 1 2 Sample Input 5 2 1 5 3 4 Sample Input
阅读全文
摘要:求回文字符串最朴素的算法就是我们枚举一个中心点,然后看看该点能够向左向右延伸多远,这样的复杂度是O(n2) 当n很大的时候,我们是无法接受的。我们必须得去优化一下算法. 如何去优化呢? 对于每一个点,我们都是以半径为0开始不断比较。 这似乎显得我们之前已经处理的信息除了记录之外没有别的用途。 能优化
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 4 4 2 a a b b a a b b c c d d c c d d 1 1 3 3 2 2 3 1 1 3 2 2 Sample Outpu
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 8 9 1 2 3 4 5 6 7 8 1 2 2 2 3 3 3 8 3 1 4 3 4 5 2 5 8 1 1 6 1 6 7 2 7 8 3
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 输入样例1: 3 2 7 5 4 2 输入样例2: 5 3 1 5 4 3 5 5 Sample Output 输出样例1: 999999732 输
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 1 5 7 1 2 2 1 4 1 2 4 2 4 3 2 2 3 1 4 5 1 1 5 2 Sample Output 5 No Sample
阅读全文
摘要:这里有个博客讲的很好:http://www.cnblogs.com/chenyang920/p/4811995.html 这里简要解释解释记录记录下笔记。 首先明确什么是莫比乌斯反演: 这里有一个函数,并有另一个函数,满足$G\
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 3 10 1 2 10 Sample Output 5 Sample Input 3 10 1 2 10 Sample Input 3 10 1 2
阅读全文
摘要:Description Description Input Output Input Input Output Output Sample Input 3 3 1 1 2 2 3 1 2 3 1 1 3 3 1 3 Sample Output 1 1 3 Sample Input 3 3 1 1 2
阅读全文
摘要:Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 62455 Accepted: 23259 Description In this problem, you have to analyze a pa
阅读全文
摘要:Tarjan属于离线做法,即将问题全部储存起来后一起处理一起回答,相比于即问即答的在线做法,tarjan能仅通过一次DFS就能解决所有的LCA问题。 具体很简单,运用了时间戳和并查集。 用visit数组记录某节点是否访问过,用f记录它的father是谁。 先上伪代码 从根节点不断往下遍历,回溯的时候
阅读全文
摘要:笛卡尔树是一种同时满足二叉搜索树(点关系)和堆(点大小)的性质的数据结构。它的中序遍历为原数组,且点的权值比它的孩子大(或小)。 其实可以想象一下笛卡尔树与区间的关系。最顶上的点A就是整个区间的最大值的点,它的左孩子都在它的左边(区间上),右孩子在它区间的右边,然后左子树中,又是最大值的点是根,它的
阅读全文
摘要:Description 多年之后,worldwideD厌倦竞争,隐居山林。 他的家乡开始发展起了旅游业,在一条很长的主干道上,有N个旅游景点,按顺序编号为1到N。根据游客们网上的评分,第i个景点有一个评估值a[i],为了区分开不同的景点,评估值是两两不同的。 今天有M组游客前来旅游,第i组游客选择遍
阅读全文
摘要:Description Description Input 输入文件名为lipschitz.in。第一行一个整数n。接下来一行n个整数,描述序列A。第三行一个数q 。接下来q行,每行三个整数。其中第一个整数type表示操作的类型。 type=0对应修改操作, type=1对应查询操作。 Output
阅读全文
摘要:Description 对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者Ai+1>Ai。对于一个排列A,假如有不少于k个位置是好的,那么称A是一个好的排列。现在有q个询问,每个询问给定n,k,问有多少排列是好的。答案对10^9+7取模。 Description 对于
阅读全文
摘要:Description 有一个外星人控制了你的大脑。一开始你处于原点(0,0)。外星人有一个由(R,U,D,L)组成的长度为M 的操作序列,分别代表(右,上,下,左)。平面上有N 个关键点,每当外星人给出一个操作,你需要在这个方向上找到最近的一个关键点,并走到那个点上。保证输入数据合法。上图为第三个
阅读全文
摘要:Description Description Input 输入文件名为seq.in。首先输入n。接下来输入n个数,描述序列 A。 Output 输出文件名为seq.out。输出一行一个整数代表答案。 Input 输入文件名为seq.in。首先输入n。接下来输入n个数,描述序列 A。 Input 输
阅读全文
摘要:Description 对于每个数字x,我们总可以把它表示成一些斐波拉切数字之和,比如8 = 5 + 3, 而22 = 21 + 1,因此我们可以写成 x = a1 * Fib1 + a2 * Fib2 + a3 * Fib3 + … + an * Fibn, 其中,Fib1 = 1, Fib2 =
阅读全文
摘要:Description 小Y最近学得了最短路算法,一直想找个机会好好练习一下。话虽这么说,OJ上最短路的题目都被他刷光了。正巧他的好朋友小A正在研究一类奇怪的图,他也想凑上去求下它的最短路。 小A研究的图可以这么看:在一个二维平面上有任意点(x,y)(0<=x<=N,0<=y<=M,且x,y均为整数
阅读全文
摘要:这里的Tarjan是基于DFS,用于求有向图的强联通分量。 运用了一个点dfn时间戳和low的关系巧妙地判断出一个强联通分量,从而实现一次DFS即可求出所有的强联通分量。 §有向图中, u可达v不一定意味着v可达u. 相互可达则属于同一个强连通分量 (Strongly Connected Compo
阅读全文
摘要:所谓离散,就是化连续为不连续,使得我们某种枚举的方法得以实现。 当然,离散还能够帮助我们将某些数据范围很大达到2^16,但是这些数据并不多(例如才1000+),我们可以把数据进行离散,保持他们之间的相对大小。 例如这里有几个数:4865845,146384512,598745,896561634,4
阅读全文