自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

玫葵之蝶

搬到dkw.moe了

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

原创 Splay区间翻转

如题 其实就是用Splay来维护一个序列,而不再是一棵二叉查找树了 然后建立两个虚点1和n+2每次操作时将[l,r]变成[l+1,r+1] 翻转就是将Rank为l的点splay到根,将Rank为r+2的点splay到根的右儿子,然后给r+2的左儿子(此时就是要修改的区间)打上rev标记。 代码:#include<cstdio>#include<cstring>#include<iostr

2017-10-30 15:01:07 715 1

原创 二逼平衡树(线段树套Splay)

传送门 (update->10.31) 我的第一次调出样例: 我就很无语了,居然会TLE 然后hzy dalao就告诉我:“我们那个板子一直都是错的!” 然后就告诉了我splay的正确姿势,然后。。。 我就问他:“这难道不是你的板子吗?” hzy:“你写的丑。” 我:“。。。” 然后我就愉快地去大(yang)牛(qi)分站交了一发,果断AC了这题。 其实我原来用的那个

2017-10-29 17:26:04 415

原创 10-29模拟赛题解(3合1)

盘子序列【题目描述】 有n个盘子。盘子被生产出来后,被按照某种顺序摞在一起。初始盘堆中如果一个盘子比所有它上面的盘子都大,那么它是安全的,否则它是危险的。称初始盘堆为A,另外有一个开始为空的盘堆B。为了掩盖失误,生产商会对盘子序列做一些“处理”,每次进行以下操作中的一个:(1)将A最上面的盘子放到B最上面;(2)将B最上面的盘子给你。在得到所有n个盘子之后,你需要判断初始盘堆里是否有危险的盘子。

2017-10-29 11:30:59 815

原创 [bzoj3545+3551][ONTAK2010]Peaks&&加强版(离线+线段树合并)||(kruskal重构树&&dfs序+主席树)

传送门 没权限号可以来这里交,老规矩,不准说。题面Description在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如果无解输出-1。Input第一行三个数N,M,Q。 第二行N个数,第i个数为h

2017-10-27 18:10:33 437

原创 【NOIP2017提高A组集训10.25】摘Galo (树形dp)

Description0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO。 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Galo,美味度为w[i]。 OvO发现,如果她摘下了i号Galo,那么i的子树中的Galo以及i到根的路径上的其他Galo都会死掉。 OvO的袋子只能装k个Galo,她的嘴巴里还能叼1个,请问她所摘Ga

2017-10-26 13:21:58 834

原创 【NOIP2017提高A组集训10.25】数论 (此题纯属搞笑)

Description聪明的0v0正在学习莫比乌斯反演。 她看到了这样的一道题:有n*m个人站成了一个n*m的方阵…… 剩下的题面,聪明的0v0不记得了。但是,她通过自己高超的数论技巧,给出了一个转化后的模型:给出n和m,求 聪明的0v0当然知道怎么做了,但是她想考考你。Input一行三个正整数n,m,p。Output一行一个非负整数,设答案为x,输出x mod p。Sample Inpu

2017-10-26 13:11:19 501

原创 各种注意事项集合(to be continued)

1.先看完所有题 2.先写暴力 3.写完一个题之后对拍 4.不要过于自信自己能写出正解 5.一定写熟板子 6.尝试各种思路 7.dp时注意初始化 8.写完读优记得检查 9.数据结构调试一定要写一个好看的遍历函数! 10.数据结构必须初始化! 11.数据结构一定要写完一个操作调一个! 12.记得写文件操作,还要检查 13.网络流一定要初始化tot=-1! 14.网络流一定要...

2017-10-26 11:26:42 725

原创 [bzoj1095][ZJOI2007]Hide 捉迷藏(动态点分治)

