单一产品销售网站建设模板在线网页游戏免费玩
单一产品销售网站建设模板,在线网页游戏免费玩,网页联系我们怎么做,厦门网站搜索优化正题
题目链接:https://www.luogu.com.cn/problem/AT2567 题目大意
长度为nnn的包含三种颜色RGBRGBRGB的序列#xff0c;mmm个限制[l,r,k][l,r,k][l,r,k]表示区间l∼rl\sim rl∼r恰好有kkk种颜色。 求方案数 1≤n≤3001\leq n\leq 3001≤n≤300 解题思路
很水的题是吧…正题
题目链接:https://www.luogu.com.cn/problem/AT2567 题目大意
长度为nnn的包含三种颜色RGBRGBRGB的序列mmm个限制[l,r,k][l,r,k][l,r,k]表示区间l∼rl\sim rl∼r恰好有kkk种颜色。 求方案数
1≤n≤3001\leq n\leq 3001≤n≤300 解题思路
很水的题是吧设fi,j,kf_{i,j,k}fi,j,k表示最近三种颜色出现位置依次是i,j,k(ijk)i,j,k(ijk)i,j,k(ijk)不需要考虑这个三个位置具体的颜色只需要用这些位置的颜色不同这一信息
然后每次dpdpdp完到右端点把不合法的判掉就好了。
时间复杂度O(n3mn2)O(n^3mn^2)O(n3mn2) code
#includecstdio
#includecstring
#includealgorithm
#includequeue
#define mp(x,y) make_pair(x,y)
#define ll long long
using namespace std;
const ll N310,P1e97;
ll n,m,f[N][N][N],ans;
vectorpairll,ll q[N];
signed main()
{scanf(%lld%lld,n,m);n2;for(ll i1;im;i){ll l,r,k;scanf(%lld%lld%lld,l,r,k);l2;r2;q[r].push_back(mp(l,k));} f[2][1][0]1;for(ll i3;in;i){for(ll j1;ji;j)for(ll k0;kj;k){(f[i][i-1][j]f[i-1][j][k])%P;(f[i][i-1][k]f[i-1][j][k])%P;(f[i][j][k]f[i-1][j][k])%P;}for(ll z0;zq[i].size();z){ll lq[i][z].first,wq[i][z].second;for(ll j1;ji;j)for(ll k0;kj;k)if(1(jl)(kl)!w)f[i][j][k]0;}}for(ll i1;in;i)for(ll j0;ji;j)(ansf[n][i][j])%P;printf(%lld\n,ans);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87627.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!