Description

​ 丰泽爷今天也在愉快地玩Minecraft!

​ 现在丰泽爷有一块1∗N1∗N的空地,每个格子按照顺序标记为11到NN。丰泽爷想要在这块空地上铺上红石块、绿宝石块和钻石块作为装饰。每个格子只能选择一种方块。

​ 丰泽爷有自己的审美标准。他定下了MM条规定,每条规定形如(li,ri,xi)(li,ri,xi),表示闭区间[li,ri][li,ri]中,需要有恰好xixi种不同的方块。

​ 丰泽爷觉得这个任务实在是太简单了,于是把它交给了你,但是你发现有太多种方式可以满足丰泽爷的审美需求了!于是你希望先知道,一共有多少铺方块的方法,可以满足丰泽爷的审美需求?答案对109+7109+7取模

Input

​ 第一行两个整数,N,MN,M

​ 接下来MM行,每行三个整数li,ri,xili,ri,xi

Output

​ 一个整数,对109+7109+7取模后的答案

Sample Input

Case 1:
3 1
1 3 3 Case 2:
4 2
1 3 1
2 4 2 Case 3:
1 3
1 1 1
1 1 2
1 1 3 Case 4:
8 10
2 6 2
5 5 1
3 5 2
4 7 3
4 4 1
2 3 1
7 7 1
1 5 2
1 7 3
3 4 2

Sample Output

Case 1:
6 Case 2:
6 Case 3:
0 Case 4:
108

HINT

​ 1≤N,M≤3001≤N,M≤300

​ 1≤li≤ri≤N1≤li≤ri≤N

​ 1≤xi≤3

Sol

\(f[i][j][k]\)表示三种颜色最后一个出现位置时的方案数,我们把每个限制条件存到右端点中,每次暴力判断状态是否合法即可,不合法就置0,否则转移到下一位。

Code

#include <bits/stdc++.h>
using namespace std;
int f[305][305][305],n,m,ans,l,r,x;const int P=1e9+7;vector<pair<int,int> >v[305];
bool chk(int r,int g,int b)
{
for(int t=max(r,max(g,b)),i=0;i<v[t].size();i++)
{
int l=v[t][i].first,x=v[t][i].second,tot=(r>=l)+(g>=l)+(b>=l);
if(tot!=x) return 0;
}
return 1;
}
int main()
{
scanf("%d%d",&n,&m);f[0][0][0]=1;
for(int i=1;i<=m;i++) scanf("%d%d%d",&l,&r,&x),v[r].push_back(make_pair(l,x));
for(int r=0;r<=n;r++) for(int g=0;g<=n;g++) for(int b=0;b<=n;b++)
{
if(!f[r][g][b]) continue;
if(!chk(r,g,b)){f[r][g][b]=0;continue;}
int t=max(r,max(g,b))+1;if(t==n+1) ans=(ans+f[r][g][b])%P;
(f[t][g][b]+=f[r][g][b])%=P;(f[r][t][b]+=f[r][g][b])%=P;(f[r][g][t]+=f[r][g][b])%=P;
}
printf("%d\n",ans);
}

