上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 31 下一页
摘要: n<=3e5的数列,m<=3e5个操作:把第x个数修改成y,或询问从x到y这个区间能否构成公差z的等差数列。 二逼做法:考虑一个序列在什么情况下才能构成公差z的等差数列。 首先,最大值和最小值的差是z*(y-x)。 其次,相邻两数的差的gcd是z。 再者,没有重复的数字。 前两个比较好搞,线段树,第 阅读全文
posted @ 2017-10-20 08:01 Blue233333 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1~n<=1e5依次插入序列中某一个位置,求每次插入后的最长上升子序列。 因为新插入的数对前面插入的答案没影响,所以只要能想方设法构造出最终序列即可。 方法一:平衡树!。。。。 方法二:在树状数组上倍增求第K大 然而LIS写残了。。记得是lowerbound不是upper。。 然后最后输出记得和前面 阅读全文
posted @ 2017-10-20 07:13 Blue233333 阅读(323) 评论(0) 推荐(0) 编辑
摘要: n<=1e5的有根点权树,m<=1e5个操作:换根,修改点权,查询子树最小值。 维护子树信息--dfs序,至于换根只需要分类讨论一下现在根和查询点的关系。 如果查询的点是根节点,就输出整颗树的最小值。 如果查询的点5在1到7的路径上,那以7为根的时候查询5,就是整颗树排除粉红色部分--5的儿子中,是 阅读全文
posted @ 2017-10-19 10:55 Blue233333 阅读(465) 评论(0) 推荐(0) 编辑
摘要: n<=100000栋楼房,第i栋在位置i,一开始全没建成高度0,m<=1e5个操作,每次操作把一栋楼x的高度修改为y,并问这次修改后从0位置往右边看能看到多少栋楼。他能看到一栋楼,必须这栋楼有高度,并且设楼高度Hi,那么(0,0)到(i,Hi)这条线段上没有其他的楼。1<=y<=1e9 说半天就是维 阅读全文
posted @ 2017-10-18 19:51 Blue233333 阅读(210) 评论(0) 推荐(0) 编辑
摘要: n<=1e6个数字,开始都是0,m<=1e6个操作:1、把第x个数修改成y;2、询问:对序列中的数字进行c次操作,每次选s个正数把他们-1,问能否进行。 一个数字Ai,如果Ai>=s,那它可以被选中s次;如果Ai<s,那就Ai次。设k个数字大于等于s,小于s的数字的和是sum,只需要:sum<=(c 阅读全文
posted @ 2017-10-18 09:15 Blue233333 阅读(275) 评论(0) 推荐(0) 编辑
摘要: n<=50000个数字,m<=200000个查询,每次问L到R之间有多少不同的数字。 这个询问可以离线的,为使L到R之间的数字只被算一次,可以从左往右扫,扫到一个数字就把上一个该数字出现的地方--,把现在这里++,为了配合这种操作,把所有询问按右端点排序,扫到一个地方就把该处所有右端点在这里的询问回 阅读全文
posted @ 2017-10-18 06:47 Blue233333 阅读(126) 评论(0) 推荐(0) 编辑
摘要: n<=100000个操作:添加一个不等式ax+b>c,删除一个不等式,查询当x=k时有多少不等式组满足要求,abs(k)<=1e6。 按a的正负来分情况,然后树状数组维护即可。 a=0:b>c就全部+1否则不理,注意不要忘了把他扔进数组里!!!!! a>0:x>(c-b)/a,把它向上取整,并且在- 阅读全文
posted @ 2017-10-17 21:19 Blue233333 阅读(368) 评论(0) 推荐(0) 编辑
摘要: n,m<=300,n*m的一个矩阵,q<=200000个操作:修改某个点权值;查询某个矩形范围内某个权值有多少个点。权值<=100。 二维树状数组的模板! 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 //#inclu 阅读全文
posted @ 2017-10-17 18:27 Blue233333 阅读(165) 评论(0) 推荐(0) 编辑
摘要: A题:一个三角形,一开始在C点,给边长a,b,c问上面走n-1次走多少步。 ???为什么会写错??? B题:膜m意义下同个值超过K个即可。 C题:设答案x,n-x>=9*9,检测n前面若干个数即可。 1 #include<stdio.h> 2 #include<string.h> 3 #includ 阅读全文
posted @ 2017-10-17 16:40 Blue233333 阅读(120) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-10-16 16:38 Blue233333 阅读(4) 评论(0) 推荐(0) 编辑
摘要: n<=10000个人,第L个人最高,所有人最高高度H,r个关系表示Ai能看到Bi,也就是,Ai到Bi中间的人都比Ai和Bi矮且Bi不比Ai矮,求每个人最高的可能高度,保证有解。 不知道这个L是来搞笑还是干嘛的 假设一开始所有人最高,一个关系就把Ai到Bi间的点做区间减1,最后单点查询,差分下即可。 阅读全文
posted @ 2017-10-14 09:00 Blue233333 阅读(412) 评论(0) 推荐(0) 编辑
摘要: n<=500条边的图,求:最少设置多少关键点,使得当任意某一个点不能经过时其他点都至少能到达一个关键点,并输出方案数。 tarjan求点双,如果一个点双里面没有割点,那这就是一个孤立的点双分量,至少要设置两个点。如果有割点,大概是这样的情况: 红色的这些“叶子”分量,也就是只有一个割点的分量,是一定 阅读全文
posted @ 2017-10-14 08:28 Blue233333 阅读(336) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-10-13 21:39 Blue233333 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 人类和电脑在一个多项式上进行博弈,多项式的最高次项已知,一开始系数都不确定。电脑先开始操作,每次操作可以确定某次项的系数,这个系数可以是任意实数。给出一个博弈中间状态,最后如果这个多项式被x-K整除就算人类赢,问人类是否有可能赢。n<=1e5,K和所有给出的系数的绝对值在1e4内,不确定的系数用?表 阅读全文
posted @ 2017-10-13 07:05 Blue233333 阅读(261) 评论(0) 推荐(0) 编辑
摘要: n<=200000个点m<=500000条边的图,问是否存在一种黑白染色方案使每个点满足:要么它是白色,要么它相邻点是白色;并且,要么它是黑色,要么它相邻点是黑色。 除非某个联通块只有一个点,否则一定有解。并查集维护连通性。 1 #include<stdio.h> 2 #include<string 阅读全文
posted @ 2017-10-12 16:31 Blue233333 阅读(121) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 31 下一页