当前位置: 首页 > news >正文

CodeForces 698A Vacations

简单$dp$。

记$dp[i][j]$表示$i$天过去了,并且第$i$天的时候是状态$j$的情况下,前$i$天最少休息天数。

递推式很容易得到:

$dp[i][0]=min(dp[i-1][0],min(dp[i-1][1],dp[i-1][2]))+1$。
$if\left( {1\& a\left[ i \right]} \right)dp\left[ i \right]\left[ 1 \right] = min\left( {dp\left[ {i - 1} \right]\left[ 0 \right],dp\left[ {i - 1} \right]\left[ 2 \right]} \right)$。
$if\left( {2\& a\left[ i \right]} \right)dp\left[ i \right]\left[ 2 \right] = min\left( {dp\left[ {i - 1} \right]\left[ 0 \right],dp\left[ {i - 1} \right]\left[ 1 \right]} \right)$。

那么答案就是$min(dp[n][0],min(dp[n][1],dp[n][2]))$。

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<iostream>
using namespace std;
typedef long long LL;
const double pi=acos(-1.0),eps=1e-8;
void File()
{
    freopen("D:\\in.txt","r",stdin);
    freopen("D:\\out.txt","w",stdout);
}
template <class T>
inline void read(T &x)
{
    char c = getchar(); x = 0;while(!isdigit(c)) c = getchar();
    while(isdigit(c)) { x = x * 10 + c - '0'; c = getchar();  }
}

const int maxn=110;
int a[maxn],dp[maxn][3],n;

int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    dp[0][1]=dp[0][2]=dp[0][3]=1;
    for(int i=1;i<=n;i++) dp[i][1]=dp[i][2]=dp[i][3]=200;
    for(int i=1;i<=n;i++)
    {
        dp[i][0]=min(dp[i-1][0],min(dp[i-1][1],dp[i-1][2]))+1;
        if(1&a[i]) dp[i][1]=min(dp[i-1][0],dp[i-1][2]);
        if(2&a[i]) dp[i][2]=min(dp[i-1][0],dp[i-1][1]);
    }
    printf("%d\n",min(dp[n][0],min(dp[n][1],dp[n][2])));
    return 0;
}

 

转载于:https://www.cnblogs.com/zufezzt/p/5801022.html

相关文章:

  • Zend Studio使用教程之自定义并注册Zend Studio(1/2)
  • EntityFramework 7.0之初探【基于VS 2015】(
  • JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!
  • shell脚本中使用alias
  • tomcat常见错误及解决方案
  • rlwrap解决 Oracle sqlplus 在linux 上下文切换乱码问题
  • jquery监听事件on写法以及简单的拖拽效果
  • 配置.pch文件路径。
  • 设计模式之Facade,Adapter, Proxy
  • 使用 Spring Boot 快速构建 Spring 框架应用,PropertyPlaceholderConfigurer
  • 通讯录--(适配iOS7/8/9)
  • delphi关键字
  • JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍...
  • Bootstrap结合BootstrapTable的使用,分为两种模试显示列表。 自适应表格,自定义行列...
  • Zabbix监控之Redis自动发现并监控(python)
  • 「译」Node.js Streams 基础
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • AHK 中 = 和 == 等比较运算符的用法
  • Angular 响应式表单之下拉框
  • eclipse(luna)创建web工程
  • extract-text-webpack-plugin用法
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript服务器推送技术之 WebSocket
  • JavaScript异步流程控制的前世今生
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • php面试题 汇集2
  • uva 10370 Above Average
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 大整数乘法-表格法
  • 基于组件的设计工作流与界面抽象
  • 开源SQL-on-Hadoop系统一览
  • 前端面试总结(at, md)
  • 嵌入式文件系统
  • 如何解决微信端直接跳WAP端
  • 微信小程序填坑清单
  • 责任链模式的两种实现
  • puppet连载22:define用法
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (编译到47%失败)to be deleted
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四)模仿学习-完成后台管理页面查询
  • (一) storm的集群安装与配置
  • (一一四)第九章编程练习
  • (转)Linux下编译安装log4cxx
  • (转)Mysql的优化设置
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET MVC之AOP
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET 中创建支持集合初始化器的类型
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET建议使用的大小写命名原则