传送门 话说我明明是抄的po姐的代码,为什么我的23s,po姐的14s??? 看来我代码已经很接近颜值了。。 其实这题就是维护好多个堆,每个点两个,再来一个全局堆就好了。 具体还是看po姐的blog吧: http://blog.csdn.net/popoqqq/article/details/44461423 代码:#include<cstdio>#include<cstring>#

2017-10-25 22:37:16 304

原创 【NOIP2017提高A组集训10.25】凤凰院凶真(dp)

DescriptionInputOutputSample Input5 1 4 2 5 1 4 1 1 2 4Sample Output2 1 4Data Constraint题解这题我考场上想到了各种玄学复杂度的方法,然后没写一种,直接调T2去了 T2也没调出来,结果是我T2树状数组出了一个诡异的问题,然后100->0。。。 这个题其实就是个dp dp[i][j]代表a数组到i,b数

2017-10-25 15:44:42 342

原创 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜(树状数组)

DescriptionInput第一行两个整数n;m 表示电子个数和询问个数. 接下来n 行, 每行两个整数x; y 表示vi. 接下来m 行, 每行形如1 p x y 或2 l r, 分别表示两种操作.Output对于每个操作2, 输出一行一个整数表示飘升系数对20170927 取模的值.Sample Input9 5 13052925 5757314 9968857 11135327

2017-10-25 12:57:02 530

原创 [bzoj1146][CTSC2008]网络管理Network(dfs序+树状数组套主席树)

再发一波福利,还是老规矩,不许说啊。 传送门 其实就是搞下来dfs序,然后差分 具体细节自己想想怎么处理 然后就是这题最恶心的空间 我死活卡在257MB 然后我就放弃卡 正规地先建一棵静态,然后修改在dfs序上改 这样就是O(nlogn+m(update)log2n)O(nlogn+m(update)log^2n)了 所以只开了89MB 代码:#include<cstdio>#

2017-10-25 01:40:11 419

原创 数据结构--树状数组套主席树(动态区间k小)

给大家一波福利,我在洛谷上放了一道bzoj权限题 传送门 都不要说,要不我会被打。。。 有人说的话,我就删了这题了。。 然后就是这个题就是个模板题,直接板子。 我的封装过了,看一看细节,直接用就好了。 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#

2017-10-25 01:34:18 314

原创 【NOIP2017提高A组集训10.24】合影

Description题目背景 热烈庆祝北京师范大学附属实验中学成立100周年! 问题描述 经过一天的忙碌,志愿者们结束了他们的工作,准备站在一排合影留念。 现在总共有n名志愿者留下来准备合影。不过,进程并不是那么顺利,有些同学提出了一些奇奇怪怪的要求(每个人最多只会提出一个):他必须站在另外一个同学的左边(不一定相邻),仁慈的老师满足了他们的要求。

2017-10-24 14:29:55 702

原创 【NOIP2017提高A组集训10.22】幸运值

Description校庆志愿者小Z在休息时间和同学们玩卡牌游戏。一共有n张卡牌,每张卡牌上有一个数Ai,每次可以从中选出k张卡牌。一种选取方案的幸运值为这k张卡牌上数的异或和。小Z想知道所有选取方案的幸运值之和除以998244353的余数。Input输入的第一行有两个整数n和k。 第二行有n个整数,表示序列A。Output一个整数表示答案。Sample Input输入1: 3 2 1 2 3

2017-10-23 16:15:38 514

原创 洛谷10月月赛R2-T2-Chtholly Nota Seniorious

传送门 这个题首先我们发现那条分界线是单调的 并且最大值最小应该是老套路了,二分答案。 二分答案之后就可以贪心了,每一行尽量填,具体可以看我的代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#define ll long

2017-10-21 17:31:42 380

原创 洛谷10月月赛R2-T1-浮游大陆的68号岛

