题解:

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的更多相关文章

随机推荐

  1. python单元测试框架pytest——fixture函数(类似unitest的setup和teardown)

    pytest的setup和teardown函数(曾被一家云计算面试官问到过). pytest提供了fixture函数用以在测试执行前和执行后进行必要的准备和清理工作.与python自带的unitest ...

  2. kali 安装最新firefox的悲惨经历

    最新的的firefox用的是量子内核,在windows上面的确感觉相比之前的firefox快了好多 想把kali 2017虚拟机的也替换掉 按照步骤: 1 添加源: /etc/apt/sources. ...

  3. 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 ...

  4. xtrabackup备份脚本

    背景:现网环境全备份脚本:基于xtrabackup命令 #!/bin/sh # MySQL端口 PORT=' # 备份用户 USER='bkpuser' PAWD='bkpuser' Time=`da ...

  5. 20145314郑凯杰《信息安全系统设计基础》第八周复习总结 Part A

    20145314郑凯杰<信息安全系统设计基础>第八周复习总结 Part A 学习知识点内容总结 复习线索:http://group.cnblogs.com/topic/73069.html ...

  6. 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 ...

  7. Hive查询Join

    Select a.val,b.val From a [Left|Right|Full Outer] Join b On (a.key==b.key); 现有两张表:sales 列出了人名及其所购商品的 ...

  8. 使用BusyBox制作根文件系统

    1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 gre ...

  9. [BZOJ2282]消防

    Description 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情,所以这个国家 ...

  10. AccessTokens

    https://www.oauth.com/oauth2-servers/access-tokens/ Access tokens are the thing that applications us ...