对于每个操作,直接暴力做就行了,询问的话搜一遍,然后

就这么水过去了。

/**************************************************************
    Problem:
    User: BLADEVIL
    Language: Pascal
    Result: Accepted
    Time: ms
    Memory: kb
****************************************************************/
 
//By BLADEVIL
var
    n, m                        :longint;
    map, w                      :array[..,..] of longint;
    flag                        :array[..,..] of boolean;
    ans                         :longint;
    go                          :array[..,..] of longint;  
     
function max(a,b:longint):longint;
begin
    if a>b then max:=a else max:=b;
end;
 
procedure find(x,y:longint);
var
    i                           :longint;
    nx, ny                      :longint;
begin
    for i:= to do
    begin
        nx:=x+go[,i];
        ny:=y+go[,i];
        if flag[nx,ny] then continue;
        if map[nx,ny]>=map[x,y] then continue;
        if w[nx,ny]= then find(nx,ny);
        w[x,y]:=max(w[x,y],w[nx,ny]+);
    end;
end;
 
procedure init;
var
    i, j                        :longint;
begin
    read(n);
    for i:= to n do
        for j:= to n do read(map[i,j]);
    fillchar(flag,sizeof(flag),false);
    for i:= to n+ do
    begin
        flag[,i]:=true;
        flag[i,]:=true;
        flag[n+,i]:=true;
        flag[i,n+]:=true;
    end;
    go[,]:=-; go[,]:=;
    go[,]:=; go[,]:=-;
end;
 
procedure main;
var
    i, j, t                     :longint;
    ss                          :char;
    x, y, z                     :longint;
    a1, b1, a2, b2              :longint;
     
begin
    readln(m);
    for t:= to m do
    begin
        read(ss);
        if ss='C' then
        begin
            readln(x,y,z);
            map[x,y]:=z;
        end else
        if ss='S' then
        begin
            readln(a1,b1,a2,b2);
            for i:=a1 to a2 do
                for j:=b1 to b2 do
                    flag[i,j]:=true;
        end else
        if ss='B' then
        begin
            readln(a1,b1,a2,b2);
            for i:=a1 to a2 do
                for j:=b1 to b2 do
                    flag[i,j]:=false;
        end else
        begin
            readln;
            for i:= to n do
                for j:= to n do w[i,j]:=;
            for i:= to n do
                for j:= to n do
                if (not flag[i,j]) and (w[i,j]=) then
                    find(i,j);
            ans:=-maxlongint;
            for i:= to n do
                for j:= to n do ans:=max(ans,w[i,j]);
            writeln(ans);
        end;
    end;
end;
 
begin
    init;
    main;
end.

bzoj 3208 暴力的更多相关文章

  1. bzoj 3208 花神的秒题计划I

    bzoj 3208 花神的秒题计划I Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪 ...

  2. bzoj 1028 暴力枚举判断

    昨天梦到这道题了,所以一定要A掉(其实梦到了3道,有两道记不清了) 暴力枚举等的是哪张牌,将是哪张牌,然后贪心的判断就行了. 对于一个状态判断是否为胡牌,1-n扫一遍,然后对于每个牌,先mod 3, ...

  3. bzoj 2073 暴力

    2073: [POI2004]PRZ Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 442  Solved: 327[Submit][Status][D ...

  4. bzoj 3620 暴力KMP

    十分暴力的KMP,枚举左端点,在向右侧推进的同时,取较小的la保证条件,n方暴力 #include<bits/stdc++.h> #define rep(i,j,k) for(int i= ...

  5. bzoj 3916 暴力哈希

    暴力的哈希,注意: 将一个串当作另一个串的前缀,需要乘上p[len],len=后面串的长度 这是自己的代码,拿数据在本地测A掉了,但是bz上wa了??bz换数据了难道?? #include<cs ...

  6. bzoj 1493 暴力

    我们可以枚举每个点,然后求出这个点到其余点最小消耗的代价,求出比t小的且距离最大的更新答案. /**************************************************** ...

  7. bzoj 1800 暴力枚举

    直接暴力枚举四个点,然后判断是否能组成矩形就行了 注意枚举的点的标号从小到大,保证不重复枚举 /**************************************************** ...

  8. BZOJ 3208: 花神的秒题计划Ⅰ

    这就是一道滑雪嘛= = 所有操作都爆力,求路径就dp,完了 CODE: #include<cstdio>#include<iostream>#include<algori ...

  9. NOIP 考前 暴力练习

    BZOJ 1028 暴力枚举听的那张牌,和那个多余的两张牌,其余的mod3后模拟就可以了 #include <cstdio> ; int n,m,a[Maxn],b[Maxn],cnt,A ...

随机推荐

  1. Pc移植到Mac的技术细节

    1.样式不对: 2.布局不对: 3.Mac的菜单替换PC的菜单: Mac的菜单替换PC的菜单: 1)左上角图标没有手动添加且不需要添加的情况下出现,而且点击是Help菜单内容: 2)把HelpBtn和 ...

  2. 步骤2:JMeter 分布式测试(性能测试大并发、远程启动解决方案)

    转载(记录) http://www.cnblogs.com/fengpingfan/p/5583954.html http://www.cnblogs.com/puresoul/p/4844539.h ...

  3. React错误总结解决方案(二)

    1.React native: Cannot add a child that doesn't have a YogaNode or parent node 该错误一般是因为render方法中注释语句 ...

  4. 文件系统之 stat与access

    stat命令 stat既有命令也有同名函数,用来获取文件Inode里主要信息,所以stat命令的输出信息比ls命令的输出信息要更详细,stat 跟踪符号链接,lstat不跟踪符号链接,其中会输出对应文 ...

  5. PokeCats开发者日志(一)

      现在是PokeCats游戏开发的第三天的上午,突然心血来潮想记录一下这个开发过程,于是写起了开发者日志. day1   作为一只ACM退役喵,寒假回家,闲着没事,天天在召唤师峡谷里闲逛也挺没意思的 ...

  6. Delphi 之 编辑框控件(TEdit)

    TEdit 组件主要用于数据的输入和显示和编辑等操作. AutoSelect 获取组件焦点.该属性只能在单行文本组件使用.值为True为选中.false则不选中. BorderStyle 设置编辑框控 ...

  7. 【python】python获取当前日期前后N天或N月的日期

    # -*- coding: utf- -*- '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime imp ...

  8. 全局 Ajax 事件处理器

    jQuery中将Ajax请求和响应分成了若干(5)个阶段 并且允许开发者在Ajax请求和响应的不同阶处理不同的逻辑, 这些方法用于注册事件处理器,用来处理页面上的任何 Ajax 请求,当某些事件触发后 ...

  9. BZOJ4318 OSU!(动态规划+概率期望)

    设f[i][0/1]为考虑前i位,第i位为0/1时的期望得分(乘以是0/1的概率).暴力转移显然.前缀和优化即可. 但是这个前缀和精度无法承受,动不动就nan. 考虑增加一位的贡献.若之前后缀1的个数 ...

  10. Ural 1297 Palindrome(Manacher或者后缀数组+RMQ-ST)

    1297. Palindrome Time limit: 1.0 second Memory limit: 64 MB The “U.S. Robots” HQ has just received a ...