自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CZ_WangJunpeng的博客

一个蒟蒻的OI

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

原创 NOIP2018 Day2 T1 旅行 题解

乍一看,一道基环树。说实话考场上有点懵,Day2T1直接上基环树?再一看,好像只是一道无脑的搜索加剪枝对于NOIP数据范围,O(n^2)是可以可过去的但是对于那个加强版数据,可能需要一个笔者不会的超级玄学。好吧不扯了,咱们来看看数据范围。m=n-1的情况比较简单只需一遍跑一边搜索,每次找字典序最小的往下搜就行了。而对于m=n的情况,就是神(wei)奇(suo)的基环树了。对于基环树...

2018-11-27 19:44:25 635

原创 Luogu p2683 神奇ac代码+Tarjan模板

题目链接Tarjan算法这是一个求一个图中的强连通分量的算法。强连通分量是指这一个子图中所有节点都能互相到达。当然,Tarjan的效率很高,时间复杂度为O(n+m)。这里我们要用到两个关键的数组,一个是dfn,简称豆腐脑,是记录每一个节点在dfs中是第几个被搜到的(时间戳),还有一个就是low,代表了每一个节点的根,就是它的强连通分量的起始点。当一个点没有被搜到过,就继续往下搜,并且更新走...

2018-10-02 16:59:46 176

原创 Luogu p2107 小Z的AK计划 题解

题目链接读入的距离不一定是有序的,读进来先要以距离为关键字排序,对于本身距离大于有的总时间的,或者是本身时间大于总时间的,都处理掉。然后用大根堆来存AK的机房用的时间(不要存距离)。当遇到再往里塞一个时间要超限时,就把你前面用的最大的去掉,直到能再塞,再加上本身的距离(用while来实现)。下面是一段丑陋的AC代码:#include<bits/stdc++.h>using na...

2018-10-02 16:36:36 221

原创 Luogu p2103 道路值守 题解

题目链接这道题很明显是要用Floyd的,所以肯定先用Floyd跑一遍,求出任意两点之间的最路径。这个数据范围摆明了让你O(n^3)去过的,于是我们不难发现这道题可以DP来统计答案。跑完Floyd后,我们去枚举所有于j有连边且在i到j的最短路上的k,每找到一个,就将wzy[j]加1。统计完后,我们再去找所有在i到j最短路上的点(不需要连边),每找到一个,就将i和j这两个点之间的答案加上wzy[k...

2018-10-02 16:25:56 289

原创 bzoj3038 Luogu p4145 上帝造题的七分钟2 题解 线段树

题目链接这道题其实和上帝造题的七分钟1没有什么关系,是一道线段树的题。笔者是第一次看见区间整体开方的题,开始有点慌,结果发现并不难。通过计算,我们不难得出这道题最大可能有的数1e12只需要经过6次开方就可以变成接近1的数,我们又知道如果一个数等于1,那么它的开方永远还是1.因此,我们又可以发现,这道题的数据只有1e5,是可以支持暴力修改的,只需要看这段区间最大值是否超过1.所以,我们可以...

2018-10-02 10:21:27 282

原创 Luogu p4514 上帝造题的七分钟 题解 二维树状数组

题目链接裸体(题)就意味着身体(神题)标准全裸二维树状数组因为这道题二维线段树好像会爆空间,所以二维树状数组是最好的写法了二维树状数组十分的胡扯玄幻,通过一个乱七八糟二维的差分来实现二维区间快速修改查询。但是你以为你会二维树状数组就一定能过吗?这道题有一个猥琐卡人的地方,那就是卡常了。这道题卡常很严重,正常写法都会t掉。这时候,有两种方法可以过掉一,吸吸氧luogu现在有了O2优化...

2018-10-01 22:05:46 193

原创 线段树【模板】及解释

众所周知,线段树是一种十分狗好用的算法。线段树是通过一颗

2018-10-01 11:41:30 1197

原创 第一篇博客,就先从最水的开始

读入输出优化现在很多代码在比赛的时候容易被卡常,导致程序A不掉如果是因为输入输出太长的话,你可能需要一个读入输出优化(真的很好用,暴力有时还能多拿分)读入优化代码(位运算会快一点)inline int read(){ int s=0,f=1;char c=getchar(); for(;!isdigit(c);c=getchar())if(c=='-')f=-1; for(;isd...

2018-09-30 22:51:35 129

空空如也

空空如也

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

TA关注的人

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