10559 - Blocks(方块消除|DP)】的更多相关文章

题目大意:给定一序列,可点击某一位置消除与其相邻且相同的方块,得分为$len*len$,求最大得分. 解题关键:关键是状态的构造,首先离散化一下,令$dp[i][j][k]$表示序列$i-j$且后面有$k$个与该序列最后位置相同的元素, 则$dp[i][j][k]$可以由两种情况转化而来, 1.最后一部分自己消除 $dp[i][j][k]=dp[i][j-1][0]+(k+len[j])*(k+len[j])$ 2.最后一部分和该序列中前面的某一部分消除,假设坐标pos与r颜色相同 $dp[i]…
题目描述 Jimmy最近迷上了一款叫做方块消除的游戏.游戏规则如下:n个带颜色方格排成一列,相同颜色的方块连成一个区域(如果两个相邻方块颜色相同,则这两个方块属于同一区域).为简化题目,将连起来的同一颜色方块的数目用一个数表示. 例如,9 122233331表示为 4 1 2 3 1 1 3 4 1 游戏时,你可以任选一个区域消去.设这个区域包含的方块数为x,则将得到x^2个分值.方块消去之后,其余的方块就会竖直落到底部或其他方块上.而且当有一列方块被完全消去时,其右边的所有方块就会向左移一格.…
该题乍一看和矩阵链乘非常类似,但是有一个不同之处就是该题能够拼接 .   为了达到这个目的.我们不得不拓展维度d[i][j][k].用一个k表示最右边拼接了k个和a[j]同样颜色的方块. 问题的关键在于拼接,当右边存在一个q < p 且 a[q] == q[j] && a[q] != a[q+1] 时,能够拼接.要注意,全部满足这个条件的q都应该递归求解,由于哪一部分拼接起来更好,是不一定的 . 细节见代码: #include<bits/stdc++.h> using n…
Online Judge:P2135 方块消除(这题不用预处理) Label:区间Dp 题目描述 Jimmy最近迷上了一款叫做方块消除的游戏.游戏规则如下:n个带颜色方格排成一列,相同颜色的方块连成一个区域(如果两个相邻方块颜色相同,则这两个方块属于同一区域).为简化题目,将连起来的同一颜色方块的数目用一个数表示. 例如,9 122233331表示为 4 1 2 3 1 1 3 4 1 游戏时,你可以任选一个区域消去.设这个区域包含的方块数为x,则将得到\(x^2\)个分值.方块消去之后,其余的…
成绩单 $f[l][r][mi][mx]$表示从l到r发到还没发的部分的最小值为mi最大值为mx时的最小代价. $f[l][r][0][0]$表示从l到r全部发完的代价. 自己写的无脑dp,枚举中转点k,分成(i,k) (k+1,j)两个区间,分别用mi,mx都在左区间,都在右区间,一个左一个右来转移,这样会发现可以转移过来的都是某个一维或者二维前缀和的形式,于是我开了四个二维数组,暴力维护了6个前缀和更新答案... 然后代码就比较鬼畜 //Achen #include<algorithm>…
题目描述 Jimmy最近迷上了一款叫做方块消除的游戏.游戏规则如下:n个带颜色方格排成一列,相同颜色的方块连成一个区域(如果两个相邻方块颜色相同,则这两个方块属于同一区域).为简化题目,将连起来的同一颜色方块的数目用一个数表示. 例如,9 122233331表示为 4 1 2 3 1 1 3 4 1 游戏时,你可以任选一个区域消去.设这个区域包含的方块数为x,则将得到x^2个分值.方块消去之后,其余的方块就会竖直落到底部或其他方块上.而且当有一列方块被完全消去时,其右边的所有方块就会向左移一格.…
Blocks题解 区间dp 阅读体验...https://zybuluo.com/Junlier/note/1289712 很好的一道区间dp的题目(别问我怎么想到的) dp状态 其实这个题最难的地方是这道题目的状态怎么设 首先既然是区间dp,那肯定最先想到的状态是 \(dp[i][j]\)表示消掉区间\([i,j]\)上所有的块的最大分数 突然发现这个状态会受区间外和\(i\)或\(j\)颜色相同的块的影响 并且转移也并不好转移=_= 所以我们考虑换一种状态... 既然说会受到外面的块的影响?…
Sue的小球 名次排序问题 方块消除 奥运物流 Sue的小球 题目大意 有 \(n\) 个小球在下落,初始位置 \((x_i,y_i)\),下落速度为 \(v_i\).你初始位置在 \(x_0\),速度为 \(1\).我们定义一个小球的贡献为接到它的时候它的纵坐标.问接到每个小球(接只接一次)的贡献之和的最大值. \(n\le 10^3\). 思路 算是为dp开了另外一种思路. 首先你发现,我们贪心一下,肯定每次选没选且最靠近当前位置的小球,具体证明不是很难.形式化一下,就是说按横坐标排序之后,…
玩过方块消除游戏吗?现在规定当有两个或两个以上相邻且颜色相同的方块在一起的时候,它们就会产生消除反应.当存在多个消除反应同时产生时,最下的反应先执行.现在只给你其中一列,求最后剩下的方块结果. 输入要求 第一行是一个整数T(T<=100),表示有T组测试数据.每组测试数据一行.每行有一串数字(数字长度<=1,000,000),按从下往上给出一列方块的颜色(颜色用0-9表示,每个数字代表一种颜色).(数字长度大于100,000的不超过5组) 输出要求 输出消除后的结果. 测试数据示例 输入 21…
Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4250   Accepted: 1704 Description Some of you may have played a game called 'Blocks'. There are n blocks in a row, each box has a color. Here is an example: Gold, Silver, Silver, Sil…