[ABC266G] Yet Another RGB Sequence】的更多相关文章

[arc074e]RGB Sequence(动态规划) 题面 atcoder 洛谷 翻译见洛谷 题解 直接考虑暴力\(dp\),设\(f[i][j][k][l]\)表示当前考虑到第\(i\)位,最后一个红绿蓝色出现的位置是哪里,发现显然\(i=max(j,k,l)\),所以只有三维了,直接\(dp\)即可.至于限制每次在右端点考虑一下就好了. #include<iostream> #include<cstdio> #include<vector> using names…
[Arc074E] RGB Sequence Description 今天也在愉快地玩Minecraft!现在MM有一块1?N的空地,每个格子按照顺序标记为1到N.MM想要在这块空地上铺上红石块.绿宝石块和钻石块作为装饰.每个格子只能选择一种方块.MM有自己的审美标准.他定下了M条规定,每条规定形如(li,ri,xi),表示闭区间[li,ri]中,需要有恰好xi种不同的方块.MM觉得这个任务实在是太简单了,于是把它交给了你,但是你发现有太多种方式可以满足MM的审美需求了!于是你希望先知道,一共有…
Problem Statement There are N squares arranged in a row. The squares are numbered 1, 2, …, N, from left to right. Snuke is painting each square in red, green or blue. According to his aesthetic sense, the following M conditions must all be satisfied.…
正题 题目链接:https://www.luogu.com.cn/problem/AT2567 题目大意 长度为\(n\)的包含三种颜色\(RGB\)的序列,\(m\)个限制\([l,r,k]\)表示区间\(l\sim r\)恰好有\(k\)种颜色. 求方案数 \(1\leq n\leq 300\) 解题思路 很水的题是吧,设\(f_{i,j,k}\)表示最近三种颜色出现位置依次是\(i,j,k(i>j>k)\)(不需要考虑这个三个位置具体的颜色,只需要用这些位置的颜色不同这一信息) 然后每次…
正解:计数dp 解题报告: 传送门! umm其实我jio得dp的题目的话就难在思想昂,,,知道状态知道转移就不难辣QAQ 所以就不说别的了直接写下思路放下代码就over辣QAQ 最基础的思想就是f[i][j][k][p]:dp到第i个点了,第一种颜色最后一次出现在j第二种在k第三种在p的方案数 然后考虑显然到i一定会等于jkp中的一个鸭,所以就可以降一维,i=max{j,k,p} 然后就欧克辣? #include<bits/stdc++.h> using namespace std; #def…
题目链接 AtCoder:https://arc074.contest.atcoder.jp/tasks/arc074_c 洛谷:https://www.luogu.org/problemnew/show/AT2567 Solution 这算是\(\rm AtCoder\)里非常清新的一道题了... 不难想到设\(f[i][r][g][b]\)表示当前\(dp\)到第\(i\)位,最后一个红色在\(r\)位置,\(g,b\)同理. 可以注意到\(\max(r,g,b)=i\),所以可以省掉第一维…
Description ​ 一排\(n\)个格子,每个格子可以涂三种颜色的一种.现在给出\(m\)个形如"\([l,r]\)中必须恰好有\(x\)种颜色"的限制(\(1 \le l \le r \le n, 1 \le x \le 3\)). ​ 求一共有多少种满足所有限制的合法涂色方案. ​ 答案对\(10^9+7\)取模. Solution ​ 首先要想到状态表示法,如何表示才能适应这些限制呢?由于是限制颜色种类数,可以考虑最早出现位置这类套路. ​ 设\(f_{i,j,k}\)表…
Description ​ 丰泽爷今天也在愉快地玩Minecraft! ​ 现在丰泽爷有一块1∗N1∗N的空地,每个格子按照顺序标记为11到NN.丰泽爷想要在这块空地上铺上红石块.绿宝石块和钻石块作为装饰.每个格子只能选择一种方块. ​ 丰泽爷有自己的审美标准.他定下了MM条规定,每条规定形如(li,ri,xi)(li,ri,xi),表示闭区间[li,ri][li,ri]中,需要有恰好xixi种不同的方块. ​ 丰泽爷觉得这个任务实在是太简单了,于是把它交给了你,但是你发现有太多种方式可以满足丰…
---题面--- 题解: 首先,有一个不太直观的状态,f[i][j][k][l]表示DP到i位,三种颜色最后出现的位置分别是j, k, l的方案数.因为知道了三种颜色最后出现的位置,因此也可以得知以当前点为右端点的区间内有几种颜色了,因为左端点不断向左扩张的时候,颜色数不会减少. 然后考虑优化这个状态,观察到因为每一位都必须有一个颜色,所以这3种颜色当中最后出现的那个所在的位置一定是当前的i.因此我们就可以去掉i,所以复杂度变成了$n^3$,就可以过此题了. 每次转移之前判断一下是否满足当前右端…
题目传送门:https://arc074.contest.atcoder.jp/tasks/arc074_c 题目翻译 给你一行\(n\)个格子,你需要给每个格子填红绿蓝三色之一,并且同时满足\(m\)个约束.每个约束由\(l,r,x\)来形容,表示\(l\)到\(r\)之间的所有格子颜色种数必须为\(x\),求方案数.\(n,m\leqslant 300\) 题解 设\(f[i][j][k]\)表示当前已经涂到了\(x=max\){\(i,j,k\)},最后一个红色格子在\(i\),最后一个绿…