zoukankan      html  css  js  c++  java
  • Codeforces Round #589 (Div. 2)

    题目大意:给定一个 $h$ 行, $w$ 列的矩形,接下来一行 $h$ 个数字, $hi$ 代表第 $i$ 行从左到右有连续的 $hi$ 个染成黑色的方块,列同理,然后问满足条件的矩形的个数(% 1e9 + 7)。

    比赛写的时候第一次挂掉了,因为判断原条件不成立的代码写挂了= = ,不知道自己当时在想什么。

    我在处理数据时,开了两个数组,分别记录行与列的染色情况。

    	forab(i, 1, h)
    	{
    		cin >> r[i];
    		forab(k, 1, r[i])
    			G[i][k] = 1, R[i][k] = 1;
    	}
    	forab(i, 1, w)
    	{
    		cin >> c[i];
    		forab(k, 1, c[i])
    			G[k][i] = 1, C[k][i] = 1;
    	}
    

      

    我判断原条件不成立的想法是:

    	forab(i, 1, h)
    	{
    		if (C[i][r[i] + 1] == 1)
    		{
    			flag = 1;
    			break;
    		}
    	}
    	forab(i, 1, w)
    	{
    		if (R[c[i] + 1][i] == 1)
    		{
    			flag = 1;
    			break; 
    		}
    	}

    最后计数的判断为:

    	forab(i, 1, h)
    	{
    		forab(j, 1, w)
    		{
    			if (G[i][j])
    				continue;
    			if (r[i] + 1 == j || c[j] + 1 == i)
    				continue;
    			else
    				ans = 2 * ans % MOD;
    		}
    	}
    

      

  • 相关阅读:
    可输入下拉框
    display:table-cell 相当于td
    循环拼接HTML
    jq操纵select
    echarts柱状图使用
    原生js 获取路由参数
    js下拉模糊查询
    ie 的hack
    vue 兼容ie11
    vuecli中的绝对路径和相对路径
  • 原文地址:https://www.cnblogs.com/zssst/p/11610845.html
Copyright © 2011-2022 走看看