hdu6376 度度熊剪纸条 思维
度度熊剪纸条
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1788 Accepted Submission(s): 318
纸条上依次写着 N 个数字,数字只可能是 0 或者 1。
度度熊想在纸条上剪 K 刀(每一刀只能剪在数字和数字之间),这样就形成了 K+1 段。
他再把这 K+1 段按一定的顺序重新拼起来。
不同的剪和接的方案,可能会得到不同的结果。
度度熊好奇的是,前缀 1 的数量最多能是多少。
对于每一组数据,第一行读入两个数 N 和 K 。
第二行有一个长度为 N 的字符串,依次表示初始时纸条上的 N 个数。
0≤K<N≤10000
所有数据 N 的总和不超过100000
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#define ls (r<<1)
#define rs (r<<1|1)
#define debug(a) cout << #a << " " << a << endl
using namespace std;
typedef long long ll;
const ll maxn = 1e4+10;
const ll mod = 998244353;
const double pi = acos(-1.0);
const double eps = 1e-8;
ll n, k, a[maxn];
bool cmp( ll p, ll q ) {return p > q;
}
int main() {ios::sync_with_stdio(0);while( cin >> n >> k ) {string s;cin >> s;bool flag = false;ll cnt = 0, j = 0, st = 0, ed = n-1, num1 = 0, num2 = 0, ans = 0;while(s[st]=='1'&&st<n) {st ++;}num1 = st;while(s[ed]=='1'&&st<=ed) {ed --;}num2 = n-1-ed;if( k == 0 ) {cout << num1 << endl;continue;}for( ll i = st; i <= ed; i ++ ) {if(s[i]=='0') {if(cnt) {a[++j] = cnt;}cnt = 0;} else {cnt ++;}}sort(a+1,a+j+1);ll x = 0;while( k > 2 && j >= 1 ) {ans += a[j--];k -= 2;}if( k == 1 ) {ans += max(num1+num2,a[j]);} else {ans += max(num1+num2,max(num1+a[j],num2+a[j]));}cout << ans << endl;}return 0;
}
转载于:https://www.cnblogs.com/l609929321/p/9520464.html
hdu6376 度度熊剪纸条 思维相关推荐
- HDU6376 度度熊剪纸条
01背包 + 思维 首先可以发现,开头是1的要分开要切一次,中间的切两次,末尾是1的切一次. 把切的次数看成花费,1的个数看成价值,就可以01背包求解了. 但是有一点要注意,中间的连续1的串如果放在末 ...
- 【HDU - 6119】小小粉丝度度熊 (区间合并,尺取,思维)
题干: 度度熊喜欢着喵哈哈村的大明星--星星小姐. 为什么度度熊会喜欢星星小姐呢? 首先星星小姐笑起来非常动人,其次星星小姐唱歌也非常好听. 但这都不是最重要的,最重要的是,星星小姐拍的一手好代码! ...
- 【2012百度之星/初赛上】A:度度熊就是要第一个出场
描述:Baidu年会安排了一场时装秀节目.N名员工将依次身穿盛装上台表演.表演的顺序是通过一种"画线"抽签的方式决定的. 首先,员工们在一张白纸上画下N条平行的竖线.在竖线的上方从 ...
- 【HDU - 6118】度度熊的交易计划(最小费用可行流,网络流费用流变形 )
题干: 度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题: 喵哈哈村以及周围的村庄可以看做是一共由n个片区,m条公路组成的地区. 由于生产能力的区别,第i个片区能够花费a[i]元生产1个 ...
- 2017百度之星资格赛:1001. 度度熊保护村庄(floyd最小环)
度度熊保护村庄 Accepts: 26 Submissions: 677 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...
- 2017百度之星初赛:B-1005. 度度熊的交易计划(最小费用流)
度度熊的交易计划 Accepts: 460 Submissions: 2329 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32 ...
- HDU - 6082 度度熊与邪恶大魔王(背包变式)
度度熊与邪恶大魔王 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需 ...
- 【2012百度之星/初赛下】C:度度熊的礼物
描述:度度熊拥有一个自己的Baidu空间,度度熊时不时会给空间朋友赠送礼物,以增加度度熊与朋友之间的友谊值.度度熊在偶然的机会下得到了两种超级礼物,于是决定给每位朋友赠送一件超级礼物.不同类型的朋友在 ...
- 【2012百度之星/初赛下】A:度度熊就是要刷排名第一
描述:一天度度熊在Baidu游戏大厅中发现了一个隐藏的神奇游戏,叫做"度度熊的逆袭".度度熊很好奇到底是什么情况,于是就进入了游戏.这个游戏很神奇,游戏会给出n个数Ai,度度熊可以 ...
最新文章
- NM-1A-OC3MM和NM-CIDS-K9模块的苦恼
- 通过FPGA将图片信息通过RS232串口发送到PC端,使用MATLAB进行图片显示
- BJUI修改弹窗dialog的宽度和高度
- 把函数包起来就是一个R包 - 完整开发指南
- 在CentOS7上使用FastDFS搭建文件服务器
- Linux下双网卡绑定技术实现负载均衡和失效保护 bond
- html刘海屏高度,iphone刘海屏网页适配方法
- mysql查询当前时间和用户_MySQL学习笔记(3) - 查询服务器版本,当前时间,当前用户...
- 兼容M1芯片 Denise Audio poltergate Mac - 侧链均衡器
- linux安装R3.5.0
- 经验模态分解(EMD)
- es高亮搜索java_ES检索服务搜索结果高亮
- 在网站优化中怎么做好关键词密度?
- adt变频器故障代码ol2_变频器常见故障代码及处理实例
- Day41——Dp专题
- Python实现鸡群算法
- 2019年12月7日PAT甲级满分题解与经验总结
- 五 、Kotlin学习之命名参数默认参数
- Spring MVC框架:第二章:视图解析器和@RequestMapping注解使用在类级别及获取原生Servlet API对象
- 聊聊Windows的销售渠道和授权版本