hdu6578
###name
Blank
###description
There are N blanks arranged in a row. The blanks are numbered 1,2,…,N from left to right.
Tom is filling each blank with one number in {0,1,2,3}. According to his thought, the following M conditions must all be satisfied. The ith condition is:
There are exactly $x_i$ different numbers among blanks $∈[l_i,r_i]$.
In how many ways can the blanks be filled to satisfy all the conditions? Find the answer modulo 998244353.
###input
The first line of the input contains an integer T(1≤T≤15), denoting the number of test cases.
In each test case, there are two integers n(1≤n≤100) and m(0≤m≤100) in the first line, denoting the number of blanks and the number of conditions.
For the following m lines, each line contains three integers l,r and x, denoting a condition(1≤l≤r≤n, 1≤x≤4).
###output
For each testcase, output a single line containing an integer, denoting the number of ways to paint the blanks satisfying all the conditions modulo 998244353.
###sample input
2
1 0
4 1
1 3 3
###sample output
4
96
###toturial
设dp[a][b][c][d]为填完前d个数之后0,1,2,3最后出现的位置为a,b,c,d且前a个位置都满足题意的方案数,于是我们就可以转移了,注意到0,1,2,3具有轮换对称性,那么dp一定也有他的规律,举个很简单的例子dp[9][3][5][7]和dp[9][7][5][3]一定是相等的,于是我们可以对b,c,d排序来进一步压缩状态,可以提高程序的速度,时间复杂度$n^4$,空间上滚动即可达到$n^3$的复杂度
###code
1 |
|