博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu6376 度度熊剪纸条 思维
阅读量:7258 次
发布时间:2019-06-29

本文共 1670 字,大约阅读时间需要 5 分钟。

度度熊剪纸条

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 1788    Accepted Submission(s): 318

Problem Description
度度熊有一张纸条和一把剪刀。
纸条上依次写着 
N 个数字,数字只可能是 0 或者 1
度度熊想在纸条上剪 K 刀(每一刀只能剪在数字和数字之间),这样就形成了 K+1 段。
他再把这 K+1 段按一定的顺序重新拼起来。
不同的剪和接的方案,可能会得到不同的结果。
度度熊好奇的是,前缀 1 的数量最多能是多少。
 

 

Input
有多组数据,读到EOF结束。
对于每一组数据,第一行读入两个数 
N 和 K 。
第二行有一个长度为 N 的字符串,依次表示初始时纸条上的 N 个数。
0K<N10000
所有数据 N 的总和不超过100000
 

 

Output
对于每一组数据,输出一个数,表示可能的最大前缀 
1 的数量。
 

 

Sample Input
5 1 11010 5 2 11010
 

 

Sample Output
2 3
 

 

Source
 

 

Recommend
chendu   |   We have carefully selected several similar problems for you:            
 
分析:求可能的最大前缀,首先我们把所有连续的1分离出来,考虑分离中间的连续1我们要进行两次操作,分离最前面和最后面的连续的1只要一次操作
  当k大于2的时候,我们直接加上最大的连续的1,当k<=2时,特判分离需要1次和两次的和的较大值
AC代码:
#include #include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ls (r<<1)#define rs (r<<1|1)#define debug(a) cout << #a << " " << a << endlusing 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
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

你可能感兴趣的文章
10. ZooKeeper之搭建伪集群模式。
查看>>
Easyui Datagrid 如何实现后台交互显示用户数据列表
查看>>
模块登录页代码
查看>>
CCF-CSP 201709-3 JSON查询 题解
查看>>
获取当前路径 ${pageContext.request.contextPath}
查看>>
开博始点,凡程子来了
查看>>
[问题记录]Ubuntu下chmsee安装失败的解决
查看>>
iOS文档注释
查看>>
工厂模式
查看>>
Revit API根据参数类型取得参数的值
查看>>
python18天-pycharm & 正则表达式
查看>>
pdf转txt
查看>>
牛客假日团队赛1 D.Promotion Counting
查看>>
点击头像单独把图片拉取出来.然后再次点击回到初始效果
查看>>
7-2 朋友圈 (25 分)
查看>>
转:手机流畅的决定性因素
查看>>
nginx离线部署脚本
查看>>
移动端多行文本溢出省略
查看>>
ls命令详解
查看>>
sql阻塞进程查询
查看>>