摘要:
出这种麻将题有意思吗? 乍看很难实则很水,就是麻将式DP,想必大家很熟悉了吧。首先把“国士无双”和“七对子”两种牌型判掉,然后观察牌胡的形式,发现每多一张牌实际上就是把1个面子变成1个杠子,然后可以直接DP啦!f[i][j][k][p][q]表示到第i种牌型,(i-2,i-1,i)有j个,(i-1, 阅读全文
posted @ 2019-05-12 17:12
hfctf0210
阅读(314)
评论(0)
推荐(0)
摘要:
首先看到与或,很显然想到按照位拆分运算。然后就变成了0/1矩阵,要使矩阵在当前位与为1,则矩阵全为1,如果是或为1,则是矩阵不全为0,然后求全为0/1的矩阵个数即可。记录c[i][j]表示以a[i][j]在该位向上0/1的长度。然后对于每一行,单调栈求解即可。 #include<bits/stdc+ 阅读全文
posted @ 2019-05-12 17:07
hfctf0210
阅读(262)
评论(0)
推荐(0)
摘要:
要想让一个位置作为最小循环,其必须是最小后缀,然后一个字符串的最小后缀不超过O(logn)个,于是维护备选集合即可。 然而要在O(n)复杂度求解,需要求出原串后缀与原串的LCP长度,需要用Z-algorithm。而此时由于备选后缀存在前缀关系,比较时只需用到每个后缀与原串的LCP #include< 阅读全文
posted @ 2019-05-12 17:05
hfctf0210
阅读(572)
评论(0)
推荐(0)

浙公网安备 33010602011771号