AT2567-[ARC074C]RGB Sequence【dp】
正题
题目链接: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(i>j>k)i,j,k(i>j>k)i,j,k(i>j>k)(不需要考虑这个三个位置具体的颜色,只需要用这些位置的颜色不同这一信息)
然后每次dpdpdp完到右端点把不合法的判掉就好了。
时间复杂度O(n3+mn2)O(n^3+mn^2)O(n3+mn2)
code
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define mp(x,y) make_pair(x,y)
#define ll long long
using namespace std;
const ll N=310,P=1e9+7;
ll n,m,f[N][N][N],ans;
vector<pair<ll,ll> >q[N];
signed main()
{scanf("%lld%lld",&n,&m);n+=2;for(ll i=1;i<=m;i++){ll l,r,k;scanf("%lld%lld%lld",&l,&r,&k);l+=2;r+=2;q[r].push_back(mp(l,k));} f[2][1][0]=1;for(ll i=3;i<=n;i++){for(ll j=1;j<i;j++)for(ll k=0;k<j;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 z=0;z<q[i].size();z++){ll l=q[i][z].first,w=q[i][z].second;for(ll j=1;j<i;j++)for(ll k=0;k<j;k++)if(1+(j>=l)+(k>=l)!=w)f[i][j][k]=0;}}for(ll i=1;i<n;i++)for(ll j=0;j<i;j++)(ans+=f[n][i][j])%=P;printf("%lld\n",ans);return 0;
}
AT2567-[ARC074C]RGB Sequence【dp】相关推荐
- [ARC074C] RGB Sequence(dp)
[ARC074C] RGB Sequence Solution 显然是一道dpdpdp,我们发现直接维护当前状态有多少种颜色不好维护,因为颜色只有333种,所以可以直接记录每一种颜色最晚在哪里出现,令 ...
- 【DP】【期望】$P1850$换教室
[DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...
- Bailian2760 数字三角形【DP】
2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...
- NUC1131 Triangle【DP】
Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...
- LeetCode:完全平方数【279】【DP】
LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...
- 【DP】序列 题解
[DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...
- Codeforces 1000D Yet Another Problem On a Subsequence 【dp】【组合数学】
难点在于怎么想dp,我一开始想dp[i][j]代表前i个数挑j个能组成多少个good sebsequence,最后把dp[n][ 2到n ]加起来就行,但想不出来转移方程怎么做.后来想到我这么想是不对 ...
- poj 2411 Mondriaan#39;s Dream 【dp】
题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...
- BestCoder冠军赛 - 1005 Game 【DP】
[题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...
最新文章
- 史上最全的git 常用命令集合
- postgresql 备份恢复(一)
- .bat文件该图标_电脑桌面图标变成白色方块图标怎么办?
- 阿里忘禅:蚂蚁集团分布式注册中心建设分享
- (一)开始使用混合边缘AI进行面部识别
- PyTorch(总)---PyTorch遇到令人迷人的BUG与记录
- Azure Linux VM密钥登录
- 5分钟学会制作自动化脚本——自动化脚本辅助开发IDE——Selenium IDE介绍(测试工程师必备)
- Springboot整合kafka
- 李春华:B2C商城做SEO的九个常见目标定位
- 做擦边网站 服务器放在狗爹,在GoDaddy搭建Prosper202服务器
- CCS 3.3 创建DSP TMSC6726B工程
- Linux+宝塔安装swoole教程
- AI System 人工智能系统 TVM深度学习编译器 DSL IR优化 计算图 编译 优化 内存内核调度优化 DAG 图优化 DFS TaiChi 函数注册机 Registry
- 【HTML】常见的块元素,行内元素,行内块元素有哪些?
- [项目管理]敏捷宣言
- 辩证法中包括一个关系、两大特征、三大规律、四种方法、五对范畴
- macos iTerm2 优化
- 自制批量SVG矢量图转普通图片格式小工具
- 《21天学通Java(第7版)》—— 第2章 Java编程基础 2.1 语句和表达式
热门文章
- 计算机视觉招聘_INDEMIND|SLAM、计算机视觉、深度学习算法招聘(社招实习)
- spring 单例 获取多例的位_Spring系列第6篇:玩转bean scope,避免跳坑里!
- $.ajax datatype默认是什么类型,理解jquery ajax中的datatype属性选项值
- 信管专业c语言考什么,计算机信息管理专业卫生事业单位招聘考试笔试模拟题(十)...
- vuex保存用户信息_Vuex状态管理
- c语言实现灰度图像阈值分割,灰度图像--图像分割 阈值处理之平均阈值
- [MyBatisPlus]代码生成器
- [mybatis]Mapper XML Files_CUD
- [剑指offer]面试题19:二叉树的镜像
- 《C++ Primer》14.1节练习