传送门 这个题就是个卡常数(貌似我的电脑太慢了??) 其实就是维护五个前缀和 d1[i]=(d[i]+d1[i-1])%p; d2[i]=(d2[i+1]+d[i+1])%p; sum[i]=(sum[i-1]+v[i])%p; ans1[i]=(ans1[i-1]+(v[i]*d1[i])%p)%p; ans2[i]=(ans2[i+1]+(v[i]*d2[i])%p)%p; 查询

2017-10-21 13:49:29 1510

原创 洛谷10月月赛R2-T3-Nephren Ruq Insania

传送门 这个题明显扩展欧拉定理,也就是这个定理: abmodc=a(bmodϕc)+ϕcmodca^b\mod c=a^{(b\mod \phi c)+\phi c}\mod c我们可以递归地去做那个式子,一直取phi,再加个快速幂(=ksm=kasumi)就好了。 所以就可以做了。 还有就是这么一直取phi,最多只会取log2plog_2 p次,就会变成1,然后就是: amod1+ϕ1=

2017-10-21 13:41:09 531 1

原创 [jzoj5406]【NOIP2017提高A组模拟10.10】Tree

Description给定一颗n 个点的树,树边带权,试求一个排列P,使下式的值最大 其中maxflow(s; t) 表示从点s 到点t 之间的最大流,即从s 到t 的路径上最小的边权Input第一行一个整数n,表示点数 下接n - 1 行,每行三个数u, v, w 表示一条连接点u 和点v 权值为w 的边Output输出一行一个整数,表示答案Sample Input2 1 2 2333

2017-10-20 14:18:00 403

原创 访问破万纪念

如题。 有点儿小激动呀,毕竟达到了这样的访问量了,算了一下,平均每篇77.8,还不错。 希望大家以后多多支持,欢迎留言,欢迎友链!

2017-10-19 12:03:31 257

原创 2014-3-15-不等数列num(dp)

Problem 2 不等数列(num.cpp/c/pas) 【题目描述】 将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入“>”和“<”。问在所有排列中,有多少个排列恰好有k个“<”。答案对2012取模。【输入格式】 第一行2个整数n,k。【输出格式】 一个整数表示答案。【样例输入】 5 2 【样例输出】 66 【数据范围】 对于30%的数据:n <= 10 对于

2017-10-18 18:33:33 242

原创 2014-3-15-高级打字机type(可持久化线段树)

Problem 1 高级打字机(type.cpp/c/pas) 【题目描述】 早苗入手了最新的高级打字机。最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧。 请为这种高级打字机设计一个程序,支持如下3种操作: 1.T x:在文章末尾打下一个小写字母x。(type操作) 2.U x:撤销最后的x次修改操作。(Undo操作) (注意Query操作并不算修改操作) 3.Q x:询

2017-10-18 13:36:58 524

原创 [codevs1022]覆盖(染色+二分图最大匹配)

传送门 将格子染色之后就可以将问题转化成二分图最大匹配的问题了。 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#include<queue>#define ll long longusing namespace st

2017-10-16 18:40:42 264

原创 [codevs1993]草地排水(最大流裸题)

传送门 没什么可说的 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#include<queue>#define ll long longusing namespace std;inline int read(){

2017-10-16 18:20:50 317

原创 [bzoj1497]NOI2006最大获利(最大权封闭子图)

传送门 这个题是一个最大权封闭子图,具体建图可以看hzwer 然后关于最大权封闭子图的解法可以看这两篇 这篇详细:http://www.cnblogs.com/wuyiqi/archive/2012/03/12/2391960.html 这篇清晰:http://blog.csdn.net/qq_33229466/article/details/51018916 然后应该就懂了。 代码:#

2017-10-16 18:08:43 311

原创 [bzoj1475]方格取数问题(最大点权独立集)

传送门p.s:这好像是权限题,我还是放一下题面吧。。Description在一个n*n的方格里,每个格子里都有一个正整数。从中取出若干数,使得任意两个取出的数所在格子没有公共边,且取出的数的总和尽量大。Input第一行一个数n;(n<=30) 接下来n行每行n个数描述一个方阵Output仅一个数,即最大和Sample Input2 1 2 3 5Sample Output6题解题目很简单,说的就

