D. Colored Rectangles[思维dp]
题意:
3种颜色木棍,每次从两种颜色木棍各选一对组成矩形。求最后所有矩形面积和最大值。
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;typedef long long ll;
const int maxn = 205;int R[maxn],G[maxn],B[maxn];
ll dp[maxn][maxn][maxn];int main() {int n1,n2,n3;scanf("%d%d%d",&n1,&n2,&n3);for(int i = 1;i <= n1;i++) {scanf("%d",&R[i]);}for(int i = 1;i <= n2;i++) {scanf("%d",&G[i]);}for(int i = 1;i <= n3;i++) {scanf("%d",&B[i]);}sort(R + 1,R + 1 + n1);sort(G + 1,G + 1 + n2);sort(B + 1,B + 1 + n3);for(int i = 0;i <= n1;i++) {for(int j = 0;j <= n2;j++) {for(int k = 0;k <= n3;k++) {dp[i + 1][j + 1][k] = max(dp[i + 1][j + 1][k],dp[i][j][k] + R[i + 1] * G[j + 1]);dp[i + 1][j][k + 1] = max(dp[i + 1][j][k + 1],dp[i][j][k] + R[i + 1] * B[k + 1]);dp[i][j + 1][k + 1] = max(dp[i][j + 1][k + 1],dp[i][j][k] + G[j + 1] * B[k + 1]);}}}printf("%lld\n",dp[n1][n2][n3]);return 0;
}
D. Colored Rectangles[思维dp]相关推荐
- Colored Rectangles【简单DP】
题目描述:原题链接 You are given three multisets of pairs of colored sticks: R pairs of red sticks, the first ...
- CF1398D Colored Rectangles (记忆化搜索DP)
数据范围只有200,所以我们可以用O(n3)O(n^3)O(n3)的暴力DP 闫氏DP分析法用着是真的爽 #include<cstdio> #include<algorithm> ...
- CodeForces - 1353E K-periodic Garland(思维+dp)
题目链接:点击查看 题目大意:给出 n 个灯泡以及其初始状态(开或关),每次操作可以将任意一个灯泡的状态置反,问最少需要操作多少次,可以使得所有开着的灯泡之间相距 k 个单位 题目分析:因为需要满足所 ...
- 思维dp ---- Codeforces Round #142 (Div. 1) D. Towers
题目链接 题目大意: 你可以把第iii座塔和i+1i+1i+1座或i−1i-1i−1座合并成一个 使得到的那座塔的高度是原来两座塔的和 问最使序列变成严格不增最小合并次数 解题思路: 首先我想到的是贪 ...
- 思维dp ---- CF41D Pawn [可达状态统计dp]
题目链接 题目大意: 解题思路: 如果没有 k+1∣∑wk+1|\sum wk+1∣∑w 的限制的话就是个简单的 dp dp[i][j]=max(dp[i+1][j−1],dp[i+1][j+1])d ...
- 思维dp ---- 复杂状态找中间状态作为dp状态 1552F - Telepanting
题目链接 题目大意: 有个蚂蚁从000号点要到xn+1x_n+1xn+1的位置. 在x0,x1,x2,x3,.....,xn+1,xnx_0,x_1,x_2,x_3,.....,x_{n+1},x_ ...
- 思维dp ---- K步最短路 D. Explorer Space
题目链接 解题思路: 这题目本质就是求K/2步最短路然后乘以2就可以了因为要回去嘛 如何求k/2步最短路呢? 就是我们dp[k][i][j]dp[k][i][j]dp[k][i][j]求的是kkk步到 ...
- 思维dp ---- Codeforces Round #722 (Div. 1) B. Kavi on Pairing Duty [思维dp + 数学]
题目大意: 将2n2n2n个点两两相连形成n对,对于任意两个点对A和B,要求至少满足其中一条: 1.A和B的某一个完全包含于另一个中 2.A和B的长度相等.问你一共有多少种方案. 解题思路: 题解:假 ...
- D.Digits 思维dp 取log乘积变成加法
题目链接 题目大意: 就是给你nnn个数和一个数字ddd,问你从这n个数中挑出若干个数,使得这些数的乘积最后的一个数字是d,并且结果是最大的,问你要挑出哪些数字? n∈[1,1e5],ai∈[1,10 ...
最新文章
- 修改IDEA项目的JDK应用路径
- 微软私有云分享(R2)7-Linux虚拟机无DNS?
- 内核中的HZ 及延迟等
- golang 编写的邮件客户端
- Windows 7 硬盘安装
- D盘提示RAW文件如何找回
- wince驱动异常调试方法(作者:wogoyixikexie@gliet)
- centos7 xampp启动mysql数据库_mysql主从配置,用win xampp和centos7环境下测试
- python百度翻译接口_python3 调用百度翻译API翻译英文
- Windows Server 2003 出现的Service Unavailable怎么办?
- 【今日CS 视觉论文速览】Wed, 12 Dec 2018
- MySQL数据库进阶(API的理解、Python对MySQL的接口)
- 42.从非托管磁盘创建虚拟机
- perl删除Windows下的图片缓存缩略图(Thumbs.db)
- 户籍管理系统的设计与实现
- 计算机单机管理软件,小财迷电脑收银系统(收银记账软件) 单机版
- R语言实现地理探测器的流程及代码
- App版本更新接口的设计
- CentOS 某服务器搭建问题收集
- 下载win10镜像(iso)
热门文章
- 基于感知损失的实时风格迁移与超分辨率重建
- 高定位精度的交通标志识别----开源了
- SpringMVC学习(一)———— springmvc框架原理分析和简单入门程序
- 编译语言与解释语言,动态与静态,以及强类型和弱类型的区别
- Array Networks ***官网 客户端下载地址
- 百度搜索_如何打开Intellij IDEA的代码提示功能?
- windows下搭建hadoop-2.6.0本地idea开发环境
- Terracotta tc-config.xml配置说明(这个真的是转的)
- Python——eventlet.websocket
- nginx-0.1.0文件分析3:ngx_send.c