CF-1082(渣渣只做了前三个)
链接: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(渣渣只做了前三个)的更多相关文章
- NOIP2008提高组(前三题) -SilverN
此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0 ...
- BAT线下战争:巨额投资或培养出自己最大对手(包括美团、58、饿了么在内的公司都在计划推出自己的支付工具和金融产品,腾讯只做2不做O)
BAT线下战争:巨额投资或培养出自己最大对手 2015年10月12日09:49 <财经>杂志 我有话说(18人参与) 收藏本文 BAT大举投资线下公司,看似咄咄逼人 ...
- [noip2017] 前三周总结
[noip2017] 前三周总结 10.20 Fri. Day -21 距离noip复赛还有3周了,进行最后的冲刺! 首先要说今天过得并不好,和我早上比赛打挂了有关系. 不过每一次比赛都能暴露出我的漏 ...
- HBase in Action前三章笔记
近期接触HBase,看了HBase In Action的英文版.開始认为还行,做了些笔记.可是兴许看下去,越来越感觉到实战这本书比較偏使用上的细节,对于HBase的具体设计涉及得很少.把前三章的一些笔 ...
- 前三次OO作业总结
一.作业总结 前三次的任务都是表达式求导.这是我在高中就思考过的问题,但是很久都没有付诸实践,直到学习了"类"这个强大的工具.还有正则表达式,如果能适当使用,则不失为一个字符串格式 ...
- Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)
这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...
- Blog总结(前三次作业总结)
前三次作业总结 1.前言 (1)第一次题目集共有8道题目,难度较为简单,知识点为JAVA的一些编程基础知识点,如输入输出,选择,循环,一维数组等. (2)第二次题目集共有5道题目,难度较第一次题目集有 ...
- jq最新前三篇文章高亮显示
/*---------最新前三篇文章高亮显示-------------*/ function latest(){ var color_arr=new Array( "blue", ...
- 对编程语言的需求总结为四个:效率,灵活,抽象,生产率(C++玩的是前三个,Java和C#玩的是后两个)
Why C++ ? 王者归来(转载) 因为又有人邀请我去Quora的C2C网站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文<2012 不宜进入的三个技术点>A ...
随机推荐
- GoldenGate对接 mysql
环境: centos 7.4 mysql 5.5.58 glibc 64 位版,下载链接:https://dev.mysql.com/downloads/mysql/5.5.html#download ...
- jmeter beanshell处理请求响应结果时Unicode编码转为中文
在Test Plan下创建一个后置BeanShell PostProcessor,粘贴如下代码即可: String s=new String(prev.getResponseData()," ...
- 095 Unique Binary Search Trees II 不同的二叉查找树 II
给出 n,问由 1...n 为节点组成的不同的二叉查找树有多少种?例如,给出 n = 3,则有 5 种不同形态的二叉查找树: 1 3 3 2 1 ...
- AQS及其前置知识总结
CLH队列锁 及自旋锁 乐观锁及CAS 独占锁与共享锁 LockSupport与wait ,join和notify 这里截取内部类Node的部分代码,节点的状态值如下: /** waitStatus ...
- Oracle/MySql/SQL Sqlserver分页查询
简述 简单概括一下Oracle,MySql,SQL Sqlserver这三个数据库的分页查询语句. Oracle分页查询 例:每页显示两条数据,现在要查询第二页,也就是第3-4条数据. 查询语句: s ...
- 分布式系统ID生成办法
前言 一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以这种情况下我们并没有对此给 ...
- kafka基础四
消费者消费过程(二) 消费组状态机:消息的产生存储消费看似是杂乱无章的,但万物都会遵循一定的规则成长,任何事物的发展都是有迹可循的. 开始消费组初始状态为Stable,经过第一次Rebalance之后 ...
- main函数与命令行参数
main函数的概念 C语言中main函数称之为主函数 一个c程序从main函数开始执行的 下面的main函数定义正确吗? main函数的本质 main函数是操作系统调用的函数 操作系统总是将main函 ...
- (转)ASIC设计中各个阶段需要注意的问题——节选
ASIC 的复杂性不断提高,同时工艺在不断地改进,如何在较短的时间内开发一个稳定的可重用的ASIC芯片的设计,并且一次性流片成功,这需要一个成熟的ASIC 的设计方法和开发流程.本文结合NCveril ...
- springMVC中ajax和后台数据格式错误
前台ajax: $.ajax("${pageContext.request.contextPath}/hello",// 发送请求的URL字符串. { dataType : &qu ...