7月11日 bc总结

7月11日 bc总结

A题:暴力替换p,然后贪心求最大字段和。贪心求最大字段和的方法居然忘了。。。

now每次加上a[i],如果now>ans,更新ans;如果now<0,now=0.也就是L移到下一个区间。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<stack>
#include<queue>
#include<set>
#include<map>
#include<string>
#include<math.h>
#include<cctype>
#define ll long long
#define REP(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)
#define REPP(i,a,b,t) for(int (i)=(a);(i)<=(b);(i)+=(t))
#define rep(i,a,b) for(int (i)=(a);(i)>=(b);(i)--)
#define repp(i,a,b,t) for(int (i)=(a);(i)>=(b);(i)-=(t))
#define PII pair<int,int>
#define fst first
#define snd second
#define MP make_pair
#define PB push_back
#define RI(x) scanf("%d",&(x))
#define RII(x,y) scanf("%d%d",&(x),&(y))
#define RIII(x,y,z) scanf("%d%d%d",&(x),&(y),&(z))
#define DRI(x) int (x);scanf("%d",&(x))
#define DRII(x,y) int (x),(y);scanf("%d%d",&(x),&(y))
#define DRIII(x,y,z) int (x),(y),(z);scanf("%d%d",&(x),&(y),&(z))
#define RS(x) scanf("%s",x)
#define RSS(x,y) scanf("%s%s",x,y)
#define DRS(x) char x[maxn];scanf("%s",x)
#define DRSS(x,y) char x[maxn],y[maxn];scanf("%s%s",x,y)
#define MS0(a) memset((a),0,sizeof((a)))
#define MS1(a) memset((a),-1,sizeof((a)))
#define MS(a,b) memset((a),(b),sizeof((a)))
#define ALL(v) v.begin(),v.end()
#define SZ(v) (int)(v).size()

using namespace std;

const int maxn=1000100;
const int INF=(1<<29);
const double EPS=0.0000000001;
const double Pi=acos(-1.0);

ll a[maxn],p;
int n;

int main()
{
    DRI(T);
    while(T--){
        scanf("%d%I64d",&n,&p);
        REP(i,1,n) scanf("%I64d",&a[i]);
        ll ans=-INF;
        REP(i,1,n){
            ll t=a[i];
            a[i]=p;
            ll now=0;
            REP(j,1,n){
                now+=a[j];
                if(now>ans) ans=now;
                if(now<0) now=0;
            }
            a[i]=t;
        }
        cout<<ans<<endl;
    }
    return 0;
}

B题:给n个a[i],m个b[j];当a[i]>=b[j]时,可以用a[i]抵消b[i],然后得分增加a[i]-b[i]。每个a[i]和b[j]只能用一次,求最大得分。

由于答案一定是k个a[i]抵消k个b[j]的,而且显然,一定是用最大的k个a[i]抵消k个最小的b[j].

因此,a[i]从大到小遍历,b[j]从小到大遍历,这样可以保证a[i]最大,b[j]最小,当a[i]<b[j]时,直接break。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<stack>
#include<queue>
#include<set>
#include<map>
#include<string>
#include<math.h>
#include<cctype>
#define ll long long
#define REP(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)
#define REPP(i,a,b,t) for(int (i)=(a);(i)<=(b);(i)+=(t))
#define rep(i,a,b) for(int (i)=(a);(i)>=(b);(i)--)
#define repp(i,a,b,t) for(int (i)=(a);(i)>=(b);(i)-=(t))
#define PII pair<int,int>
#define fst first
#define snd second
#define MP make_pair
#define PB push_back
#define RI(x) scanf("%d",&(x))
#define RII(x,y) scanf("%d%d",&(x),&(y))
#define RIII(x,y,z) scanf("%d%d%d",&(x),&(y),&(z))
#define DRI(x) int (x);scanf("%d",&(x))
#define DRII(x,y) int (x),(y);scanf("%d%d",&(x),&(y))
#define DRIII(x,y,z) int (x),(y),(z);scanf("%d%d",&(x),&(y),&(z))
#define RS(x) scanf("%s",x)
#define RSS(x,y) scanf("%s%s",x,y)
#define DRS(x) char x[maxn];scanf("%s",x)
#define DRSS(x,y) char x[maxn],y[maxn];scanf("%s%s",x,y)
#define MS0(a) memset((a),0,sizeof((a)))
#define MS1(a) memset((a),-1,sizeof((a)))
#define MS(a,b) memset((a),(b),sizeof((a)))
#define ALL(v) v.begin(),v.end()
#define SZ(v) (int)(v).size()

using namespace std;

const int maxn=1000100;
const int INF=(1<<29);
const double EPS=0.0000000001;
const double Pi=acos(-1.0);

int n,m;
vector<ll> A,B;
ll a,b;

