BestCoder Round #47
1001 Senior's Array
题目链接:1001
题意:给你一个长度为n的序列,你必须修改序列中的某个数为P,求修改后的最大连续子序列和。
思路:数据量比较小,可以直接暴力做, 枚举序列的每个数修改成P,然后更新最大子序列和。
code:
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = ;
typedef long long LL;
int a[MAXN]; LL getSum(int a[], int n)
{
LL maxSum = , tmpSum = ;
int maxNum = -;
for (int i = ; i < n; ++i)
{
tmpSum += a[i];
if (maxSum < tmpSum)
maxSum = tmpSum;
else if (tmpSum < )
tmpSum = ;
maxNum = max(maxNum, a[i]);
}
if (maxSum == ) return (LL)maxNum;
return maxSum;
} int main()
{
int nCase;
cin >> nCase;
while (nCase--)
{
int n, P;
cin >> n >> P;
for (int i = ; i < n; ++i)
cin >> a[i];
LL ans = -;
for (int i = ; i < n; ++i)
{
int t = a[i];
a[i] = P;
ans = max(ans, getSum(a, n));
a[i] = t;
}
cout << ans << endl;
}
return ;
}
1002 Senior's Gun
题目链接:1002
题意:有n把枪每把枪都有一定的攻击值,有m个怪兽每个怪兽都有一定的防御值,当攻击值大于防御值时才能击杀怪兽并获得他们差值的酬劳,求最大酬劳。
思路:容易发现最后的方案一定是攻击力最强的k把枪消灭了防御力最弱的k只怪物。
code:
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = ;
typedef long long LL;
int a[MAXN];
int b[MAXN]; bool cmp(int x, int y)
{
return x > y;
} int main()
{
int nCase;
cin >> nCase;
while (nCase--)
{
int n, m;
cin >> n >> m;
for (int i = ; i < n; ++i)
cin >> a[i];
for (int i = ; i < m; ++i)
cin >> b[i];
sort(a, a + n, cmp);
sort(b, b + m);
LL ans = ;
int p = , q = ;
while (p < n && q < m)
{
if (a[p] > b[q])
{
ans += a[p] - b[q];
++p;
++q;
}
else break;
}
cout << ans << endl;
}
return ;
}
BestCoder Round #47的更多相关文章
- Bestcoder Round 47 && 48
1.Senior's Array(hdu 5280) 题目大意:给出大小为N的数组和P,求将数组中的某个元素替换为P后的最大连续子段和.N<=1000 题解: 1.送分题,比赛的时候只想到枚举替 ...
- BestCoder Round #47 1003
solution : 就按题解敲了一遍,好久没写这种dp ; ; LL f[MAX][MAX]; ]; scanf( scanf(,b+); ...
- HDU 5281 BestCoder Round #47 1002:Senior's Gun
Senior's Gun Accepts: 235 Submissions: 977 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- HDU 5280 BestCoder Round #47 1001:Senior's Array
Senior's Array Accepts: 199 Submissions: 944 Time Limit: 2000/1000 MS (Java/Others) Memory Limit ...
- BestCoder Round #89 02单调队列优化dp
1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01 HDU 5944 水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...
- BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元
BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy Init函数 然后统计就ok B. 博弈 题 不懂 推了半天的SG..... 结果这 ...
- bestcoder Round #7 前三题题解
BestCoder Round #7 Start Time : 2014-08-31 19:00:00 End Time : 2014-08-31 21:00:00Contest Type : ...
- Bestcoder round #65 && hdu 5593 ZYB's Tree 树形dp
Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...
- Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...
随机推荐
- ubuntu下编译内核驱动。
目的: 1. 驱动热身.网上有很多类似的文章可供参考. 2. 在操作系统中, 编写这个设备的驱动. 3. 为写qemu的watchdog驱动练手. 有朋友问make的 watchdog驱动 需要什么准 ...
- Sequence operation(线段树区间多种操作)
Sequence operation Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 一道java面试题-方法静态分派
一道面试题,以下程序的输出是? public class StaticDispatch { static abstract class Human{ } static class Man extend ...
- struts2 全局格式化,格式化时间,金钱,数字
//在前台页面去控制时间,数字,小数,金钱,是极其不明智的选择,除非你是写了良好的 js api 像freemarker , struts 都有良好的标签,我们应该好好利用,才发现的,给大家分享一下 ...
- jquery 点击按钮实现listbox的显示与隐藏,点击其他地方按钮外的地方,隐藏listbox
本来不知道如何获取服务器的控件的,这下知道可以这么做了,所以记录下来.... <asp:ImageButton ID="alltime" ImageUrl="ima ...
- 前端新人学习笔记-------html/css/js基础知识点(二)
4月7日学到的知识点: 一:<img src="1.png" alt="美女"/> alt是给图片添加介绍,当图片没加载出来时,会直接显示a ...
- JavaScript奇技淫巧45招
JavaScript奇技淫巧45招 撰写于 2015年1月5日 修改于 2016年6月16日 分类 翻译 标签 JavaScript 本文是一篇翻译文章,原文信息如下: 原文:45 Useful Ja ...
- <转>机器学习笔记之奇异值分解的几何解释与简单应用
看到的一篇比较好的关于SVD几何解释与简单应用的文章,其实是有中文译本的,但是翻译的太烂,还不如直接看英文原文的.课本上学的往往是知其然不知其所以然,希望这篇文能为所有初学svd的童鞋提供些直观的认识 ...
- vlan trunk vtp端口聚合
第一步:端口聚合(两端都需要做相同的操作) 第二步:在服务器端配置为服务器模式 第四步:在服务器端添加vlan 第五步:在两端分别将不同的端口添加到不同的vlan
- VlanTrunk
简单的vlan trunk的配置: 第一步:添加vlan 1 Switch>enable 2 Switch#show vlan VLAN Name Status Ports ---- ----- ...