zoukankan      html  css  js  c++  java
  • codeforces 699B Bomb

    http://www.codeforces.com/contest/699/problem/B

    在n*m的矩阵中有若干个特殊点,问能否找到一个点,使所有特殊点都和其在同一行或同一列。m,n<=1000

    很简单的题目,不过我当时就大意了,以为很简单没有想清楚就开始敲。敲完了一看,诶?不对!然后就gg了。

    看了看room里的写法,加上我的不外乎三种。

    第一种最gg的写法就是一堆if else。先看看是不是一个点都没有或者只有一个点;如果有多于一个点的话,先找一个点,然后对所有其他点,

    如果既不在同一行也不再同一列就不行,如果在同一行的话,在用其他点确定列 balabala。。

    这种写法普遍是最长的而且pass的人都花了很长时间,我也很佩服这种写法需要的严谨逻辑思维。不过显然是最倒霉的写法。

    第二种最标准的写法就是依次判断每一个点能否是目标点。判断方法又有两种。

    最简单的就是此列和此行的点数等于总点数。只要记录每一行吗,每一列的点数,在对这个点容斥一下就ok了。最短最快而且最不容易出错。

    另一种就是我的奇葩写法,只要除了这一行这一列别的地方没有点就行了。然后就用了前缀和和容斥查区间和。。比较麻烦。

    另外这一场我最后lock B题的选择没有错,有很多fst的。不过我一个都没有hack成。hack别人需要很严谨的思路,是很不错的锻炼方法。

  • 相关阅读:
    solr 笔记
    oracle 相关笔记
    Linux之shell
    Linux 笔记2
    Linux 笔记1
    ConfigurationClassParser类的parse方法源码解析
    ConfigurationClassPostProcessor类的processConfigBeanDefinitions方法源码解析
    spring-ConfigurationClassUtils类
    有关金融的一些专有名词的解释
    centos7安装hadoop3.2.1集群
  • 原文地址:https://www.cnblogs.com/liuaohan/p/5687363.html
Copyright © 2011-2022 走看看