码迷,mamicode.com
首页 > 其他好文 > 详细

NOIP 2017 集训散记

时间:2017-10-05 16:11:48      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:必须   包含   搜索   维护   多少   text   结束时间   模拟   一个人   

17.10.5


Maze

  题意

  给定一张 $n \times m$ , 包含空地 ‘.‘ 和障碍 ‘#‘ 的格点图.

  给定起点和终点, 求从起点到终点的必须经过点有多少个.

  $n, m \le 10 ^ 3$ .

  分析1 - 搜索

  找到从起点到终点尽可能靠左上的路径和尽可能靠右下的路径, 然后取并.

  分析2 - Tarjan

  若 low[son] >= dfn[x] , 且 son 的后继中有终点, 那么 x 为从起点到终点的割点.

 

懒人跑步 - 同余最短路

  题意

  给定一个大小为 4 的环, 以及每条边的边权.

  懒人CJB从点 2 出发, 每次可以走到相邻的一个点, 最后回到点 2 .

  求路径总长 >= K 的走法中, 路径总长最小是多少?

  $K \le 10 ^ {18}, d \le 30000$ .

  分析

  找到一个长度为 Len 的环, 那么若存在路径总长为 x , 那么所有模 Len 与 x 同余, 且比 x 长的长度都可以走得到.

  用 Dijsktra 求出余数为 0, 1, ..., Len-1 的最小的路径长度.

 

[HDU 6136] 赛艇大赛

  题意

  在环上有 $n$ 个人, 第 $i$ 个人在位置 $d_i$ , 速度为 $v_i$ . 两个人相遇时, 标号小的那个人会挂掉. 剩下一个人的时候结束, 求结束时间.

  $n \le 10 ^ 5$ .

  分析

  第一次相遇一定是相邻的两个人, 把挂掉的那个人删掉后, 第二次相遇仍然是相邻的两个人....

  用堆和双向链表维护 {x, y, x 和 y相遇的时间} , 进行模拟.

NOIP 2017 集训散记

标签:必须   包含   搜索   维护   多少   text   结束时间   模拟   一个人   

原文地址:http://www.cnblogs.com/Sdchr/p/7629283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!