1427. SMS(DP)
题意不太好理解 其它没什么 细心啊 细心 一个0写成了1 WA半天
以每个字符是以第一种方式还是第二种方式来D

#include <iostream>
#include<cstdio>
#include<algorithm>
#include<stdlib.h>
#include<cstring>
#include<vector>
using namespace std;
#define N 100010
char s[N];
int dp[N][],o[N][];
int judge(char x)
{
if(x==' ')
return ;
if(x>='a'&&x<='z')
return ;
if(x>='A'&&x<='Z')
return ;
return ;
}
int main()
{
int n,m,i,k=;
scanf("%d%d%*c",&n,&m);
gets(s);
k = strlen(s);
dp[][] = ;
o[][] = ;
if(judge(s[]))
{
dp[][] = ;
o[][] = ;
}
else
{
dp[][] = -;
o[][] = ;
}
for(i = ; i < k ; i++)
{
if(judge(s[i]))
{
if(o[i-][]>=m)
{
dp[i][] = min(dp[i-][]+,dp[i-][]+);
o[i][] = ;
}
else
{
if(o[i-][]&&dp[i-][]<dp[i-][]+)
{
dp[i][] = dp[i-][];
o[i][] = o[i-][]+;
}
else
{
dp[i][] = dp[i-][]+;
o[i][] = ;
}
}
}
else
o[i][] = ;
if(o[i-][]>=n)
{
if(o[i-][])
dp[i][] = min(dp[i-][]+,dp[i-][]+);
else
dp[i][] = dp[i-][]+;
o[i][] = ;
}
else
{
if(!o[i-][]||dp[i-][]<dp[i-][]+)
{
dp[i][] = dp[i-][];
o[i][] = o[i-][]+;
}
else
{
dp[i][] = dp[i-][]+;
o[i][] = ;
}
} }
if(o[k-][]!=)
printf("%d\n",min(dp[k-][],dp[k-][]));
else
printf("%d\n",dp[k-][]);
return ;
}
1427. SMS(DP)的更多相关文章
- URAL 1427. SMS(DP+单调队列)
题目链接 我用的比较传统的办法...单调队列优化了一下,写的有点搓,不管怎样过了...两个单调队列,存两个东西,预处理一个标记数组存... #include <iostream> #inc ...
- 1427. SMS
http://acm.timus.ru/problem.aspx?space=1&num=1427 没想到这道题错了N遍 细节很重要呀 代码: #include<iostream> ...
- JavaWeb-SpringBoot(抖音)_一、抖音项目制作
JavaWeb-SpringBoot(抖音)_一.抖音项目制作 传送门 JavaWeb-SpringBoot(抖音)_二.服务器间通讯 传送门 JavaWeb-SpringBoot(抖音)_三.抖音项 ...
- Codevs 1427 特种部队(双路DP)
1427 特种部队 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 黄金 Gold 题目描述 Description 某特种部队接到一个任务,需要潜入一个仓库.该部队士兵分为两路,第一 ...
- bzoj3672/luogu2305 购票 (运用点分治思想的树上cdq分治+斜率优化dp)
我们都做过一道题(?)货币兑换,是用cdq分治来解决不单调的斜率优化 现在它放到了树上.. 总之先写下来dp方程,$f[i]=min\{f[j]+(dis[i]-dis[j])*p[i]+q[i]\} ...
- Codeforces Global Round 11 C. The Hard Work of Paparazzi(dp/最长上升子序列)
题目链接:https://codeforces.com/contest/1427/problem/C 题意 \(r\) 行与 \(r\) 列相交形成了 \(r \times r\) 个点,初始时刻记者 ...
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
随机推荐
- Sencha Touch xtype对应的class
Sencha Touch 2的有效xtype xtype Class ----------------- --------------------- actionsheet Ext.ActionShe ...
- 利用sublime的snippet功能快速创建代码段
在前端开发中我们经常会输入相同的一些基本代码,例如常用的jquery引用,bootstrap框架,cssreset等等,如果每次使用时在复制粘贴感觉很麻烦,这里介绍一种更为简洁的方法 利用sublim ...
- asp.net word ecxel类型文件在线预览
asp.net word ecxel类型文件在线预览 首先得引用COM: Microsoft Excel 10 Object Library Microsoft Word 10 Object Libr ...
- eclipse编译项目jar,git管理代码
2015-3-10 settings.xml文件: <localRepository>C:\Users\xxx\.m2\repository</localRepository> ...
- mysql date数据类型异常原因0000-00
1.数据库字段: `dri_lic_first_time` date DEFAULT NULL COMMENT '驾驶证初次领证日期', 2.异常信息 org.springframework.dao. ...
- vi/vim使用指北 ---- Beyond the Basic
更多的组合命令 [number]-[command]-[test object] number: 数字 comand: c,d,y (修改,删除,复制) test object: 移动光标的命 ...
- Node.js缓冲模块Buffer
前言 Javascript是为浏览器而设计的,能很好的处理unicode编码的字符串,但对于二进制或非unicode编码的数据就显得无能为力. Node.js继承Javascript的语言特性,同时又 ...
- copy
拷贝文件,不覆盖重复文件 yes no|cp -i a b
- 使用ADO连接oracle数据库“未找到提供程序。该程序可能未正确安装”解决方案
问题描述:VS2010开发的C++程序,在一台Win7旗舰版的已安装Oracle客户端的PC上连接不上Oracle,提示“未找到提供程序.该程序可能未正确安装”,其他语言编写的程序比如C#是可以成功连 ...
- SQL server 为多个表添加新的列
作为一名.NET未入门的程序员,第一次发随笔. 前不久参与写的公司业务程序,目前这个程序的后期维护修复漏洞工作由我来负责.由于业务关系重大,每一步对程序代码的操作都非常谨慎,一旦操作失误,造成的损失和 ...