链接:http://codeforces.com/contest/1082

A. Vasya and Book

题意:

n,x,y,d

一本电子书有n页,每一次翻动只能往前或者往后翻d页。求x->y页最少需要多少步。只能在(1~n)之间翻。具体细节看题目吧。博客仅作记录

int t,n,x,y,d;
int calc(int x,int y)
{
return abs(x-y)/d;
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d",&n,&x,&y,&d);
int res = abs(x-y);
if(res%d==0)
{
cout<<res/d<<endl;continue;
}
int ans = inf;
if((y-1)%d==0)
{
ans = min(ans,(int)ceil((x-1.)/d)+(y-1)/d);
}
if((n-y)%d==0)
{
ans = min(ans,(int)ceil((double)(n-x)/d)+(n-y)/d);
}
if(ans == inf)
ans = -1;
cout<<ans<<endl;
}
return 0;
}

B. Vova and Trophies

渣渣的代码:

char s[200010];
int d[200010];
int n;
int main()
{
scanf("%d",&n);
scanf("%s",s+1);
int num = 0;
for(int i=1;i<=n;i++)
if(s[i]=='G')
num++;
int ans = 0;
for(int i=1;i<=n;i++)
{
if(s[i]!='G')
{
d[i] = 0;
}
else
{
d[i] = 1;
if(s[i-1] == 'G')
d[i] = d[i-1]+1;
}
}
for(int i=1;i<=n;i++)
{
ans = max(ans,d[i]);
if(s[i-d[i]]=='S'&&d[i]<num)
{
if(s[i-d[i]-1]=='G')
{
if(d[i]+d[i-d[i]-1]<num)
ans = max(ans,d[i]+1+d[i-d[i]-1]);
else
ans = max(ans,d[i]+d[i-d[i]-1]);
}
ans = max(ans,d[i]+1);
}
}
printf("%d\n",ans);
return 0;
}

大神的代码

#include <bits/stdc++.h>
using namespace std;
int res,pre,cnt,g;
int main()
{
int n;
cin>>n;
while(n--)
{
char s;
cin>>s;
if(s=='G')cnt++,g++;
else pre = cnt,cnt = 0;
res = max(res,cnt+pre+1);
}
cout<<min(g,res);
return 0;
}

C. Multi-Subject Competition

vector<int> s[100010];
int n,m; bool cmp(int a,int b)
{
return a>b;
}
bool cmp2(vector<int>a,vector<int> b)
{
return a.size()>b.size();
}
int main()
{
cin>>n>>m;
int t,r;
for(int i=1;i<=n;i++)
{
scanf("%d%d",&t,&r);
s[t].push_back(r);
}
int mi = 0;
for(int i=1;i<=m;i++)
{
sort(s[i].begin(),s[i].end(),cmp);
for(int j=1;j<s[i].size();j++)
s[i][j] += s[i][j-1];
mi = max(mi,(int)s[i].size());
}
sort(s+1,s+m+1,cmp2);
int ans = 0;
for(int i=0;i<mi;i++)
{
int sum = 0;
for(int j=1;j<=m;j++)
{
if(i>=s[j].size())break;
sum = max(sum,sum+s[j][i]);
//printf("%d %d\n",j,s[j][i]);
}
//cout<<sum<<endl;
ans = max(ans,sum);
}
cout<<ans<<endl;
return 0;
}

大神的代码

#include<bits/stdc++.h>
using namespace std;
long long n,m,s,r,k,c,mx,a[200000],l;
pair<long long,long long> p[200000];
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>s>>r;
p[i]={s,-r};
}
sort(p,p+n);
for(int i=0;i<n;i++)
{
if(p[i].first!=l)
{
k=0; c=0; l=p[i].first;
}
c-=p[i].second;
k++;
if(c>0)
a[k]+=c;
mx=max(mx,a[k]);
}
cout<<mx;
return 0;
}

