洛谷 P1564 膜拜 C++ dp
题目描述
神牛有很多...当然...每个同学都有自己衷心膜拜的神牛.
某学校有两位神牛,神牛甲和神牛乙。新入学的 n 位同学们早已耳闻他们的神话。
所以,已经衷心地膜拜其中一位了。现在,老师要给他们分机房。但是,要么保证整个机房都是同一位神牛的膜拜者,或者两个神牛的膜拜者人数差不超过 m。另外,现在 n 位同学排成一排,老师只会把连续一段的同学分进一个机房。老师想知道,至少需要多少个机房。
输入格式
输入文件第一行包含两个整数 nn 和 mm。
第 2 到第 (n + 1)行,每行一个非 1 即 2 的整数,第 (i+1) 行的整数表示第 ii 个同学崇拜的对象,1 表示甲,2 表示乙。
输出格式
输出一个整数,表示最小需要机房的数量。
输入输出样例
输入 #1复制
5 1 2 2 1 2 2
输出 #1复制
2
说明/提示
数据规模与约定
- 对于 30\%30% 的数据,保证1≤n,m≤50。
- 对于 100\%100% 的数据,保证 1≤n,m≤2500。
//dp[i]表示前i个人所需的最少机房数。 //前缀和+差分思想。 //如果第i个人是1,那么sum[i]=sum[i-1]+1, 否则sum[i]=sum[i-1]-1 //if(abs(sum[i]-sum[j-1]==i-j+1)),说明i到j都相同 //if(abs(sum[i]-sum[j-1]<=m)),说明i和j之间的不同人数差不超过m //在符合以上两个条件下,转移方程:dp[i]=min(dp[i],dp[j-1]+1) #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int n,m; int be[2505],sum[2505],dp[2505]; int main() {memset(dp+1,0x7f,sizeof(dp));scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&be[i]);if(be[i]&1) sum[i]=sum[i-1]+1;//前缀和 else sum[i]=sum[i-1]-1;}for(int i=1;i<=n;i++)//枚举人数 {for(int j=1;j<=i;j++)//枚举前i个 {if(abs(sum[i]-sum[j-1])==i-j+1||abs(sum[i]-sum[j-1])<=m){dp[i]=min(dp[i],dp[j-1]+1);}}}printf("%d",dp[n]);return 0; }
参考
洛谷 P1564 膜拜 C++ dp相关推荐
- 洛谷P1564 膜拜 题解
膜拜 - 洛谷 description: 给定一串 个仅含有 数字的串,请将其分割成若干个子串,使得其中满足只有 或者 ,或者两种数字的数量之差不超过 . solution: 比较基础的 . 首先,前 ...
- 洛谷--橙色百道DP总结
最近刷完了洛谷橙色DP大约一百道,算是发现了一些套路,就部分题目做一些总结. 大概分为三类 第一类,九大背包及其衍生 第二类,经典DP模型,如LCS,LIS等 第三类,实际问题背景的普通,环形,树上D ...
- Educational Codeforces Round 81 (Rated for Div. 2) F.Good Contest \ 洛谷 划艇 组合 计数dp
cf传送门 P3643 [APIO2016]划艇 文章目录 题意: 思路: 题意: aia_iai在[li,ri][l_i,r_i][li,ri]等概率随机选一个数,求aaa数组不增的概率. 思 ...
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买".每次你购买一支股 ...
- 洛谷P1244 青蛙过河 DP/思路
又是一道奇奇怪怪的DP(其实是思路题). 原文戳>>https://www.luogu.org/problem/show?pid=1244<< 这题的意思给的挺模糊,需要一定的 ...
- 洛谷 P2657 (数位DP)
### 洛谷 P2657 题目链接 ### 题目大意:给你一个数的范围 [A,B] ,问你这段区间内,有几个数满足如下条件: 1.两个相邻数位上的数的差值至少为 2 . 2.不包含前导零. 很简单的数 ...
- 洛谷 Golden Sword(dp,优先队列优化【含板子】)|| 补充练习:洛谷 跳房子
题目链接: 「SWTR-03」Golden Sword - 洛谷 思路: 设表示放第i个原料,锅里共有 j 个时的耐久度之和. 容易知道dp方程为,其中 这样就可以写出暴力dp的代码如下:(需要枚举i ...
- layui树形父子不关联_DP专题7 | 没有上司的舞会 洛谷1352(树形DP)
高能预警:这是一篇超过5分钟的学习文章,暑假了可以多学会 本篇继续咱们的DP专题,树形DP入门.动态规划每一个类型的DP都是深坑,期望童鞋们自己在这个系列的基础上多花时间进行拓展,学习愉快~ 在讨论树 ...
- 洛谷 P2679 子串 【dp神题】【滚动数组】【2015 noip d2t2】
偷个懒,题解看这里:https://www.luogu.org/problemnew/solution/P2679 看作者 GuessYCB 写的 ===2018.9.6=== 这一次算理解深一点了 ...
最新文章
- 英特尔支持员工自带设备办公
- 核心动画的接触点滴(五)
- 【teradata】强制解锁
- OpenCASCADE绘制测试线束:图形命令之AIS 查看器——查看命令
- Eclipse更改默认字符集 设置UTF-8
- java正则表达式判断_Java正则表达式判断
- HTML下拉菜单为什么无线拉长,【CSS】怎么拉长一个div的高度
- canal下载 linux_阿里canal数据库同步ES使用
- 【Oracle 学习】Scott账号解锁
- mysql常用语句1
- 计算机窗口保护颜色,如何设置电脑保护色,教你设置电脑保护色
- html设置了背景图片不显示,CSS设置背景图片不显示的解决方法
- 课外读物积累-----如何提高英文的科研写作能力(摘自施一公寄语)
- 海马玩安卓模拟器linux,Droid4X 0.8.4 海马玩安卓模拟器 安卓的福音
- cdn perl_用perl对CDN节点日志进行统计
- centOS域名访问问题,/etc/hosts详解
- Matlab论文插图绘制模板第39期—阶梯图(Stairs)
- 165页最全银行IT核心系统研究框架
- vue3+vite+electron项目搭建
- 来自远方的“僵尸之手”
热门文章
- WARNING: Device for PV 0lQ0Gl-RBe5-fPrr-OKYB-whwD-qHPF-izvEES not found or rejected by a filter
- 跳转微信小程序和支付宝小程序
- 64码高清电视 android版,爱直播tv版-爱直播v4.7.64 安卓智能电视版__西西安卓tv
- PCB入门使用技巧——个人笔记
- 使用STL给选手打分
- 宁静、万茜等姐姐们“乘风破浪”,各品牌借势掀起新一波火热营销
- [1002]:A+BII(大数计算)
- Easyrecovery如何正确激活
- 同比、定比和环比分析
- Javaweb学习之中文乱码问题