限り998として、ACの家ではなく、2000年ではなく1000年ですか
この中小豆は心からアドバイスより高速な方法をORZを求めます
参考:https://www.cnblogs.com/DeaphetS/p/11229389.html
デジタルフィールドを取得しようといじり、転送はなりません。。
ショックを受け、4次元DP N4であることが判明
そして、_問題を解決するには違いはありませんが付属していますが、本当に速いボードは998msコードに持っていた迅速な読み取りを追加しました(:з「∠)_
#include <iostreamの> する#include <cstdioを> する#include <アルゴリズム> の#include <cmath> の#include <ユーティリティ> の#include <CStringの> する#include <cstdlib> の#include <ベクトル> 使用して 名前空間STD。 typedefの長い 長いLL。 INTのN、M、T。 ベクター <ペア< 整数、整数 >> RQ [ 101 ]。 constの LL MOD = 998244353 ; LLのD [ 101 ] [ 101 ] [ 101 ] [ 2]; インラインチャーNC(){ 静的 チャー BUF [ 100000 ]、* P1 = BUF、* P2 = BUF。 リターンのP1 == p2の&&(P2 =(P1 = BUF)+のfread(bufは、1、100000、STDIN)、P1 == P2)EOF:* P1 ++? 。 } インラインint型RD(){ CHAR CH = NC()。int型の合計= 0 ; しばらく(!(CH> = ' 0 ' && CH <= ' 9 '))CH = NC(); 一方、(CH> = ' 0 ' && CH <= ' 9 ')合計=合計* 10 + CH- 48、CH = NC()。 戻り値の合計。 } INT (メイン) { T = RD()。 一方、(t-- ){ N = RD(); M = RD()。 int型共同= N; 以下のために(int型 i = 1 ; iが<= N; iは++ ){ RQ [I] .clear(); RQ [I] .push_back({I、1 })。 } のための(int型 I = 1 ; I <= M; iが++ ){ int型L、X、R。 L = RD(); R = RD(); X = RD()。 RQ [R] .push_back({1、X})。 } のmemset(D、0、はsizeof (d)参照)。 D [ 0 ] [ 0 ] [ 0 ] [ 0 ] = 1 。 ため(intは今= 1 ;今<= N;今++ ){ BOOLの GAL =今&1 。 以下のために(int型私= 0 ;私は今= <;私は++ ) のために(int型J =; J <=今; J ++ ) のための(INT K = J、K <=今; ++ k個) D [i]は[J] [K] [GAL] = 0 ; 用(int型 iは= 0 ;私は今= <Iは++ ) のため(int型 J = I; J <=今、J ++ ) のための(INT K = J; =今<Kあり、k ++ ){ D [i]は[J] [今 - 1 ] [ガロン] =(D [i]は[J] [K] [GAL ^ 1 ] + D [i]は[J] [今- 1 ] [ガロン])%MOD。 D [j] [k]の[今 - 1 ] [ガロン] =(D [i]は[J] [K] [GAL ^ 1 ] + D [j] [k]の[今- 1 ] [ガロン])%モッズ; D [i]は[K] [今 - 1 ] [ガロン] =(D [i]は[J] [K] [GAL ^ 1 ] + D [i]の[K] [今- 1 ] [ガロン])%モッズ; D [i]は[J] [K] [GAL] =(D [i]は[J] [K] [GAL ^ 1 ] + D [i]は[J] [K] [GAL])%MOD。 } のために(int型 i = 0 ; iは今= <; iは++ ) のため(int型 J = I; J <=今、J ++) のため(のint、K = J。K <=今。K ++ ) 用(オートP:RQ [今]) の場合((p.first <= I)+(p.first <= J)+(p.first <= K)+(p.first <=今)! = p.second) D [i]は[J] [K] [GAL] = 0 ; } LL ANS = 0 。 以下のために(int型 i = 0 ; iは= N <I ++ ) のための(INT J = I; J <= N; J ++ ) のために(INT K = J、K <= N; ++ k個) ANS =(ANS + D [i]は[J] [K] [N - 1 ])%MOD。 printf(" %LLDする\ n " 、ANS)。 } 戻り 0 。 }
書き込みに書き込むためのペアを取るために、ベクトルをやってみたかった、残念ながら実際に達成することはできません。。