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的更多相关文章

  1. Bestcoder Round 47 && 48

    1.Senior's Array(hdu 5280) 题目大意:给出大小为N的数组和P,求将数组中的某个元素替换为P后的最大连续子段和.N<=1000 题解: 1.送分题,比赛的时候只想到枚举替 ...

  2. BestCoder Round #47 1003

    solution : 就按题解敲了一遍,好久没写这种dp ;  ;   LL f[MAX][MAX];  ];             scanf(              scanf(,b+); ...

  3. 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: ...

  4. 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 ...

  5. BestCoder Round #89 02单调队列优化dp

    1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01  HDU 5944   水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...

  6. BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元

    BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy  Init函数 然后统计就ok B. 博弈 题  不懂  推了半天的SG.....  结果这 ...

  7. bestcoder Round #7 前三题题解

    BestCoder Round #7 Start Time : 2014-08-31 19:00:00    End Time : 2014-08-31 21:00:00Contest Type : ...

  8. 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 ...

  9. Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...

随机推荐

  1. Android updater-scripts(Edify Script)各函数详细说明(转)

    这是Android系统来运行updater-scripts的Edify语言的基本介绍. 大部分的Edify命名都是函数,当调用这些函数结束的时候,会返回数据给脚本.当然,你也可以使用这些函数的返回值来 ...

  2. HDU 5723 Abandoned country(最小生成树 + 树形DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5723 [题目大意] n座城市,m条路径,求解: 1.最短的路径和,使得n座城市之间直接或者间接连通 ...

  3. 了解Linux 命名空间

    转载: http://laokaddk.blog.51cto.com/368606/674256 命名空间提供了虚拟化的一种轻量级形式,使得我们可以从不同的方面来查看运行系统的全局属性.该机制类似于S ...

  4. Qt编写端口扫描工具

    Qt提供了QTcpSocket类,可以方便地建立TCP连接.利用这一功能,Maxiee编写了一个简单地端口扫描工具. 软件的功能就是,扫描某一网段的固定端口,如80端口,若目的地址开放了这一端口,那么 ...

  5. Walking Ant(bfs)

    Walking Ant Time Limit: 2 Seconds      Memory Limit: 65536 KB Ants are quite diligent. They sometime ...

  6. java 中解决中文乱码问题的方法(三法)

    1. 重新定义. String str = "中文试试" ; str = new String(u.getBytes("iso-8859-1"),"u ...

  7. ASP.NET导出EXCEl方法使用EXCEl对象

    导出功能必须使用  office中EXCEl对象,整个操作如同在操作EXCEl一样,建立EXCEl应用----建立工作簿---建立sheet表单页, 代码实现过程中,如果想对单元格实现一些操作,或者汇 ...

  8. iOS keyChain(钥匙串)的简单使用

    通常在开发中我们需要长久的保存某些值比如用户的账号密码等,对于隐私度很高的数据来说保证数据的安全性是尤为重要的.ios中的keyChain是一种很好的选择. 首先去开发者网站(https://deve ...

  9. 浅谈Mybatis(二)

    一.resultMap 作用:发现数据库的查询结果与实体之间不匹配时,需要通过ResultMap来进行映射处理.常用于多表查询. 多表查询还是比较复杂的,因为可能的情况很多.这里只说两种情况: 1.1 ...

  10. POJ1323-Game Prediction

    描述: Suppose there are M people, including you, playing a special card game. At the beginning, each p ...