算法合集之《序应用》.docVIP

  • 3
  • 0
  • 约1.05万字
  • 约 10页
  • 2016-10-14 发布于贵州
  • 举报
算法合集之《序应用》

序的应用 长沙市雅礼中学 龙凡 【】【】【】【】有一个N*N(1=N=2003)的点阵,相邻点之间会有一条带整数权w的有向弧(1=w=500000)。并且,从左上角的点(v1,1)到某一点的所有路径的长度(途经的所有弧的权之和)都相等。 每次可以提问某个点(x,y)到同行最右边的点离他的距离,及同列最下边的点离他的距离。现在要你找到一个点,使得左上点到他的距离为给定的整数L(1=L=2000000000)。最多允许提问6667次(你最开始仅仅已知N、L)。 我们首先可以否定一种最简单的想法,即把每条边的长度都通过询问+解方程计算出来。因为边的总数是,而我们仅仅可以从“并且,从左上角的点(v1,1)到某一点的所有路径的长度(途经的所有弧的权之和)都相等。”这句话中得到个方程(除了对于每个非左、上边缘之外的点存在一个其左上点到该点的两条路经相等,其他的都可以通过这些方程加减得出)也就是说至少还要询问次。而当N=2003的时候,6667仅仅相当于3N左右。这是不可能的! 不妨从题目的要求入手:题目仅仅要我们找到一个点,他到左上角点的距离为L。也就是说我们并不关心每条边的权值,而只关心每个点的距离。我们不妨把每个点到左上角点的距离叫做每个点的权值。 有一个很重要

文档评论(0)

1亿VIP精品文档

相关文档