题解:

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. android解决setOnItemClickListener没有响应

    今天遇到一种情况,抽屉式导航栏里的listView的点击事件没有响应点击事件. 查看了下,原来是因为抽屉式导航栏的fragment声明,放在了内容fragment之前,导致点击动作被内容fragmen ...

  2. c++之旅:模板库中的容器

    容器 C++中的容器包括array, vector, list,map,set 数组 array不可变长,创建时其大小就固定了,array中可以存储各种数据类型包括对象,不过array是在栈上分配的, ...

  3. Ubuntu16.04配置Android SDK环境

    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(注意32位与64位,我 ...

  4. Linux 实时性能测试工具——Cyclictest

    Cyclictest 是 rt-tests 下的一个测试工具,也是rt-tests 下使用最广泛的测试工具,一般主要用来测试使用内核的延迟,从而判断内核的实时性. 1.2 cyclictest 安装 ...

  5. ABP官方文档翻译 1.6 OWIN集成

    OWIN集成 安装 使用 如果在应用程序里既使用ASP.NET MVC也使用ASP.NET Web API,需要在工程里安装Abp.Owin包. 安装 添加Abp.Owin包到主工程里(一般是web工 ...

  6. 【c++ primer, 5e】设计Sales_data类 & 定义改进的Sales_data类

    [设计Sales_data类] 1.考虑Sales_data类应该有那些接口. isbn.combine.add.read.print... 2.考虑如何使用这些接口. Sales_data tota ...

  7. 20145314郑凯杰《信息安全系统设计基础》第7周学习总结 part B

    20145314郑凯杰<信息安全系统设计基础>第7周学习总结 part B 上篇博客反思与深入 首先根据本周第一篇博客,娄老师给我的评论,我开始进行局部性的深入研究: 分为两个步骤,一是知 ...

  8. 第四篇:Spark SQL Catalyst源码分析之TreeNode Library

    /** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer,本来打算直接写Optimizer的,但是发现 ...

  9. bat批处理以当前时间创建文本文件

    :: 表示注释 :: @表示不显示当前命令,只在后台执行 :: @echo off 表示以后执行的命令都不显示 :: set d=%,% 表示设置变量d为当前年月日,默认表示为例如:// :: set ...

  10. 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 A题 Weather Patterns

    2017-09-25 15:49:45 writer:pprp 阅读理解,当时没有耐心去读,只要能读懂就大概可以做出来 题意如下: 有四种天气, State 1: snow State 2: rain ...