[JSOI2007] 祖玛 (区间DP)】的更多相关文章

题目描述 这是一个流行在Jsoi的游戏,名称为祖玛. 精致细腻的背景,外加神秘的印加音乐衬托,彷佛置身在古老的国度里面,进行一个神秘的游戏——这就是著名的祖玛游戏.祖玛游戏的主角是一只石青蛙,石青蛙会吐出各种颜色的珠子,珠子造型美丽,并且有着神秘的色彩. 环绕着石青蛙的是载着珠子的轨道,各种颜色的珠子会沿着轨道往前滑动,石青蛙必需遏止珠子们滚进去轨道终点的洞里头,如何减少珠子呢?就得要靠石青蛙吐出的珠子与轨道上的珠子相结合,颜色相同者即可以消失得分!直到轨道上的珠子通通都被清干净为止. 或许你并…
[BZOJ 1032][JSOI 2007]祖玛 Description https://www.lydsy.com/JudgeOnline/problem.php?id=1032 Solution 1.考虑初始化的方式. 由于同色转移起来复杂,我们考虑把相邻的同色的球缩成一个球,记录下缩后的球代表的原来的个数. 这时我们考虑对刷的表的初始化,f[L][R]表示[L,R]区间中需要打入的最小珠子数. 由于是最小个数答案,所以全部初始化为正无穷,但对于缩后的状态,我们考虑不受其他合并时影响的结果:…
题目链接 BZOJ 洛谷 AC代码: 区间DP,f[i][j]表示消掉i~j需要的最少珠子数. 先把相邻的相同颜色的珠子合并起来. 枚举方法一样,处理一下端点可以碰撞消除的情况就行. 当然合并会出现问题,比如有多个同色珠子但是可以分配给两边分别匹配,比如:https://www.luogu.org/discuss/show/8416?page=1. 没办法 写不对. 注意颜色还可能是非正数. //1820kb 108ms #include <cstdio> #include <cctyp…
题意 有一个长度为n的01串,我们可以在某个地方插入一个0或者1,那么如果有连续颜色相同的>=3个,那么这段就会消去,两边的合拢.问将所有01串消去,最少需要插入多少个.(n<=200) 分析 肯定会考虑区间DP 将连续的0或者1缩起来,a[i]表示i位置的个数(要么1个要么2个) 容易分析转移的话有以下两种 1.直接将区间[i,j]分成两半,各自合并,即dp[i][j]=min(dp[i][k]+dp[k+1][j]) 2.将中间的一部分合并掉,两边直接对碰消去,即dp[i][j]=min(…
问题描述 LG2145 题解 把颜色相同的一段看做一个点. 然后类似于合唱队区间DP即可. 但是这题好像出过一些情况,导致我包括题解区所有人需要特判最后一个点. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; template <typename Tp> void read(Tp &x){ x=0;char ch=1;int fh; while(ch!='-'&&(ch<'0…
[BZOJ1032][JSOI2007]祖玛(动态规划) 题面 BZOJ 洛谷 题解 听说是道假题,假的原因是因为出题人可能没有考虑到祖玛的骚套路,比如可以先打几个球进去再一波消掉.也就是出题人基本默认了打一个球就至少要消去一段. 我们就这么做,那么就是个区间\(dp\)模板题了. #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define MAX 505 inli…
一.区间DP解题时常见思路 如果题目中答案满足: 大的区间的答案可以由小的区间答案组合或加减得到 大的范围可以由小的范围代表 数据范围较小 我们这时可以考虑采用区间DP来解决. 那么常见的解法有两种: 1.用小的区间组合松弛大的区间,即枚举断点,分割区间,与答案取优. 2.用比当前区间略小的区间转移,用一些区间边界代表转移用的性质,通过常数的加减得到答案. 二.相关题目 下面我们通过一些题目来体验两中解法,笔者认为的难度用*的个数表示. 解法1的题目: 1.***[BZOJ 4350]括号序列再…
题目大意:依照祖玛的玩法(任意选颜色),给出一段区间.问最少用多少个球可以把全部颜色块都消除. 思路:把输入数据依照连续的块处理.保存成颜色和数量.然后用这个来DP.我们知道,一个单独的块须要两个同样的颜色能够消去,对于这种块f[i][i] = 2.其余的>=2个的块仅仅须要一个,这种块f[i][i] = 1. 转移就比較简单了,依照区间DP的一般思想,最外层循环的是区间长度.中间循环的是起始位置,最后循环的是松弛变量. 特殊情况是这个区间的两边是同一种颜色,多加一个转移方程. CODE: #i…
4380: [POI2015]Myjnie Time Limit: 40 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 162  Solved: 82[Submit][Status][Discuss] Description 有n家洗车店从左往右排成一排,每家店都有一个正整数价格p[i].有m个人要来消费,第i个人会驶过第a[i]个开始一直到第b[i]个洗车店,且会选择这些店中最便宜的一个进行一次消费.但是如果这个最便宜的价格大于c[i],…
Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5252   Accepted: 2165 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…