【SSL】1653数字游戏
【SSL】1653数字游戏
Time Limit:10000MS
Memory Limit:65536K
Description
小W发明了一个游戏,他在黑板上写出了一行数字a1,a2,a3,……,an,然后给你M个回合的机会,每会回你可以从中选择一个数字擦去它,接着剩下来的每个数字ai都要递减一个值bi。如此重复m个回合,所有你擦去的数字之和就是你所得的分数。
小W和他的好朋友小Y玩了这个游戏,可是他发现,对于每个给出的a和b序列,小Y的得分总比他高,所以他就很不服气。于是他想让你帮他算算,对于每个a和b序列,可以得到的最大得分是多少。
Input
输入文件的第一行是一个整数n(1<=n<=2000),表示数字个数;第二行一个整数m(1<=m<=n),表示回合数,接下来一行有n个不超过10000的正整数,a1,a2,a3,……,an表示原始序列,最后一行有n个不超过500的正整数,b1,b2,b3,……,bn,表示每回合每个数字递减的值。
Output
输出文件只有一个整数,表示最大的可能得分
Sample Input
3
3
10 20 30
4 5 6
Sample Output
47
思路
对数按b[i]从大到小排序。
排序后,删除的顺序就是从左到右的。
设f[i][j]表示从前i个删除j个数的最大分值。
f[i][j]=max(f[i-1][j],f[i-1][j-1]+a[i]-b[i]*(j-1))
1<=i<=n,1<=j<=m
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int f[2010][2010],n,m;
struct jgt
{int a,b;
}s[2010];
bool cmp(jgt t1,jgt t2)
{return t1.b>t2.b;
}
void input()
{int i;memset(f,-10,sizeof(f));scanf("%d%d",&n,&m);for(i=1;i<=n;i++)scanf("%d",&s[i].a);for(i=1;i<=n;i++){f[i][0]=0;scanf("%d",&s[i].b);}sort(s+1,s+1+n,cmp);//排序f[0][0]=0;return;
}
void DP()
{int i,j;for(i=1;i<=n;i++)for(j=1;j<=m;j++)f[i][j]=max(f[i-1][j],f[i-1][j-1]+s[i].a-s[i].b*(j-1));//状态转移方程return;
}
int main()
{input();DP();printf("%d",f[n][m]);return 0;
}
【SSL】1653数字游戏相关推荐
- 【动态规划】 数字游戏 (ssl 1653)
数字游戏 题目大意: 有n个数,分别为a[1] (序号为1),a[2] (序号为2),a[3]-a[n],让你选m个数,每选一个数,就要减去已选个数(不算当前数)*b[i] (i为当前值的序号),所选 ...
- 用法 stl_51Nod 2160 数字游戏 STL基本用法
目录 目录 1. 题目描述 1.1. Limit 1.2. Problem Description 1.3. Input 1.4. Output 1.5. Sample Input 1.6. Samp ...
- [蓝桥杯]PREV-23.历届试题_数字游戏
问题描述栋栋正在和同学们玩一个数字游戏.游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈.栋栋首先说出数字1.接下来,坐在栋栋左手边的同学要说下一个数字2.再下面的一个同学要从上一个同学说的数字往 ...
- C语言经典小游戏---猜数字游戏 (包含C语言中如何实现随机数的生成)
题目描述:输入1-100之间的数字,进行猜数字游戏,猜大猜小有提示,直至才对为止,游戏可以重复游玩. 算法思路: 1.用void函数分别写出菜单程序与游戏进程程序. 2.用switch-case-de ...
- 例题3-4 猜数字游戏的提示(Master-Mind Hints, UVa 340)
实现一个经典"猜数字"游戏.给定答案序列和用户猜的序列,统计有多少数字位置正确 (A),有多少数字在两个序列都出现过但位置不对(B). 输入包含多组数据.每组输入第一行为序列长度n ...
- https、SSL与数字证书介绍
在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 首先解释一下上面的几个名词: https:在http(超文本 ...
- c语言猜数字游戏用while,【C语言基础】有趣的猜数字游戏。(while循环,if语句,switch语句)...
要求:猜数字游戏的实现.代码如下:#include #include #include void menu() { printf("***************************** ...
- python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏
python入门教程 本文涉及的python基础语法为while循环 #python#3中while语句常常被用于循环执行某个程序,任何非0和非空null的值,都会被条件判断为True while 条 ...
- Go-实现猜数字游戏代码
实现猜数字游戏代码 1 package main 2 3 import ( 4 "fmt" 5 "math/rand" 6 "time" 7 ...
- 挣值管理不是搞数字游戏
摘要: 要考PMP(Project Management Professional ),挣值管理是必考的知识.软件项目有很大的特殊性,不少人认为挣值管理不太适用于软件项目.挣值管理相关资料也比较超多, ...
最新文章
- 理解java和python类变量以及类的成员变量
- NetDevOps — NAPALM
- C#基础篇三流程控制2
- 论文多次被拒怎么办?Best Paper Award获得者聊聊如何才能中顶会
- 【Qt】modbus之串口模式读操作
- 【Android Studio安装部署系列】十一、Android studio获取数字签名信息
- leetcode1292. 元素和小于等于阈值的正方形的最大边长(二分法+前缀和)
- 云+X案例展 | 传播类:九州云 SD-WAN 携手上海电信,助力政企客户网络重构 换新颜
- 昨晚停网后,我写了一段Python代码破解了隔壁小姐姐的wifi密码
- 【原】如何实现IE6下块级元素的内容自动收缩
- 计算机离港系统分为模块,计算机离港系统包括( )模块。
- linux mtd手动烧写固件,路由器固件的几种烧写方式
- 学习云计算与大数据就业前景好吗?
- 低分辨率和畸变严重的棋盘格角点的自动检测
- python采用强制缩进的方式是代码具有极佳的可读性_python入门
- abab的四字成语_关于abab的四字成语大全
- MySQL专题四——MySQL函数(聚合函数)
- 【Django毕业设计源码】Python旧衣物捐赠系统的设计与实现
- RationalDMIS 7.1 矢量点自动“获得IJK“功能。
- 阴阳师服务器列表 修复,阴阳师服务器崩了修复了吗?阴阳师最新4月15日更新内容...