【Luogu】P2530化工厂装箱员(DP)
不知道做出这道题是我能力的一个提升还是能力的回归。
DP。设f[i][j][k][l]是已经取了i个产品,现在手里还拿着j件A,k件B,l件C,最小的操作数。
然后状转方程乱搞啊
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cctype>
#include<algorithm>
using namespace std;
inline long long read(){
long long num=,f=;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-') f=-;
ch=getchar();
}
while(isdigit(ch)){
num=num*+ch-'';
ch=getchar();
}
return num*f;
} long long f[][][][];
int s[][];
long long Max;
long long ans=0x7fffffff;
int main(){
memset(f,/,sizeof(f)); Max=f[][][][]; f[][][][]=;
int n=read();
for(int i=;i<=n;++i){
char c[];
scanf("%s",c+);
for(int j=;j<=;++j) s[j][i]=s[j][i-];
s[c[]-'A'+][i]++;
}
for(int i=;i<=n;++i)
for(int j=;j<=;++j)
for(int k=;k+j<=;++k)
for(int l=;l+k+j<=;++l){
if(f[i][j][k][l]==Max) continue;
if(j){
int a=s[][min(i+j,n)]-s[][i],b=s[][min(i+j,n)]-s[][i]+k,c=s[][min(i+j,n)]-s[][i]+l;
f[min(i+j,n)][a][b][c]=min(f[min(i+j,n)][a][b][c],f[i][j][k][l]+);
//printf("%lld ",f[min(i+j,n)][a][b][c]);
}
if(k){
int a=s[][min(i+k,n)]-s[][i]+j,b=s[][min(i+k,n)]-s[][i],c=s[][min(i+k,n)]-s[][i]+l;
f[min(i+k,n)][a][b][c]=min(f[min(i+k,n)][a][b][c],f[i][j][k][l]+);
//printf("%lld ",f[min(i+k,n)][a][b][c]);
}
if(l){
int a=s[][min(i+l,n)]-s[][i]+j,b=s[][min(i+l,n)]-s[][i]+k,c=s[][min(i+l,n)]-s[][i];
f[min(i+l,n)][a][b][c]=min(f[min(i+l,n)][a][b][c],f[i][j][k][l]+);
//printf("%lld ",f[min(i+l,n)][a][b][c]);
}
if(j+k+l<){
int q=-(j+k+l);
int a=s[][min(i+q,n)]-s[][i]+j,b=s[][min(i+q,n)]-s[][i]+k,c=s[][min(i+q,n)]-s[][i]+l;
f[min(i+q,n)][a][b][c]=min(f[min(i+q,n)][a][b][c],f[i][j][k][l]);
}
}
for(int i=;i<=;++i)
for(int j=;j+i<=;++j)
for(int k=;k+j+i<=;++k)
ans=min(ans,f[n][i][j][k]+(i>?:)+(j>?:)+(k>?:));
printf("%lld",ans);
return ;
}
【Luogu】P2530化工厂装箱员(DP)的更多相关文章
- Luogu 2530 化工厂装箱员
Written with StackEdit. Description \(118\)号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有\(3\ ...
- 洛谷 P2530 [SHOI2001]化工厂装箱员 解题报告
P2530 [SHOI2001]化工厂装箱员 题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B ...
- 化工厂装箱员(洛谷 P2530)
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须 ...
- 化工厂装箱员 洛谷 p2530
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须 ...
- [SHOI2001]化工厂装箱员(dp?暴力:暴力)
118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度 ...
- 洛谷P2530 [SHOI2001]化工厂装箱员
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不 ...
- [SHOI2001]化工厂装箱员
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须 ...
- [ SHOI 2001 ] 化工厂装箱员
\(\\\) \(Description\) 传送带上按顺序传过来\(N\)个物品,一个有\(A,B,C\)三类. 每次装箱员手里只能至多拿十个,然后将手中三类物品中的一类装箱,才能接着拿或接着装箱, ...
- LG2530 「SHOI2001」化工厂装箱员 高维DP+记忆化搜索
问题描述 LG2530 题解 设\(opt[i][a][b][c][d]\)代表装到第\(i\)个后,第\(1,2,3\)手上分别还剩\(a,b,c\)个的最小操作数. 记忆化搜索即可. 启示:如果状 ...
随机推荐
- 自动完成文本框(AutoCompleteTextView与MultiAutoCompleteTextView)关联适配器
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- 【Web应用-Kudu】Kudu 管理和诊断 azure web 应用
Azure Kudu是 GitHub 上的一个开源项目,Kudu 站点 (也称为网站控制管理 SCM) 提供了一系列的在线工具,可以帮助用户查看 web 应用的设置,诊断 web 应用,以及安装 w ...
- perl在linux下通过date获取当前时间
perl处理文件的时候最好添加上 处理的时间戳,获取系统的时间又多种方法,但是反引号是最原始的,不需要其他外界条件和lib的支持. my $now = `date "+%F %T" ...
- UIButton Making the hit area larger
http://stackoverflow.com/questions/808503/uibutton-making-the-hit-area-larger-than-the-default-hit-a ...
- SAP云平台,Netweaver,Kubernetes和C4C的用户和角色关系
SAP云平台 Netweaver 同SAP云平台一样,在事务码PFCG里维护角色: 然后在事务码SU01里将多个角色分配给用户: Kubernetes Kubernetes在1.3版本中发布了alph ...
- ansible 调优
1.设置ssh长链接ssh_args = -C -o ControlMaster=auto -o ControlPersist=5d 2.开启pipelining开启pipelining 需要被控制机 ...
- python基础一 day13 复习
# 函数 —— 2天 # 函数的定义和调用 # def 函数名(形参): #函数体 #return 返回值 #调用 函数名(实参) # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),* ...
- golang 强制重新全部编译
/home/用户名/.cache 删除缓存试试?? 修改的东西老失败 编译结果总不变 神奇了 go build -a -x -v加一句-a 强制重新编译.
- Bootstrap历练实例:超小的按钮
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...
- HTML5<picture>元素
HTML5<picture>元素可以设置多张图片 <!DOCTYPE html><html><head><meta http-equiv=&quo ...