企鹅的游戏(penguin)
企鹅的游戏(penguin)
题目描述
Shiva养了一只小企鹅。小企鹅很聪明,她总是帮Shiva和他的好朋友想出很多很好玩的游 戏。其中有一个游戏特别经典,Shiva和他的小伙伴们百玩不厌。 游戏规则如下: 先给出2个正整数序列A1、A2,序列长度分别为L1,L2 (1 ≤ L1, L2 ≤ 5000)。你可以 做如下移动:移去第一个序列的最后P1 (P1≥1) 个数(可以是整个序列)并得到它们的和 S1,同时移去第二个序列的最后P2 (P2≥1)个数(可以是整个序列)并得到它们的和S2。 那么这次移动的费用为 (P1-S1)*(P2-S2)。你可以继续游戏直到两个序列为空,所以不允许一个数列空了,而另一个数列中还有数。而这次游戏 的费用就为每次移动费用的和。 你现在的目标是使这次游戏的费用最小。 注意:序列能为空当且仅当两个序列同时为空。
输入
第一行两个正整数L1,L2分别表示两个序列的长度; 第二行L1个正整数,描述序列A1[1..L1],第i个正整数为A1[i] 第三行L2个正整数,描述序列A2[1..L2],第i个正整数为A2[i] 除L1,L2外,所有的整数均不超过1000。
输出
一个正整数表示该次游戏的最小费用
样例输入
3 2
1 2 3
1 2
样例输出
2
提示
对于30%数据,1<=L1,L2<=50
对于60%数据,1<=L1,L2<=500
对于100%数据,1<=L1,L2<=5000
solution
可以发现每次操作k1或者k2一定有一个等于1
(直观的想多个乘一起一定不优)
效率O(n^3)
有个技巧 把a[i]--;
f[i][j]=min(f[i][j],f[i-1][j]+a[i]*b[j]);
f[i][j]=min(f[i][j],f[i][j-1]+a[i]*b[j]);
f[i][j]=min(f[i][j],f[i-1][j-1]+a[i]*b[j]);
为什么这样可以呢
假设代价是a*(b+c)
我们可以理解为a*b+a*c
那就相当于b时留着a不删去c时再删去
include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define maxn 2005
using namespace std;
int n,m,f[maxn][maxn],a[maxn],b[maxn];
int main()
{cin>>n>>m;for(int i=0;i<=n;i++)for(int j=0;j<=m;j++)f[i][j]=1e9;for(int i=n;i>=1;i--){scanf("%d",&a[i]);a[i]--;}for(int i=m;i>=1;i--){scanf("%d",&b[i]);b[i]--;}f[0][0]=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){f[i][j]=min(f[i][j],f[i-1][j]+a[i]*b[j]);f[i][j]=min(f[i][j],f[i][j-1]+a[i]*b[j]);f[i][j]=min(f[i][j],f[i-1][j-1]+a[i]*b[j]);}}cout<<f[n][m]<<endl;return 0;
}
企鹅的游戏(penguin)相关推荐
- 企鹅java游戏下载安装_企鹅企鹅生活安卓版游戏下载|企鹅企鹅生活手游下载v1.6.1-乐游网安卓下载...
<企鹅企鹅生活手游>这是一款玩法非常轻松有趣的点击类养成手游,游戏采用卡通风格设计非常的清新美观,游戏中,玩家将能体验到养育企鹅的各种乐趣,从孵化企鹅蛋到看着企鹅一点一点长大,非常的有意思 ...
- fcn从头开始_从头开始:简单游戏系列1-抓鱼
fcn从头开始 Recently, I've decided to take a break from coding on IDE's and go back to the basics of exp ...
- 【娱乐休闲】Ubuntu下的小游戏哦!
SuperTux and SuperTux2 类似于超级玛丽,不过主角换成了一只企鹅.安装方法: sudo apt-get install supertux Fish Fillets ...
- 树莓派基金会来号召用键盘生物学家研究企鹅
伦敦动物学会(Zoological Society of London)于2014年,与伍兹霍尔海洋研究所和牛津大学等组织合作监控企鹅的计划Penguin Lifelines有了新进展,伦敦动物学会现 ...
- 企鹅号一万阅读能有多少收益?企鹅号平台补贴怎么获得
首先介绍下企鹅自媒体平台的优势 企鹅媒体平台由腾讯推出,发布的文章将在天天快报.腾讯新闻客户端.微信新闻插件.手机QQ新闻插件.QQ公众号.手机腾讯网.QQ浏览器等 平台渠道进行一键分发,所以流量是相 ...
- IOS塔防游戏《坦克对大炮》的开发设计记录
IOS塔防游戏<坦克对大炮>的开发设计记录 引子 游戏已经在App Store上线几个月了,一直很想写点什么记录一下.真要写的时候,却又发现无从下笔没啥好写的.在2012年进入IOS,对于 ...
- 腾讯的断舍离:弃“企鹅”,保“虎斗”
配图来自Canva可画 2022年4月7日,企鹅电竞发布公告宣布,将于2022年6月7日23时59分终止运营.企鹅电竞经过多番垂死挣扎之后,最终还是选择了主动停运,体面离场.不过"企鹅&qu ...
- 《Linux游戏编程》——理解Linux文件系统标准
Linux游戏编程 Programming Linux Games [美]John R. Hall 著 作者:[美]John R. Hall 单位:Loki Software, Inc. 时间:200 ...
- 开源玩家福利:十大Linux免费游戏
假如当你考虑从Windows平台迁移至Linux平台时,"我能在Linux平台上游戏吗?"这类疑问正困扰着你,那么对此这有一个答案就是"快去Linux平台吧!" ...
- 谁说linux下无游戏,十大免费linux大型游戏集合
发表时间:2014-08-28 假如当你考虑从Windows平台迁移至Linux平台时,"我能在Linux平台上游戏吗?"这类疑问正困扰着你,那么对此这有一个答案就是&quo ...
最新文章
- python读取文件特定内容_python读取指定内存的内容
- 专栏 | 基于 Jupyter 的特征工程手册:特征选择(五)
- 一篇小黄文牵出国内最大黑产
- Openstack迁移DDH最佳实践
- 牛客练习赛36 F-Rabbit的蛋糕 (叉积求面积, 记录前缀)
- 路由器下交换机下计算机不能共享,路由器下接交换机,路由下的电脑和交换机下的电脑如何实现打印机共享?...
- flask-01-http通信的回顾
- PHPExcel+phalcon+yii批量导入
- 笨办法学 Linux 0~3
- 阿里云开源镜像站下载最新Ubuntu和CentOS镜像
- c语言蛮力法实现背包问题
- MSP430单片机,大学的回忆
- 化工图纸中LISP_化工设计之工程图纸(这篇文章给你讲全了)
- Team Tic Tac Toe--数据结构set的妙用
- C语言半框,不同的镜架结构优劣大盘点
- 代码式动态录入生成个人简历页面html页面前端源码
- 树莓派3b 重装系统后 启动ssh 和 设定自动连接wifi
- 经营十二条(学习总结)
- 如何创建二维数组 微信小程序_微信小程序遍历二维数组
- JC24B 2.4G无线模块配置