【agc013d】AtCoder Grand Contest 013 D - Piling Up
题意
盒子里有n块砖,每块的颜色可能为蓝色或红色。
执行m次三步操作:
1.从盒子里随便拿走一块砖
2.放入一块蓝砖和红砖到盒子里
3.从盒子里随便拿走一块砖
给定n,m
问拿出来的砖,可能有多少种不同的颜色序列。
n,m<=3000
解法
容易想到一个dp,
设f[i][j]表示已经执行了i次的操作,然后目前盒子里有j块蓝砖,和n-j块红砖。
共有四种转移,分别是一次操作拿走的砖头为红红、红蓝、蓝红、蓝蓝。
边界为f[0][0..n]=1
然后就会发现算重了,
这是因为不同的颜色序列可能会有不同的起始蓝砖数。
那么我们对于一个颜色序列,我们只在它的起始蓝砖数最小的场合统计。
对于最小的起始蓝砖数,m次操作过程中一定有一时刻蓝砖数为0。
因为如果没有,说明起始蓝砖数还可以减去整个过程中的最小蓝砖数。
然后只要给f设多一维0/1表示,执行了i次操作后,有没有经过蓝砖数为0的时刻。
答案就是\(\sum f[m][i][0]\)
【agc013d】AtCoder Grand Contest 013 D - Piling Up的更多相关文章
- 【贪心】【堆】AtCoder Grand Contest 018 C - Coins
		只有两维的时候,我们显然要按照Ai-Bi排序,然后贪心选取. 现在,也将人按照Ai-Bi从小到大排序,一定存在一个整数K,左侧的K个人中,一定有Y个人取银币,K-Y个人取铜币: 右侧的X+Y+Z-K个 ... 
- 【贪心】AtCoder Grand Contest 018 B - Sports Festival
		假设我们一开始选取所有的运动项目,然后每一轮将当前选择人数最多的运动项目从我们当前的项目集合中删除,尝试更新答案.容易发现只有这样答案才可能变优,如果不动当前选取人数最多的项目,答案就不可能变优. 我 ... 
- 【GCD】AtCoder Grand Contest 018 A - Getting Difference
		从大到小排序,相邻两项作差,求gcd,如果K是gcd的倍数并且K<=max{a(i)},必然有解,否则无解. 可以自己手画画证明. #include<cstdio> #include ... 
- 【agc019f】AtCoder Grand Contest 019 F - Yes or No
		题意 有n个问题答案为YES,m个问题答案为NO. 你只知道剩下的问题的答案分布情况. 问回答完N+M个问题,最优策略下的期望正确数. 解法 首先确定最优策略, 对于\(n<m\)的情况,肯定回 ... 
- 【AtCoder】AtCoder Grand Contest 035 解题报告
		点此进入比赛 \(A\):XOR Circle(点此看题面) 大致题意: 给你\(n\)个数,问是否能将它们摆成一个环,使得环上每个位置都是其相邻两个位置上值的异或值. 先不考虑\(0\),我们假设环 ... 
- 【AtCoder】AtCoder Grand Contest 040 解题报告
		点此进入比赛 \(A\):><(点此看题面) 大致题意: 给你一个长度为\(n-1\).由\(<\)和\(>\)组成的的字符串,第\(i\)位的字符表示第\(i\)个数和第\( ... 
- 【AtCoder】AtCoder Grand Contest 039 解题报告
		点此进入比赛 \(A\):Connection and Disconnection(点此看题面) 大致题意: 给你一个字符串,将它重复\(k\)次.进行尽量少的操作,每次修改一个位置上的字符,使得不存 ... 
- AtCoder Grand Contest 013 C:Ants on a Circle
		题目传送门:https://agc013.contest.atcoder.jp/tasks/agc013_c 题目翻译 给你一个周长为\(L\)的圆,有\(N\)只蚂蚁在圆上爬,速度为一单位距离每秒. ... 
- AtCoder Grand Contest 013 E - Placing Squares
		题目传送门:https://agc013.contest.atcoder.jp/tasks/agc013_e 题目大意: 给定一个长度为\(n\)的木板,木板上有\(m\)个标记点,距离木板左端点的距 ... 
随机推荐
- JavaScript中的文档对象模型
			1. DOM基本介绍1 什么是DOMDOM的英语全称为Document Object Model,翻译成中文就 是文档对象模型.也就是说,将整个文档看作是一个对象.而一个文档又是由很多节点组成的, 那 ... 
- django2 rest api
			版本django 2.2.3,我用的社区版 1.安装django:pycharm——Settings——Project Interpreter——选择你要的Python解释器版本——点击右侧的加号,输 ... 
- 深刻理解Vue中的组件
			转载:https://segmentfault.com/a/1190000010527064 --20更新: Vue2.6已经更新了关于内容插槽和作用域插槽的API和用法,为了不误导大家,我把插槽的内 ... 
- jquery判断是pc端还是移动端
			原文地址:https://www.cnblogs.com/mo-cha/p/6038872.html $(function(){ var system = { win: false, mac: fal ... 
- 4_3.springboot2.x之默认访问首页和国际化
			1.默认访问首页 1.引入thymeleaf和引入bootstrap <!--引入thymeleaf--> <dependency> <groupId>org.sp ... 
- <每日一题>题目1:简单的注册和登录1.0
			#版本1.0,最基本的注册登录'''1.注册,将账号和密码分别写在不同的文档里面2.登录,分别从账户文档和密码文档进行读取并登录''' #注册 Identity = input("请输入您想 ... 
- js字符实体  转义字符串
			HTML字符实体(Character Entities),转义字符串(Escape Sequence) 为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,> ... 
- 【主席树】 [CQOI2015]任务查询系统
			模板题... 差分,然后用主席树维护时间点上的优先值和就好了 就是细节烦... #include<bits/stdc++.h> #define int long long #define ... 
- 满血复活前的记录(持续更新ing)
			时隔一年重新开启算法竞赛征程. 该记录大多为老课件.已经做过的习题重做和已经看过的书本重看 7.21 下午到山大 娄晨耀basic_algorithm课件中的内容: 复习线性筛原理 复习差分 做完Co ... 
- vue+ivew使用Collapse 折叠面板把全部面板展开
			1.需求: 在使用搜索功能时候,只显示搜索到的panel并且将搜索到的含有该专家的panel展开,如图 1.html,注意黄色部分,作为每个panel的key值,要唯一 ... 