2017-10-16 17:36:29 326

原创 洛谷10月月赛R1T1-SAC E#1 - 一道中档题 Factorial(pollard-rho质因数分解)

传送门 小数据做法(改了之后):http://blog.csdn.net/stone41123/article/details/78172763 大数据做法(没改之前的数据范围): 我们沿用之前的做法,只是质因数分解如果再用O(n√)O(\sqrt n)的,那么就会TLE 我们可以使用pollard-rho质因数分解,听说时间是O(n14)O

2017-10-15 22:08:19 311

原创 Miller-Rabin素数判断

这个算法要过线性筛模板好难啊 改了好几次才卡到单点800ms过了 其实这个算法就是玄学,就是不断地取随机数,一直用什么什么定理去试,然后还说什么出错几率非常小,其实还是会错的呀,所以要我说就是玄学(虽然模板题100000个数都过了吧。。) 一般来说试10次比较保险,其实5次左右就够(尤其是卡时间的时候) 其实学这个算法就是为了学pollard-rho质因数分解,要不然我会来学这么玄学的东西?

2017-10-15 17:23:32 233

原创 10.14TG T3 tree

这个题是树形dp 我们可以记录两个量,sum和cnt sum(x)代表x的子树中的合法路径长度总和,cnt(x)代表x的子树中的合法路径数量。 那么就好dp了:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#define ll

2017-10-15 11:18:35 217

原创 洛谷“测试”(这是一场比赛)T3 隔离(最小割)

