首先机器人是并行的;

很容易想到到某个点的最短用时

=max(到这个点的最短路,max(到保护这个点结界所在点的最短用时))

所以我们在做dij的时候,d[j]维护最短路,w[j]维护所有保护这个点结界所在的点的最短用时的最大值

在做最短路松弛的时候,我们肯定是要加一个优先条件即这个点没有结界保护了

注意会爆longint;

 const inf=;
var a:array[..,..] of longint;
    b:array[..,..] of boolean;
    w,d:array[..] of int64;
    v:array[..] of boolean;
    s:array[..] of longint;
    k,n,m,i,j,x,y:longint;
    z,p,mid:int64; function min(a,b:int64):int64;
  begin
    if a>b then exit(b) else exit(a);
  end; function max(a,b:int64):int64;
  begin
    if a>b then exit(a) else exit(b);
  end; begin
  readln(n,m);
  for i:= to n do
    for j:= to n do
      if i<>j then a[i,j]:=;
  for i:= to m do
  begin
    readln(x,y,z);
    a[x,y]:=min(a[x,y],z);
  end;
  for i:= to n do
  begin
    read(s[i]);
    for j:= to s[i] do
    begin
      read(x);
      b[i,x]:=true;
    end;
  end;
  d[]:=;
  for i:= to n do
    d[i]:=inf;
  for i:= to n- do
  begin
    mid:=inf;
    k:=;
    for j:= to n do
    begin
      z:=max(d[j],w[j]);
      if not v[j] and (s[j]=) and (mid>z) then
      begin
        mid:=z;
        k:=j;
      end;
    end;
    if k= then break;
    v[k]:=true;
    for j:= to n do
      if not v[j] then
      begin
        if b[j,k] then
        begin
          dec(s[j]);
          w[j]:=max(w[j],mid);
        end;
        d[j]:=min(d[j],mid+a[k,j]);
      end;
  end;
  writeln(max(d[n],w[n]));
end.

bzoj1922的更多相关文章

  1. 【SDOI2010题集整合】BZOJ1922~1927&1941&1951&1952&1972&1974&1975

    BZOJ1922大陆争霸 思路:带限制的单源最短路 限制每个点的条件有二,路程和最早能进入的时间,那么对两个值一起限制跑最短路,显然想要访问一个点最少满足max(dis,time) 那么每次把相连的点 ...

  2. 【bzoj1922】 Sdoi2010—大陆争霸

    http://www.lydsy.com/JudgeOnline/problem.php?id=1922 (题目链接) 题意 一张无向图,每个节点被k个节点保护,想要走到一个节点当且仅当它不被保护.你 ...

  3. 【BZOJ1922】大陆争霸(最短路)

    [BZOJ1922]大陆争霸(最短路) 题面 BZOJ 洛谷 题解 最短路变形题. 定义\(dis\)表示最短路,\(d\)表示最早可以进入当前点的时间.显然\(d=max(max(dis_v,d_v ...

  4. bzoj1922 [SDOI2010]大陆争霸 分层图

    问题描述 幻想历8012年5月12日深夜,斯普林·布拉泽降下神谕:“Trust me, earn eternal life.”克里斯军团士气大增.作为克里斯军团的主帅,你决定利用这一机会发动奇袭,一举 ...

  5. BZOJ1922 [Sdoi2010]大陆争霸

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  6. BZOJ-1922 大陆争霸 多限制、分层图最短路 (堆+dijkstra)

    1922: [Sdoi2010]大陆争霸 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1154 Solved: 478 [Submit][Status ...

  7. BZOJ1922:[SDOI2010]大陆争霸(最短路)

    Description 在一个遥远的世界里有两个国家:位于大陆西端的杰森国和位于大陆东端的 克里斯国.两个国家的人民分别信仰两个对立的神:杰森国信仰象征黑暗和毁灭 的神曾·布拉泽,而克里斯国信仰象征光 ...

  8. 【BZOJ1922】[Sdoi2010]大陆争霸 Dijkstra

    Description 具体地说,杰森国有 N 个城市,由 M条单向道 路连接.神谕镇是城市 1而杰森国的首都是城市 N.你只需摧毁位于杰森国首都 的曾·布拉泽大神殿,杰森国的信仰,军队还有一切就都会 ...

  9. 【bzoj1922】[Sdoi2010]大陆争霸 堆优化Dijkstra

    题目描述 一张n个点m条边的图,通过每条边需要一定的时间.有一些限制条件,每个限制条件形如“x保护y”,表示到达y的最短时间不能小于到达x的最短时间(即如果在其之前到达,则需要等待至xd到达).问1到 ...

随机推荐

  1. nodejs-fs使用

    (1)读取文本文件时须添加上'encoding'才能输出可读的内容. 02.txt hello,world! nodejs_readfile.js var fs = require('fs'); fs ...

  2. 严重: Exception starting filter struts2 java.lang.NullPointerException (转载)

    严重: Exception starting filter struts2 java.lang.NullPointerException at com.opensymphony.xwork2.util ...

  3. java培训(5-8节课)

    面向对象: 1.利用面向对象的语法,实现代码的拆分(数据存储:对象的传值). 2.利用面向对象的语法,实现程序的结构处理(继承,多态,接口,抽象类). 3.用面向对象的编程方法,理解实现程序开发的框架 ...

  4. 代码静态分析工具PCLint, Splint

    一.PCLint REFER: 代码静态检查工具PC-Lint运用实践 二.Splint 1.在PC-Linux上安装 ①make error undefined reference toyywrap ...

  5. sgu 108 Self-numbers II

    这道题难在 hash 上, 求出答案很简单, 关键是我们如何标记, 由于 某个数变换后最多比原数多63 所以我们只需开一个63的bool数组就可以了! 同时注意一下, 可能会有相同的询问. 我为了防止 ...

  6. OpenJudge/Poj 1207 The 3n + 1 problem

    1.链接地址: http://bailian.openjudge.cn/practice/1207/ http://poj.org/problem?id=1207 2.题目: 总时间限制: 1000m ...

  7. ECMAScript 6十大特性

    ES6入门 http://es6.ruanyifeng.com/ ES6排名前十的最佳特性列表 Default Parameters(默认参数) in ES6 Template Literals (模 ...

  8. perl命令批量替换文件内容

    转自:http://www.jbxue.com/article/12638.html 使用perl命令批量替换文件内容. 对linux下的文件内容进行替换,有时不用编写perl脚本,用perl命令就可 ...

  9. PHP 生成随机浮点数

    <?php /** * @desc 获取随机浮点数(支持最大最小值参数互换) * @date 2014-11-07 17:04:21 * * @param int|\最小浮点数 $min 最小浮 ...

  10. 上传头像,界面无跳转,php+js

    上传头像,界面无跳转的方式很多,我用的是加个iframe那种.下面直接上代码. html: //route 为后端接口//upload/avatar 为上传的头像的保存地址//imgurl=/uplo ...