int cmp(ll a,ll b)
{
    return a>b;
}

int main()
{
    DRI(T);
    while(T--){
        RII(n,m);
        A.clear();B.clear();
        REP(i,1,n) scanf("%I64d",&a),A.PB(a);
        REP(i,1,m) scanf("%I64d",&b),B.PB(b);
        sort(ALL(A),cmp);
        sort(ALL(B));
        int ia=0,ib=0;
        ll ans=0;
        for(;ia<n&&ib<m;){
            ll tmp=A[ia]-B[ib];
            if(tmp>0) ans+=tmp,ia++,ib++;
            else break;
        }
        cout<<ans<<endl;
    }
    return 0;
}

时间: 2024-12-13 14:12:23

7月11日 bc总结的相关文章

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/shell变量 8.8 shell变量 8.9 环境变量配置文件

五周第四次课(1月11日)8.6 管道符和作业控制8.7/shell变量8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html 关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command

6月21日 bc总结

6月21日 bc总结 最近bc由于急于提交,增加了WA的概率,今天1001数据没测完全就提交了,WA了一次,很不划算,在bc等于罚时10min,下次一定要确保数据正确且所有的情况都考虑到再提交. 1001 水题,5分钟WA了一次,6分钟过.手速还是慢了,重点是居然WA了一次. 1002 给定一个数组,多次询问L和R区间内的逆序数. 数组大小是小于1000. 暴力FST了. 思路:设dp(l,r)为区间 l 到 r 的逆序数.dp(l,r)=dp(l,r-1)+cnt(l,r),其中cnt(l,r

ArrayList2014年6月11日07:26:00

1 //ArrayList是动态数组,方法有: 2 //Add----配合foreach一个个的添加 3 //AddRange-----以数组的形式,一次性添加 4 //Clear--------清空数组 5 //Count-----数组的长度 6 //Remove-----移除对应的元素 7 //RemoveAt------移除改索引对应的元素 8 //Contains------判断是否含所有某个值,返回Bool类型 9 //ToArray--------转换,再没关系(相当于复制一份) 泛

接口2014年6月11日01:11:37

1 [1]C#中的接口和类有什么异同. 2 3 不同点: 4 不能直接实例化接口. 5 接口不包含方法的实现. 6 接口可以多继承,类只能单继承. 7 类定义可在不同的源文件之间进行拆分(partial). 8 9 相同点: 10 接口.类和结构都可以从多个接口继承. 11 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员. 12 接口和类都可以包含事件.索引器.方法和属性(属性本质上是两个方法). 13 14 基础知识:接口只能定义方法(只能定义行为,不能定义实现也就是字段

5月11日上午学习日志

2017年5月11日上午把昨天记忆的英语单词的多种词意用自己组句的方法联系起来再记忆一遍,然后再联系真题学10个考研高频词汇,然后再复习昨天的词汇,再完成英语app的打卡.

4月11日作业

2016年4月11日作业 一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个?1.国家标准 2.行业标准 3.地方标准 4.企业标准 最低要求是国家标准 2.国家标准的制订程序包括哪些?包括:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次?标准每5年复审一次,国标有效期为5年,5年内进行复审 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB?国家标准代号为国标GB,推荐性国家标准代号

软考高项2016年4月11日作业

2016年4月11日作业 一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准和企业标准,其中要求最低的是国家标准.2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每五年复审一次,我国国家标准的有效期5年复审一次.4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB国家标准.GB/T推荐性国家标准.GB/Z国家标准

2015年1月MVP开始申请了~[截止时间:10月11日]

51CTO与微软中国合作长期为用户提供申请"微软最有价值专家"的平台希望有兴趣.资历的朋友以及正在朝这个方向努力的朋友能够积极参与只要您想参与我们将为您向微软推荐 微软最有价值专家MVP一年评选4次分别为每年的1月.4月.7月.10月.2015年1月的MVP申请截止时间是2015年10月11日. 申请MVP的午饭请下载2015年1月MVP申请表填好后发送到[email protected].我们会在每次MVP申请开始时把用户提交的申请表格推荐到微软中国相关部门 [注意事项]1.51CT

13家中国域名商(国际域名)解析量报告(8月11日)

IDC评述网(idcps.com)08月14日报道:根据DailyChanges公布的实时数据显示,截止至2015年8月11日,国内域名解析量前十三强名单顺序,环比上期8月4日,无变化.其中,分列1.8名的中国万网与爱名网表现出色,环比上期,各自净增22,556.16,482个解析量,增势强劲.下面,请看IDC评述网整理的具体数据情况. (图1)中国域名解析商(国际域名)解析量排行榜TOP13分布图 观察图1,可知截止至8月11日,中国域名解析量十三强较量中,中国万网.DNSPod与新网坚守三甲