【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数字游戏相关推荐

  1. 【动态规划】 数字游戏 (ssl 1653)

    数字游戏 题目大意: 有n个数,分别为a[1] (序号为1),a[2] (序号为2),a[3]-a[n],让你选m个数,每选一个数,就要减去已选个数(不算当前数)*b[i] (i为当前值的序号),所选 ...

  2. 用法 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 ...

  3. [蓝桥杯]PREV-23.历届试题_数字游戏

    问题描述栋栋正在和同学们玩一个数字游戏.游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈.栋栋首先说出数字1.接下来,坐在栋栋左手边的同学要说下一个数字2.再下面的一个同学要从上一个同学说的数字往 ...

  4. C语言经典小游戏---猜数字游戏 (包含C语言中如何实现随机数的生成)

    题目描述:输入1-100之间的数字,进行猜数字游戏,猜大猜小有提示,直至才对为止,游戏可以重复游玩. 算法思路: 1.用void函数分别写出菜单程序与游戏进程程序. 2.用switch-case-de ...

  5. 例题3-4 猜数字游戏的提示(Master-Mind Hints, UVa 340)

    实现一个经典"猜数字"游戏.给定答案序列和用户猜的序列,统计有多少数字位置正确 (A),有多少数字在两个序列都出现过但位置不对(B). 输入包含多组数据.每组输入第一行为序列长度n ...

  6. https、SSL与数字证书介绍

    在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 首先解释一下上面的几个名词: https:在http(超文本 ...

  7. c语言猜数字游戏用while,【C语言基础】有趣的猜数字游戏。(while循环,if语句,switch语句)...

    要求:猜数字游戏的实现.代码如下:#include #include #include void menu() { printf("***************************** ...

  8. python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏

    python入门教程 本文涉及的python基础语法为while循环 #python#3中while语句常常被用于循环执行某个程序,任何非0和非空null的值,都会被条件判断为True while 条 ...

  9. Go-实现猜数字游戏代码

    实现猜数字游戏代码 1 package main 2 3 import ( 4 "fmt" 5 "math/rand" 6 "time" 7 ...

  10. 挣值管理不是搞数字游戏

    摘要: 要考PMP(Project Management Professional ),挣值管理是必考的知识.软件项目有很大的特殊性,不少人认为挣值管理不太适用于软件项目.挣值管理相关资料也比较超多, ...

最新文章

  1. 理解java和python类变量以及类的成员变量
  2. NetDevOps — NAPALM
  3. C#基础篇三流程控制2
  4. 论文多次被拒怎么办?Best Paper Award获得者聊聊如何才能中顶会
  5. 【Qt】modbus之串口模式读操作
  6. 【Android Studio安装部署系列】十一、Android studio获取数字签名信息
  7. leetcode1292. 元素和小于等于阈值的正方形的最大边长(二分法+前缀和)
  8. 云+X案例展 | 传播类:九州云 SD-WAN 携手上海电信,助力政企客户网络重构 换新颜
  9. 昨晚停网后,我写了一段Python代码破解了隔壁小姐姐的wifi密码
  10. 【原】如何实现IE6下块级元素的内容自动收缩
  11. 计算机离港系统分为模块,计算机离港系统包括( )模块。
  12. linux mtd手动烧写固件,路由器固件的几种烧写方式
  13. 学习云计算与大数据就业前景好吗?
  14. 低分辨率和畸变严重的棋盘格角点的自动检测
  15. python采用强制缩进的方式是代码具有极佳的可读性_python入门
  16. abab的四字成语_关于abab的四字成语大全
  17. MySQL专题四——MySQL函数(聚合函数)
  18. 【Django毕业设计源码】Python旧衣物捐赠系统的设计与实现
  19. RationalDMIS 7.1 矢量点自动“获得IJK“功能。
  20. 阴阳师服务器列表 修复,阴阳师服务器崩了修复了吗?阴阳师最新4月15日更新内容...

热门文章

  1. ATTCK随笔系列之二:偷天陷阱
  2. LeetCode 罗马数字
  3. 算法-斐波那契数列Fibonacci
  4. 快速指数运算:平方-乘算法
  5. New Phyto | 沈其荣团队李荣等解析生物有机肥培育抑病土壤的根际菌群抵御病原菌入侵的机制...
  6. Buffon投针试验【布丰】
  7. echarts柱形图x轴y轴互换_echarts图表x,y轴的设置
  8. 回音消除--富迪科技
  9. 不属于微型计算机的技术特标,计算机组成原理汇总
  10. 近600个教学学习资料链接(zz)