杭电2577 多数组dp问题
Pirates
HDUacm
HDUACM
8
8
#include<iostream>
#include<string.h>
int min(int x,int y)
{
if(x>y) return y;
else return x;
}
int f(char x)//1为大写
{
if(x>='A'&&x<='Z') return 1;
else return 0;
}
using namespace std;
int main()
{
char s[130];
int n,len,i,j,a[130];//开
int b[130],t,mine;//关 a,b需要保证 其状态的变化量
scanf("%d",&n);
while(n--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cin>>s;
a[0]=1;
len=strlen(s);
for(i=0;i<len;i++)
{
if(f(s[i])==1)//da
{
a[i+1]=min(a[i]+1,b[i]+2);//开灯的话直接输入 关灯的话开灯在输入
b[i+1]=min(a[i]+2,b[i]+2);// 开灯的话先输入再关 关灯的话按shitf在输入(这里可以开灯输入在关灯 但由于是找最少的次数 所以忽略)
}
else//xiao
{
a[i+1]=min(a[i]+2,b[i]+2);//开灯的话 按SHIFT输入 关灯的话 先输入在开灯(保证a数组的开灯状态)
b[i+1]=min(a[i]+2,b[i]+1);//开灯的话 关灯再输入 关灯的话 直接输入
}
}
a[len]++;// 最后不要忘了关灯
mine=min(a[len],b[len]);
cout<<mine<<endl;
}
return 0;
}
杭电2577 多数组dp问题的更多相关文章
- 杭电1466------简单的dp
题目: http://acm.hdu.edu.cn/showproblem.php?pid=1466 #include<iostream> #include<cstdio> # ...
- 最少拦截系统(杭电1257)(DP)+(贪心)
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- 杭电hdu 2089 数位dp
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍 ...
- 杭电dp题集,附链接还有解题报告!!!!!
Robberies 点击打开链接 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和- 把状态转移方程写成了f ...
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- 杭电ACM题单
杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...
- 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”
按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...
- 杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过
杭电ACM(1002)大数相加 A + B Problem II Problem DescriptionI have a very simple problem for you. Given two ...
- 杭电 1272 POJ 1308 小希的迷宫
这道题是我学了并查集过后做的第三个题,教我们的学姐说这是并查集的基础题,所以有必要牢牢掌握. 下面就我做这道题的经验,给大家一些建议吧!当然,我的建议不是最好的,还请各位大神指出我的错误来,我也好改正 ...
随机推荐
- Diamond types are not supported at language level '5‘
当时,我问了下大神,他们问我是不是jdk问题.因为jdk8才支持这样的棱形写法.当时自己的jdk版本是jdk8,然后就奇怪了,最后我发现原来在Language level中调成了5.0 5.0不支持6 ...
- c++ 网络编程基础
目录 c++ 网络编程 建立socket 绑定socket 建立连接 监听 服务器端接收 数据发送和接收 面向连接的数据发送 面向连接的数据接收 无连接的数据发送 无连接的数据接收 关闭socket ...
- 一个Redis实例适合存储不同应用程序的数据吗?
Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念. Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据 ...
- 开源配置中心xxl-conf的核心原理分析
XXL-CONF是一款轻量级的开源配置中心项目,由国内大牛许雪里开发.下面是官方对其优点作出的描述: 一个轻量级分布式配置管理平台,拥有"轻量级.秒级动态推送.多环境.跨语言.跨机房.配置监 ...
- 深度学习:21天实战caffe学习资源-4-环境安装
使用anaconda3环境下的python2.7, 机器macos mojave 10.14 1.安装Xcode 首先现在app store中安装Xcode: 不然会有” framework not ...
- IDEA中spring约束文件报红 的解决办法
- C++类成员存储大小
1.对象分布图 2.解析 每个类的大小只有其成员变量大小,其中包括:类成员属性,虚函数指针: 而其他没有如:静态变量[静态区],普通函数.静态函数[代码区] 3.总结 类对象的sizeof只包含成员变 ...
- python flask框架学习(二)——第一个flask程序
第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...
- 【分布式一致性】etcd
etcd: https://jimmysong.io/kubernetes-handbook/concepts/etcd.html 什么是 分布式一致性: http://thesecretliveso ...
- Cas(08)——单点登出
单点登出 目录 1.1 Cas Client端配置单点登出 1.2 Cas Server端禁用单点登出 1.1 Cas Client端配置单点登出 单点登出功能跟单点登录功能是 ...