A题

分析:24进制转换

 #include<iostream>
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b){
cout<<(a+b)%<<endl;
}
return ;
}

B题

分析:求曼哈顿距离最近的点

 #include "iostream"
#include "cstdio"
#include "cstring"
#include "string"
#include "cmath"
using namespace std;
const int maxn=+;
const long long INF=;
int n,m;
int vis[maxn];
typedef struct
{
long long x,y;
}point;
typedef struct{
long long x,y;
int num;
}fun;
point p[maxn];
fun s[maxn];
int main()
{
while(cin>>n>>m)
{
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++)
scanf("%lld%lld",&p[i].x,&p[i].y);
for(int i=;i<=m;i++){
scanf("%lld%lld",&s[i].x,&s[i].y);
s[i].num=i;
}
for(int i=;i<=n;i++){
long long minx=INF;
int k=;
for(int j=;j<=m;j++){
long long t=abs(p[i].x-s[j].x)+abs(p[i].y-s[j].y);
if(t<minx){
minx=t;
k=j;
}
}
printf("%d\n",k);
}
}
return ;
}

C题

分析:求所有两个相乘为N的数的最大位数的最小值

 #include "iostream"
#include "cstdio"
#include "cmath"
using namespace std;
const int INF=;
long long n;
int solve(long long num){
int cnt=;
while(num){
cnt++;
num/=;
}
return cnt;
}
int main()
{
while(cin>>n){
long long minx=INF;
//cout<<solve(10000)<<endl;
for(long long i=;i*i<=n;i++){
if(n%i==){
long long t=max(solve(i),solve(n/i));
minx=min(minx,t);
}
}
cout<<minx<<endl;
}
}

D题

分析:首先我们按照从大到小进行排序,然后选取前a个,这样得出来的平均值一定是最大的。然后接着我们统计总共有多少个跟a相同的数,并统计在第a个数之前有多少个跟a相同的数,如果第1个数个数跟第a个相同,则为c[x][y],否则我们统计从a到b的组合数相加.注意求组合数的方法,很经典。

 #include "iostream"
#include "cstdio"
#include "cstring"
#include "string"
#include "cmath"
#include "algorithm"
#include "map"
#include "set"
#include "vector"
#define eps 1e-6
using namespace std;
const int maxn=;
double s[maxn];
long long c[maxn][maxn];
int n,a,b;
bool cmp(double x,double y){
return x>y;
}
void init(){
c[][]=;
for(int i=;i<=n;i++){
c[i][]=,c[i][i]=;
for(int j=;j<i;j++)
c[i][j]=c[i-][j-]+c[i-][j];
}
}
int main()
{
while(cin>>n>>a>>b){
init();
for(int i=;i<n;i++)
cin>>s[i];
sort(s,s+n,cmp);
double sum=;
for(int i=;i<a;i++){
sum+=s[i];
}
double h=sum/(double)a;
int x=,y=;
for(int i=;i<n;i++)
if(s[i]==s[a-]){
x++;
if(i<a)
y++;
}
//cout<<x<<" "<<y<<endl;
printf("%.6f\n",h);
if(s[]!=s[a-]){
cout<<c[x][y]<<endl;
}else{
long long cnt=;
for(int i=a;i<=min(b,x);i++)
cnt+=c[x][i];
cout<<cnt<<endl;
}
//printf("%d\n",ans);
}
return ;
}

AtCoder Beginner Contest 057的更多相关文章

  1. AtCoder Beginner Contest 057 ABCD题

    A - Remaining Time Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Dol ...

  2. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  3. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  4. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  5. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  6. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  7. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  8. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  9. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

随机推荐

  1. Codeforces Round #321 (Div. 2) E

    终于补好了. 题目链接: http://codeforces.com/contest/580/problem/E E. Kefa and Watch time limit per test 1 sec ...

  2. Spring实战Day6

    3.4 bean的作用域 Spring中bean的作用域 单例(Singleton):在整个应用中,只创建bean的一个实例. 原型(Prototype):每次注入或者通过Spring应用上下文获取的 ...

  3. go语言学习之路 二:变量

    说道变量,首先应该提一提关键字,因为不能把关键字当做变量来声明. 关键字: 下面列出GO语言的关键字或保留字: break default func interface select case def ...

  4. sourcetree帮助文档

    Overview SourceTree可以在bookmarks界面跟踪所有的git和mercurial项目.可以概览工程中是否有需要提交的文件等.添加新的bookmark很简单,可以通过两种方式,通过 ...

  5. BUPT复试专题—最值问题(2013计院)

    题目描述 给出N个数,求出这N个数中最大值和次大值.注意这里的次大值必须严格小于最大值.输入保证N个数中至少存在两个不同的数. 输入格式 第一行为测试数据的组数T(T≤20).请注意,任意两组测试数据 ...

  6. weexapp 开发流程(三)其他页面创建

    1.首页 (1)轮播图 步骤一:创建 轮播图 组件(Slider.vue) src / assets / components / Slider.vue <!-- 轮播图 组件 --> & ...

  7. cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法

    cocos2d-x 3.0 中.假设你须要使用CocosStudio.Extensions扩展库 等等.都须要自己手动加入. 加入过程例如以下:(比方说如今我要加入libExtensions,libC ...

  8. Django-权限信息自定义标签

    自定义权限标签: import re from django.template import Library from django.conf import settings register = L ...

  9. Codeforces 558C Amr and Chemistry

    题意: n个数.每次能够选一个数 让其 *=2 或者 /=2 问至少操作多少次使得全部数相等. 思路: 对于每一个数,计算出这个数能够变成哪些数,以及变成那个数的最小步数,用两个数组保存 cnt[i] ...

  10. Django 之 form表单

    Django中的Form表单 1.背景 平时我们在书写form表单时,经常都是手动的去写一些input标签,让用户输入一些功能,进行一些校验的判断,等等.Django中的form表单就能够帮我们去实现 ...