程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 2888 Check Corners(RMQ)

hdu 2888 Check Corners(RMQ)

編輯:C++入門知識

hdu 2888 Check Corners(RMQ)


題目鏈接:hdu 2888 Check Corners

題目大意:給定一個矩陣,每次查詢矩陣中的最大值,並且判斷該最大值是否在所查詢的角落上。

解題思路:一開始用線段樹,一維RMQ都超時了,然後換成了二維的RMQ,結果MLE,dp數組換成9?9就過了。

#include 
#include 
#include 

using namespace std;
const int maxn = 305;

int N, M, Q, g[maxn][maxn], dp[maxn][maxn][9][9];

void rmq_init(int n, int m) {
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++)
            dp[i][j][0][0] = g[i][j];
    }

    for (int x = 0; (1<

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved