C - Alyona and Spreadsheet CodeForces - 777C (思维)

C - Alyona and Spreadsheet CodeForces - 777C (思维)

题意:给出n*m的矩阵问你k次查询中,每次查询给出整数l r.问给的举证中有没有一列 l - r 呈现不下降趋势。

思路:奇妙思路,烦恼与罚时,总是在一次次wa中才能改对:(  想的不够全,也不自己多想想样例。

用一个数组记录每列的转折点(相当于记录出每列连续不减的区间),然后用一个一位数组dp,根据这个区间更新dp数组,位于i行的最多不减能到哪一行。查询的时候直接比较就可以了。

 

#include
#include
#include
#include
using namespace std;
const int maxn=1e5+10;
vector v[maxn];
vector h[maxn];
int dp[maxn];
//

int main(){
	int n,m,a,k;
	scanf("%d%d",&n,&m);
	for(int i=0;i<=n;i++) dp[i]=i;
	for(int i=0;i=r-1) printf("Yes\n");
			else printf("No\n");
		}
		
	}
	return 0;
}

 

你可能感兴趣的:(codeforce)