题目


分析

设\(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. go控制grpc的metadata

    grpc让我们可以像本地调用一样实现远程调用,对于每一次的RPC调用中,都可能会有一些有用的数据,而这些数据就可以通过 metadata来传递.metadata是以key-value的形式存储数据的, ...

  2. python字符串模板文本处理之Template

    from string import Template s = Template('$who 在 $do') ts = s.substitute(who="张三", do=&quo ...

  3. python枚举之Enum模块

    枚举是与多个唯一常量值绑定的一组符号(即成员).枚举中的成员可以进行身份比较,并且枚举自身也可迭代. 枚举成员名称建议使用大写字母 # 示例 from enum import Enum,unique, ...

  4. 一分钟带你了解mySql执行SQL的内部原理

    1.把MySQL当个黑盒子一样执行SQL语句 我们知道执行了insert语句之后,在表里会多出来一条数据:执行了update语句之后,会对表里的数据进行更改:执行了delete语句之后,会把表里的一条 ...

  5. Centos系统下,各种服务重启

    1.sudo systemctl start firewalld 2../redis-server  /usr/local/bin/redis.conf 3.mongod -f /etc/mongod ...

  6. 【Azure APIM】APIM 策略语句如何读取请求头中所携带的Cookie信息并保存为变量

    问题描述 需要在APIM策略中对请求所携带的Cookie中的token值进行JWT验证,如果获取Cookie中的值并且作为变量保存,然后在JWT 验证中使用呢? 问题解答 第一步:获取Cookie中的 ...

  7. Jmeter json断言的使用

    1 添加方式:取样器右键->添加->断言->JSON断言 作用:使用JSON表达式提取实际数据与预期进行比较   2首先我们来了解下断言组件的各个功能: Asset JSON Pat ...

  8. MYSQL索引-下

    前言 丁奇老师的 MYSQL45讲 的关于索引的的两节 深入浅出索引,做个笔记 覆盖索引 插入一个实例表 mysql> create table T ( ID int primary key, ...

  9. vue 的属性展开 props v-bind 记得带key

    <el-table-column v-for="column in columns" :key="column.prop" v-bind="co ...

  10. java基本数据类型及运算的注意事项

    java基本数据类型及运算的注意事项 一.基本数据类型 序号 类型 位数 范围 说明 整数类型 (最高位为符号位) byte 8位 -128(-27)~127(27-1) 默认类型为int 二进制0b ...