题目背景zx大佬依然秒切。lXz发现世界变得不一样了,他昨天所喜爱的一切都变得一团糟。 他决定造一堵墙把自己和世界隔离开。题目描述有一个大小为 n×m 的矩阵,在每一个位置造墙付出代价 a[i][j],lXz 站在(x,y), 不允许在(x,y)处造墙,保证(x,y)不在边界上。两个格子如果有一条公共边且都不为墙则 可以互达。边界上的格子,如果不是墙就与外界连通。lXz要选择一些位置造墙,使得从(x

2017-10-13 18:33:53 400

原创 随便写点

回忆录读后感?

2017-10-12 20:08:46 249

原创 洛谷 P1377 [TJOI2011]树的序

传送门 其实此题和那个qbxt的bst是一样的,我们可以按照同样的方法(详见这里)来处理,建出来树,然后就可以直接输出先序遍历即可,这就是贪心的思想。 具体贪心原理:首先,一棵树必须先有根,那么就要先输出根,然后因为字典序最小,所以我们每次都要尽可能地输出合法的最小数,那么根据二叉查找树的性质,我们就应该先输出左子树,然后再输出右子树,那不就是先序遍历了? 代码:#include<cstdio

2017-10-12 10:45:52 391

原创 [jzoj1163]第k短路

DescriptionBessie 来到一个小农场,有时她想回老家看看她的一位好友。她不想太早地回到老家,因为她喜欢途中的美丽风景。她决定选择K短路径,而不是最短路径。 农村有 R (1≤R≤100,000) 条单向的路,每条路连接 N (1≤N≤10000) 个结点中的两个。结点的编号是 1..N。Bessie 从结点 1出发,她的朋友(目的地)在结点 N。 同一个点可以多次经过。K短路的定义

2017-10-10 09:06:49 446

原创 [jzoj1016][poj3321]苹果树(dfs序+树状数组维护)

传送门 这个题是树链剖分简化版,甚至都没有链,只需要dfs一遍搞出来dfs序,然后搞个每个节点对于dfs序上的映射就好了,然后单点修改,区间查询,树状数组维护即可。 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#defi

2017-10-09 18:32:25 292

原创 清北学堂-D7-T1-bst

这个题暴力给了50分,直接模拟即可。 为什么是50分呢?有些人会有这个疑问。 原因很简单,你可以模拟一下这组数据: 10 1 2 3 4 5 6 7 8 9 10 你可以发现,如果我给你你个递增序列,你的算法就会被卡到O(n2)O(n^2) 那这个题怎么做呢? 我这里介绍两个做法,都不是std 1.某位大佬的倍增 我们可以插入的时候更新每个点ii向下跳2j2^j步的目标点,然后插入

2017-10-08 18:55:26 382

原创 洛谷10月月赛R1-T2-一道简单题 Sequence2

传送门 这个题明显是dp,我们来考虑如何dp。 我们把四种状态:(本列)选1,选2,选3(大于等于上一个),选3(小于等于上一个) 分别称为:状态1,状态2,状态3,状态4 那么,我们可以发现,状态1可以由前面的状态1,2,3,4推过来,只要满足那一位所选的数小于等于当前的数。 类似的,状态2也可以由前面的状态1,2,3,4推过来,只要满足条件。 然而,状态3却不可以由状态4递推过来,因

2017-10-08 01:46:30 449

原创 洛谷10月月赛R1-T1-一道中档题 Factorial

传送门 首先,我们可以这样分解阶乘质因数: cnt(p)=∑i=1∞⌊npi⌋cnt(p)=\sum_{i=1}^{\infty} \big\lfloor {\frac n {p^i}}\big\rfloor 也就是枚举质数一直除,具体原理可以自己想,我不多说。 对于这个题,大家应该有些人做过这个题的简单版本吧: 求n!末尾0的个数。 这个题的做法还是很简单的,用上面那个方法筛出2和5的

2017-10-08 01:28:47 278

原创 [bzoj3123][洛谷P3302] [SDOI2013]森林(树上主席树+倍增lca+启发式合并)

传送门(luogu) 传送门(bzoj) 此题有两种操作: 1.查询树上两点间权值第k小 2.连接两棵树 限制条件:强制在线 看到第k小大家想到的肯定是主席树,可是连边又让大家想到了LCT 我们选择使用主席树。 为什么呢? 我们肯定是要舍弃两种操作中的一种,让它变慢,另一个就快了。 然而,第k小显然没有什么优化的余地,可是连接两棵树显然就是合并两棵树 合并!我们可以想到启发式合

2017-10-06 21:38:45 953

原创 [bzoj1212] [HNOI2004]L语言(trie+dp)

传送门 我们可以建一个trie树,然后dp 状态:f(x)表示1f(x)表示1~x能否被拼出来x能否被拼出来 然后我们就可以在trie树上暴力地边走边判断,当f(x)=1f(x)=1时用它来推其他状态。 边界:f(0)=1f(0)=1 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#incl

2017-10-06 20:52:32 330

原创 清北学堂-D6-T3-relations

我考试的时候脑残了写了一个类似于spfa的东西,果断WA,只拿了10分。 正解是toposort。 因为我们可以连边建图,当f(x)<g(y)f(x)<g(y)时就从xx到y+ny+n连一条边,大于就反着连边。 最后如果有环,就是无解。 如果没有环,就是DAG了,可以toposort了,然后一边toposort,一边标号,就好了。 代码:#include<cstdio>#include<

2017-10-06 19:34:51 717

原创 [jzoj3126]【GDKOI2013选拔】大LCP(字典树解LCP)

这个题就不传送门了,估计大部分人都看不了。DescriptionLCP就是传说中的最长公共前缀,至于为什么要加上一个大字,那是因为…你会知道的。首先,求LCP就要有字符串。既然那么需要它们,那就给出n个字符串好了。于是你需要回答询问大LCP,询问给出一个k,你需要求出前k个字符串中两两的LCP最大值是多少,这就是传说中的大LCP。Input第一行一个整数N,Q,分别表示字符串个数和询问次数。接下来N

2017-10-06 16:45:21 270

空空如也

空空如也

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

TA关注的人

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