zoukankan      html  css  js  c++  java
  • 3140: [Hnoi2013]消毒

    首先要知道一次打掉一个1*x*y的面是最优的。证明太简单所以略。

    然后看这道题的二维版本:bzoj1693 [Usaco2007 Demo]Asteroids   http://www.lydsy.com/JudgeOnline/problem.php?id=1693

    然后这样的题一般都是一维暴力来减少一维。就枚举最小的一维打掉哪些面。然后把剩下的压成两维,然后做。

    RunID User Problem Result Memory Time Language Code_Length Submit_Time
    410333 lbz007 1693 Accepted 12032 kb ms Pascal/Edit 862 B 2013-05-11 20:51:11
     1 var
     2   u,v,k,ans,i,j,n,a,ee:longint;
     3   link:Array[0..2002]of longint;
     4   next,head,e:array[0..1000000]of longint;
     5   b:array[0..20002]of longint;
     6 procedure add(u,v:longint);
     7   begin
     8   inc(ee);
     9   next[ee]:=head[u];
    10   head[u]:=ee;
    11   e[ee]:=v;
    12   end;
    13   
    14 function find(x:longint):boolean;
    15   var j:longint;
    16   begin
    17   j:=head[x];
    18   while j<>0 do
    19     begin
    20     if b[e[j]]<>i then
    21       begin
    22       b[e[j]]:=i;
    23       if (link[e[j]]=0) or (find(link[e[j]])) then
    24         begin
    25         link[e[j]]:=x;
    26         exit(true);
    27         end;
    28       end;
    29     j:=next[j];
    30     end;
    31   exit(false);
    32 end;
    33 begin
    34   readln(n,k);
    35   for i:=1 to k do
    36     begin
    37     readln(u,v);
    38     add(u,v);
    39     end;
    40   for i:=1 to n do
    41     if find(i) then inc(ans);
    42   writeln (ans);
    43 end.
    View Code
  • 相关阅读:
    Kafka概述与部署
    理解微前端技术原理
    Docker之单机网络一
    MySQL Binlog解析
    MySQL之Xtrabackup
    MySQL之mysqldump
    学生成绩管理系统
    凯域课程表使用体验(软件名:上课了)
    动手动脑问题分析
    关于十天集训的收获
  • 原文地址:https://www.cnblogs.com/lbz007oi/p/3078429.html
Copyright © 2011-2022 走看看