CF-1082(渣渣只做了前三个)的更多相关文章

  1. NOIP2008提高组(前三题) -SilverN

    此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0 ...

  2. BAT线下战争:巨额投资或培养出自己最大对手(包括美团、58、饿了么在内的公司都在计划推出自己的支付工具和金融产品,腾讯只做2不做O)

    BAT线下战争:巨额投资或培养出自己最大对手 2015年10月12日09:49   <财经>杂志    我有话说(18人参与) 收藏本文        BAT大举投资线下公司,看似咄咄逼人 ...

  3. [noip2017] 前三周总结

    [noip2017] 前三周总结 10.20 Fri. Day -21 距离noip复赛还有3周了,进行最后的冲刺! 首先要说今天过得并不好,和我早上比赛打挂了有关系. 不过每一次比赛都能暴露出我的漏 ...

  4. HBase in Action前三章笔记

    近期接触HBase,看了HBase In Action的英文版.開始认为还行,做了些笔记.可是兴许看下去,越来越感觉到实战这本书比較偏使用上的细节,对于HBase的具体设计涉及得很少.把前三章的一些笔 ...

  5. 前三次OO作业总结

    一.作业总结 前三次的任务都是表达式求导.这是我在高中就思考过的问题,但是很久都没有付诸实践,直到学习了"类"这个强大的工具.还有正则表达式,如果能适当使用,则不失为一个字符串格式 ...

  6. Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)

    这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...

  7. Blog总结(前三次作业总结)

    前三次作业总结 1.前言 (1)第一次题目集共有8道题目,难度较为简单,知识点为JAVA的一些编程基础知识点,如输入输出,选择,循环,一维数组等. (2)第二次题目集共有5道题目,难度较第一次题目集有 ...

  8. jq最新前三篇文章高亮显示

    /*---------最新前三篇文章高亮显示-------------*/ function latest(){ var color_arr=new Array( "blue", ...

  9. 对编程语言的需求总结为四个:效率,灵活,抽象,生产率(C++玩的是前三个,Java和C#玩的是后两个)

    Why C++ ? 王者归来(转载) 因为又有人邀请我去Quora的C2C网站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文<2012 不宜进入的三个技术点>A ...

随机推荐

  1. RT-Thread 设备驱动UART浅析

    OS版本:RT-Thread 4.0.0 芯片:STM32F407 RT-Thread的串口驱动框架与Linux相识,分成 I/O设备框架 + 设备底层驱动: 1. serial设备初始化及使用 将配 ...

  2. ios wkwebview 跳转到新的controllerview加载页面 出现闪退问题

    func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { if(isF ...

  3. NodeJs前端构建工具 ——————之Grunt篇

    为何使用grunt? 如何搭建grunt? 开始第一个grunt项目 基础()合并js文件 开始第一个grunt项目 基础()压缩js 开始第一个grunt项目 基础()代码规范检测 开始第一个gru ...

  4. 解决thymeleaf严格html5校验的方法

    用的是springboot加thyemleaf做静态模板. 然后会有个很烦的东西,就这个静态模板对html的格式非常严格,导致很多框架的格式都用不了,然后这里有个解除的方法: 1.在pom中添加依赖: ...

  5. centos7安装文档

    1.当载入安装镜像时,我们会看到如下图中的画面,我们选择第一项,安装centos7 2.选择英语(个人测试环境可以使用中文安装) 3.选择network&hostname配置网络 4.在配置网 ...

  6. vi/vim 中批量在行插入或删除指定字符

    1. 在每行的行首行尾插入指定字符      行首::%s/^/insert_word/ 行尾::%s/$/insert_word/  2. 在某些行的行进行替换       在2~50行首添加//号 ...

  7. OAuth2.0基本原理及应用

    OAuth2.0基本原理及应用 一.OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 在详细讲解OAuth 2.0之前,需要了解几个专 ...

  8. 声明已被否决 VS C++

    error C4996声明已被否决,不止一次碰到这个问题,在这里必须mark一下! 尝试这个1.Project Properties > Configuration Properties > ...

  9. uvm_reg_model——寄存器模型(一)

    对于一个复杂设计,寄存器模型要能够模拟任意数量的寄存器域操作.UVM提供标准的基类库,UVM的寄存器模型来自于继承自VMM的RAL(Register Abstract Layer),现在可以先将寄存器 ...

  10. uvm_void 寂静的空宇

    空也是一种存在.   ——<三体> 文件: $UVM_HOME/src/base/uvm_misc.svh   virtual class uvm_void; endclass   在静寂 ...