关闭
当前搜索:

[最短路 Bfs 二维线段树] JOI Open Contest 2017 Golf

题目大意:给出平面上n个不相交的矩形障碍,以及起点和终点,要求从起点走到终点的折线段段数最少 VIEW PROBLEM - GOLF (JOI17_GOLF)首先最优解肯定可以只在矩形边所在的直线以及过起点终点平行坐标轴的直线上移动 先预处理出矩形边界能够左右上下延伸的最远距离,转化成一些线段,可以扫描线加线段树 然后就直接bfs,关键操作是找出所有跟当前线段相交的且没被走过的线段,可以把线段...
阅读(237) 评论(0)

[分层图 DP] HihoCoder #1147 时空阵

题解:http://blog.csdn.net/nlj1999/article/details/50413427?locationNum=4 由于K 于是乎边只能和上一层以及本层的节点相连。 注意最后一层必有n 然后剩下的弄成一团 无所谓分不分层 放在n那一层的后面  #include #include #include using namespace std;...
阅读(239) 评论(0)

[FloodFill] BZOJ 2936 [Poi1999]降 水 Water

详见:http://blog.csdn.net/clover_hxy/article/details/52956172 久闻Floodfill算法  对于矩形最外围的点必然是存不住水的,那我们可以从边界开始扩展。考虑什么样的地方能够积水,一定是他周围的格子都比他高,而最大的存水量,一定是根据他周围最低的格子确定的。 所以我们每次从队列中选取积水量最小的点,...
阅读(146) 评论(0)

[BFS 剪枝] BZOJ 2954 [Poi2002]超级马

直接以(0,0)广搜,判断是否能到(0,1)(0,-1)(1,0)(-1,0)但直接这样做复杂度过高,需要利用以下剪枝。 1. 限制在(-100..100,-100..100)内移动 2. 移动到一个点(x,y)时,判断(-x,-y)周围是否已到达 3. 一旦判断成功,立即退出 第一点剪枝的正确性本人尚不明 第二点剪枝还是很妙的 不过没写 几年前做的题 连代码是不是自己...
阅读(208) 评论(0)

[BFS 排列Hash] POJ 1184 聪明的打字员

论文:鬲融--浅谈特殊穷举思想的应用 把排列给hash了 不过并不快  #include #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)...
阅读(179) 评论(0)

[三合一 BFS 平衡树 线段树] BZOJ 2158 Crash 的旅行计划

无耻的三合一 详见Claris博客:http://www.cnblogs.com/clrs97/p/4403250.html...
阅读(289) 评论(0)

[bfs 分层图 字典序 最短路] BZOJ 2644 Pku3967 Ideal Path

将点按照距离分层,对每一层,计算有效点到下一层的最小颜色值 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(...
阅读(158) 评论(0)

[Bfs 乱搞] BZOJ 3137 [Baltic2013]tracks

跟省选day2讲的一道题好像... #include #include #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,std...
阅读(443) 评论(0)
    个人资料
    • 访问:309408次
    • 积分:12408
    • 等级:
    • 排名:第1311名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:54条
    最新评论