bzoj2700
题解:
dp
dp[i][j]表示i个红,j个绿的最小代价
然后再加上两位k,l,表示k个红连,l个绿连
然后转移
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
const ll INF=1LL<<;
ll a[N],b[N],f[N][N][][],j,k,n,m,tot1,tot2;
int main()
{
scanf("%d%d",&m,&n);
for (int i=;i<=n;i++)
{
scanf("%d%d",&k,&j);
if (j)a[++tot1]=k;
else b[++tot2]=k;
}
sort(a+,a++tot1); sort(b+,b++tot2);
for (int i=tot1+;i<=n;i++)a[i]=INF;
for (int i=tot2+;i<=n;i++)b[i]=INF;
for (int i=;i<=m;i++)
for (int j=;j<=n;j++)
for (int t=;t<=;t++)
for (int l=;l<=;l++)f[i][j][t][l]=INF;
f[][][][]=;
int ad,bd;
for (int i=;i<=m;i++)
{
for (int j=,ad=a[j]*(m-i+),bd=b[i-j]*(m-i+);j<=i;j++,
ad=a[j]*(m-i+),bd=b[i-j]*(m-i+))
{
f[i][j][][]=min(f[i-][j-][][],
min(f[i-][j-][][],f[i-][j-][][]))+ad;
f[i][j][][]=f[i-][j-][][]+ad;
f[i][j][][]=min(f[i-][j][][],
min(f[i-][j][][],f[i-][j][][]))+bd;
f[i][j][][]=f[i-][j][][]+bd;
}
bd=b[i]*(m-i+);
f[i][][][]=min(f[i-][][][],min(f[i-][][][],f[i-][][][]))+bd;
f[i][][][]=f[i-][][][]+bd;
}
ll ans=INF;
for (int i=;i<=tot1;i++)
{
ans=min(ans,f[m][i][][]);
ans=min(ans,f[m][i][][]);
ans=min(ans,f[m][i][][]);
ans=min(ans,f[m][i][][]);
ans=min(ans,f[m][i][][]);
}
printf("%lld\n",ans);
return ;
}
bzoj2700的更多相关文章
随机推荐
- python单元测试框架pytest——fixture函数(类似unitest的setup和teardown)
pytest的setup和teardown函数(曾被一家云计算面试官问到过). pytest提供了fixture函数用以在测试执行前和执行后进行必要的准备和清理工作.与python自带的unitest ...
- kali 安装最新firefox的悲惨经历
最新的的firefox用的是量子内核,在windows上面的确感觉相比之前的firefox快了好多 想把kali 2017虚拟机的也替换掉 按照步骤: 1 添加源: /etc/apt/sources. ...
- git推送到github报错:error: The requested URL returned error: 403 Forbidden while accessing https://github.com
最近使用git命令从github克隆仓库到版本,然后进行提交到github时报错如下: [root@node1 git_test]# git push origin mastererror: The ...
- xtrabackup备份脚本
背景:现网环境全备份脚本:基于xtrabackup命令 #!/bin/sh # MySQL端口 PORT=' # 备份用户 USER='bkpuser' PAWD='bkpuser' Time=`da ...
- 20145314郑凯杰《信息安全系统设计基础》第八周复习总结 Part A
20145314郑凯杰<信息安全系统设计基础>第八周复习总结 Part A 学习知识点内容总结 复习线索:http://group.cnblogs.com/topic/73069.html ...
- 2009-2010 ACM-ICPC, NEERC, Western Subregional Contest
2009-2010 ACM-ICPC, NEERC, Western Subregional Contest 排名 A B C D E F G H I J K L X 1 0 1 1 1 0 1 X ...
- Hive查询Join
Select a.val,b.val From a [Left|Right|Full Outer] Join b On (a.key==b.key); 现有两张表:sales 列出了人名及其所购商品的 ...
- 使用BusyBox制作根文件系统
1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 gre ...
- [BZOJ2282]消防
Description 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情,所以这个国家 ...
- AccessTokens
https://www.oauth.com/oauth2-servers/access-tokens/ Access tokens are the thing that applications us ...