题目


分析

设\(dp[i][day][j][k]\)表示当前雇员个数为\(i\),

距离上次发广告时间为\(day\),获得的金钱和声望分别为\(j,k\)

注意\(day\)是\([0\sim 3]\)范围内,状态转移方程其实挺好写的


代码

#include <cstdio>
#include <cctype>
#include <cstring>
#define rr register
using namespace std;
int m,x,y,z,A,B,mx,dp[21][4][21][21],ans;
inline signed min(int a,int b){return a<b?a:b;}
inline void Min(int &a,int b){a=a<b?a:b;}
signed main(){
scanf("%d%d%d%d%d%d",&m,&x,&y,&z,&A,&B),
memset(dp,42,sizeof(dp)),mx=A>z?A:z,
ans=dp[0][0][0][0],dp[m][0][0][0]=0;
for (rr int i=m;i<21;++i)
for (rr int day=0;day<4;++day)
for (rr int j=0;j<=mx;++j)
for (rr int k=0,now;k<=B;++k)
if (ans>(now=dp[i][day][j][k])){
if (j>=A&&k>=B) {ans=now; continue;}//达到要求
for (rr int I=0;I<=i;++I){//枚举选择贡献金钱的职员
rr int a=min(j+I*x,mx),b=min(k+(i-I)*y,B);
if (day==1||day==2) Min(dp[i][day+1][a][b],now+1);//发布广告过一天
else {
Min(dp[i+day/3][0][a][b],now+1);//招募到人
if (a>=z) Min(dp[i+day/3][1][a-z][b],now+1);//发布广告
}
}
}
return !printf("%d",ans);
}

#dp#洛谷 4399 [JSOI2008]Blue Mary的职员分配的更多相关文章

  1. bzoj千题计划192:bzoj1569: [JSOI2008]Blue Mary的职员分配

    http://www.lydsy.com/JudgeOnline/problem.php?id=1569 dp[i][j][a][b] 表示i个职员,发广告状态为j,已有金钱a,声誉b的最少天数 j= ...

  2. BZOJ1569: [JSOI2008]Blue Mary的职员分配(dp 暴力)

    Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 483  Solved: 189[Submit][Status][Discuss] Descriptio ...

  3. [JSOI2008]Blue Mary的职员分配

    由于Blue Mary呕心沥血的管理,Blue Mary的网络公司蒸蒸日上.现在一共拥有了n名职员,可惜没有任何的金钱和声誉.平均每名每天职员都可以给公司带来x单位金钱或者y单位声誉(名利不能双全). ...

  4. [bzoj1569][JSOI2008][Blue Mary的职员分配]

    Description 由于Blue Mary呕心沥血的管理,Blue Mary的网络公司蒸蒸日上.现在一共拥有了n名职员,可惜没有任何的金钱和声誉.平均每名每天职员都可以给公司带来x单位金钱或者y单 ...

  5. 洛谷P4254 [JSOI2008]Blue Mary开公司(李超线段树)

    题面 传送门 题解 李超线段树板子 具体可以看这里 //minamoto #include<bits/stdc++.h> #define R register #define fp(i,a ...

  6. 【BZOJ1568】[JSOI2008]Blue Mary开公司(李超线段树)

    [BZOJ1568][JSOI2008]Blue Mary开公司(李超线段树) 题面 BZOJ 洛谷 题解 是模板题啊. #include<iostream> #include<cs ...

  7. bzoj1567: [JSOI2008]Blue Mary的战役地图

    将矩阵hash.s[0]忘了弄成0,输出中间过程发现了. hash.sort.判重.大概这样子的步骤吧. #include<cstdio> #include<cstring> ...

  8. 数据结构(线段树):BZOJ 1568 [JSOI2008]Blue Mary开公司

    1568: [JSOI2008]Blue Mary开公司 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 602  Solved: 214[Submit ...

  9. BZOJ 1567: [JSOI2008]Blue Mary的战役地图( 二分答案 + hash )

    二分答案, 然后用哈希去判断... ------------------------------------------------------------------------- #include ...

  10. bzoj千题计划219:bzoj1568: [JSOI2008]Blue Mary开公司

    http://www.lydsy.com/JudgeOnline/problem.php?id=1568 写多了就觉着水了... #include<cstdio> #include< ...

随机推荐

  1. easyexcel: The maximum length of cell contents (text) is 32,767 characters

    easyexcel The maximum length of cell contents (text) is 32,767 characters 使用easyexcel向excel中写内容出现了单元 ...

  2. Linux驱动开发笔记(二):ubuntu系统从源码编译安装gcc7.3.0编译器

    前言   编译ubuntu驱动之前,发现使用的gcc是7.3.0,而使用apt管理和下载的都无法直接或间接安装gcc7.3.0,于是只能从源码安装gcc7.3.0编译器.   GCC 概述   GCC ...

  3. 为Study.BlazorOne引入Study.Trade模块

    # 1.在Application项目中添加Trade的对应的包 默认的源多半是nuget.org 我们自己的模块,一般在我们自己的NuGet服务器 从"已安装"切换到"浏 ...

  4. 【Azure APIM】APIM self-host 部署在K8S中,如何更换证书呢?

    问题描述 APIM self-host(自建网关)部署在K8S中,如何在本地上传及更换证书呢? 问题解答 如果使用Self-host网关,则不支持使用上传到 APIM的 CA 根证书验证服务器和客户端 ...

  5. 【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败

    问题描述 在App Service for Linux环境中,部署Django应用,访问应用页面时候,出现css.js等静态资源文件加载失败问题. 浏览器Console提示的错误消息为: Refuse ...

  6. 【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?

    问题描述 在Azure Redis的门户活动日志中,可以查看到的是对于Redis资源本身的操作.但是对于客户端连接到Redis服务后,对服务所做出的读写,或删除操作,是否有日志可以查看到呢? 问题回答 ...

  7. 简单封装 Flurl

    FlurlHttpClient类 public class FlurlHttpClient { private readonly FlurlClient client; public FlurlHtt ...

  8. [C++] epoll编写的echo服务端

    直接贴代码,代码是运行在Linux上面的,通过 g++ epoll.cpp编译 #include <sys/socket.h> #include <sys/epoll.h> # ...

  9. git拉项目, 1.新建目录 2 git clone 地址 . (重点最后的点)

  10. [VueJsDev] 基础知识 - AutoNumber VsCode 插件开发

    [VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html AutoNumber VsCode插件开发 ::: deta ...