【arc074e】RGB Sequence dp的更多相关文章

  1. 【arc074e】RGB Sequence(动态规划)

    [arc074e]RGB Sequence(动态规划) 题面 atcoder 洛谷 翻译见洛谷 题解 直接考虑暴力\(dp\),设\(f[i][j][k][l]\)表示当前考虑到第\(i\)位,最后一 ...

  2. 【ARC074e】RGB sequence

    Description ​ 一排\(n\)个格子,每个格子可以涂三种颜色的一种.现在给出\(m\)个形如"\([l,r]\)中必须恰好有\(x\)种颜色"的限制(\(1 \le l ...

  3. 【XSY3209】RGB Sequence

    题目 传送门 解法 用\(f_{i, j, k}\)表示有\(i\)个红石块, \(j\)个绿宝石块, \(k\)个钻石块 可以转移到\(f_{p+1, j, k}\). \(f_{i, p+1,k ...

  4. 【arc071f】Infinite Sequence(动态规划)

    [arc071f]Infinite Sequence(动态规划) 题面 atcoder 洛谷 题解 不难发现如果两个不为\(1\)的数连在一起,那么后面所有数都必须相等. 设\(f[i]\)表示\([ ...

  5. 【BZOJ1367】[Baltic2004]sequence 左偏树

    [BZOJ1367][Baltic2004]sequence Description Input Output 一个整数R Sample Input 7 9 4 8 20 14 15 18 Sampl ...

  6. 【BZOJ3043】IncDec Sequence 乱搞

    [BZOJ3043]IncDec Sequence Description 给定一个长度为n的数列{a1,a2...an},每次可以选择一个区间[l,r],使这个区间内的数都加一或者都减一.问至少需要 ...

  7. 【题解】POJ1934 Trip (DP+记录方案)

    [题解]POJ1934 Trip (DP+记录方案) 题意: 传送门 刚开始我是这么设状态的(谁叫我DP没学好) \(dp(i,j)\)表示钦定选择\(i\)和\(j\)的LCS,然而你会发现这样钦定 ...

  8. 【C#】RGB,CMYK,HSB各种颜色表示的转换(转)

    [C#]RGB,CMYK,HSB各种颜色表示的转换   一.表示颜色的方式有很多种,如RGB,CMYK,HSB,Hex等等 1.RGB:这种表示颜色由三原色构成,通过红,绿,蓝三种颜色分量的不同,组合 ...

  9. T89353 【BIO】RGB三角形

    T89353 [BIO]RGB三角形 题解 对于这个题目有一个规律:  如果一个数列的长度为 3k+1(0<=k) 那么,这个数列最终缩放成的一个字母只和这个数列的首项,尾项有关 所以我们可以先 ...

随机推荐

  1. mysql int类型范围

    int范围 Type Bytes Minimum Value Maximum Value     (Signed/Unsigned) (Signed/Unsigned) TINYINT 1 -128 ...

  2. Java之IO输入输出

    首先介绍File类: 我们直接上代码: package com.learn.chap10.sec02; import java.io.File; import java.io.IOException; ...

  3. jquery-uploadify传参方法

    jquery-uploadify传参方法$(document).ready(function () { $("#uploadify").uploadify({ 'uploader' ...

  4. namespace mismatch错误处理方法

    在基于axis2进行WebService开发部署时(使用Java客户端调用服务)可能会报namespace mismatch require http://ws.apache.org/axis2 fo ...

  5. C++中使用TCP传文件

    在两个文件中都定义文件头和用到的宏: #define MAX_SIZE 10 #define ONE_PAGE 4096 struct FileHead { ]; int size; }; 在客户端发 ...

  6. Android剖析和运行机制

    Android剖析和运行机制 大纲: 1. Android剖析 Linux内核本地库(Native Libraries)Android运行时(Android Runtime)应用框架 2. Andro ...

  7. 08-Location总结图解

    URI解析  首先要判断有没有精准匹配,能不能精准匹配.计算机里面没有什么这种差不多这种东西.跟人聊天才说差不多,最近过得怎么样啊,还行吧,差不多吧,这个不多是多还是不多啊. 预定义库->Gen ...

  8. 258. Add Digits 数位相加到只剩一位数

    [抄题]: Given a non-negative integer num, repeatedly add all its digits until the result has only one ...

  9. CentOS集群自动同步时间的一种方法

    CentOS集群自动同步时间的一种方法 之前有篇日志是手动同步时间的 http://www.ahlinux.com/os/201304/202456.html 之所以这么干,是因为我们实验室的局域网只 ...

  10. sam格式详细说明

    原文链接 https://www.jianshu.com/p/386f520e5de1 The SAM Format Specification(sam格式说明) 1 The SAM Format S ...