【每日一题】7月20日题目精讲—着色方案


活动时间:7月7日起至9月1日
活动内容:写当日题解,活动时间内一共写满30篇每日一题的题解
活动奖励:即可额外获得牛客T恤一件
活动目的:滴滴滴~想充实的过完这个暑假嘛~快来写每日一题~每天都要进步喔~提升自己的同时还有超多福利喔~


每日一题交流群,群内定期有福利发放,群号:659028468

今日每日一题预告

题号 NC20265
名称 [SCOI2008]着色方案
来源 [SCOI2008]
戳我进入往期每日一题汇总贴~
往期每日一题二期题单

图片说明

如果你在题库做题时遇到了喜欢的题目,欢迎推荐给邓老师~ 点击查看详情

题解

作为一个dp,想到一个合适的状态是一件很重要的事情,对于这一个题来说,这确实也是做dp最难的一点……对于百分之五十的数据,我们当然可以最简单的用f[i][j][k][l][m]表示每一种种颜色分别剩i,j,k,l,m个的方案数,但是还有百分之五十数据就没办法了……但是ACM又不是oi可以骗分。
再看看数据范围——ci是小于5的,这样的范围大概率都有提示意义,如果你对于数据范围很敏感,你就大概能够想到这样一个状态了:若每种颜色剩余能涂的木板数记为Ci那么f[a][b][c][d][e][last]表示C值为1的颜料有a种,C值为2的颜料有a种……最后一个格子颜色的C值是last!
所以:


(写成记忆化搜索的话转移方程会简洁一点,大家可以自行探索)

如果你对排列组合比较熟悉,还有一种方法:
f[i][j]为,用前i种颜色的所有颜料涂色,其中有j个相邻的颜色是一样,这个时候如果要加入一个颜色,即在前i种颜色的sum[i](前缀和)个格子里面插入c[i+1]个第i+1种颜色的格子,插入的时候,我们让c[i+1]个格子分成x段,有C(c[i+1]-1,x-1)种划分方法(隔板法)。且***去的时候隔开了y个原来相同的格子,还是用隔板法——分开相邻的y个需要在j个相邻颜色一样的空位里面挑y个插入,剩下的则在剩下的sum[i]+1-j个位置里面挑x-y个位置插入。而这样一插,原来的相邻同色减少了y个,增加了c[i+1]-x个,所有j变成j-y+c[i+1]。(xy均需要循环枚举)
如果我们用C(i,j)表示组合数那么转移方程为:
最后的答案是f[n][0]

活动奖励:

在牛客博客中写出题解,并回复地址
审核通过可获得(依据题目难度和题解的内容而定)

本道题目7月27日中午12:00之前写的题解有获得牛币资格~

.牛币兑换中心

牛客博客开通方式

  1. 如何开通牛客博客:https://www.nowcoder.com/discuss/202952
  2. 如何使用博客搬家功能:进入博客--->设置--->底部博客搬家
  3. 如果你对牛客博客有任何意见或建议:牛客博客意见反馈专贴
全部评论
https://blog.nowcoder.net/n/8a0ae33523274256bc4bc4b83998475c 超详细题解
1 回复 分享
发布于 2020-07-19 15:58
https://blog.nowcoder.net/n/49e148afd8434f07bd754e12d423c65a
点赞 回复 分享
发布于 2020-07-17 12:33
https://blog.nowcoder.net/n/8fb0d4ef152146ffa08dc2180d44b63d
点赞 回复 分享
发布于 2020-07-17 13:21
https://blog.nowcoder.net/n/709d880693cf47f7b33da2d52e8b6681
点赞 回复 分享
发布于 2020-07-17 16:17
https://blog.nowcoder.net/n/c1f41de3b6fb4941980e748552bad055
点赞 回复 分享
发布于 2020-07-17 19:57
https://blog.nowcoder.net/n/bc705ee8434a4ecb9be7457ec59aa056
点赞 回复 分享
发布于 2020-07-17 19:58
https://blog.nowcoder.net/n/2e78191aea6546979f38dbde8d2519a7
点赞 回复 分享
发布于 2020-07-19 23:29
https://blog.nowcoder.net/n/3eb011c32cf94cbea4806c9bd57777b2
点赞 回复 分享
发布于 2020-07-20 16:52
https://blog.nowcoder.net/n/b4431316e4d34551bd9caff4cfd01516
点赞 回复 分享
发布于 2020-07-21 12:15
https://blog.nowcoder.net/n/d23d093f4c534958b30324880676a9d0
点赞 回复 分享
发布于 2020-07-21 18:02
https://blog.nowcoder.net/n/e79aabc4670c41f5946ba296b6beb5fa
点赞 回复 分享
发布于 2020-07-23 16:45
https://blog.nowcoder.net/n/469ae0de2e15469eba925d10b991aa32
点赞 回复 分享
发布于 2020-07-23 17:06
https://blog.nowcoder.net/n/787fde2a80124294bb8faedf33d77b98
点赞 回复 分享
发布于 2020-07-26 20:50
https://blog.nowcoder.net/n/7eb21cc0e4604607b84c2eaca6997586
点赞 回复 分享
发布于 2020-08-16 09:11

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务