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. UVA 11346 Probability

    题目描述 PDF 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 3 10 5 20 1 1 1 2 2 0 输出样例#1: 23.348371% 0.000000% 100.00 ...

  2. Android:BLE智能硬件开发详解

    目录 前言 BLE是个什么鬼 BLE中的角色分工 主要的关键词和概念 GATT(Generic Attribute Profile ) Characteristic Service Android如何 ...

  3. 用df命令显示磁盘使用量和占用率。

    使用“df -k”命令,以k为单位显示磁盘使用量和占用率. root@gsg43:/tmp# df -kFilesystem     1K-blocks    Used Available Use% ...

  4. 怎么下载google商店的扩展程序?

    首先,你有机会进入到了外网! 浏览器输入:chrome://extensions 复制唯一的ID进入:http://crx.2333.me/ ,然后下载即可!

  5. gameplay理解

    Camera视角:确定显示的视场及视角. Game:显示的基类.静态单例模式.但是获取方式很奇怪. Game::getInstance得到的是__gameInstance,但是__gameInstan ...

  6. ubuntu 16.04 更新后搜狗输入法无法输入中文的问题

    方法一:重启搜狗输入法 通过下面的两个命令重启搜狗输入法,看重启后是否可以正常使用: ~$ killall fcitx  ~$ killall sogou-qinpanel   方法二:检查修复安装依 ...

  7. HTML页面底部无用留白

    HTML页面底部无用留白,可以再footer样式中加入: overflow: hidden; 如有错误,请您指正~

  8. Qt、C++ 简易计算器

    Qt.C++实现简易计算器: 以下内容是我实现这个简易计算器整个过程,其中包括我对如何实现这个功能的思考.中途遇到的问题.走过的弯路 整个实现从易到难,计算器功能从简单到复杂,最开始设计的整个实现步骤 ...

  9. 浅谈JavaScript的函数表达式(递归)

    递归函数,在前面的博客中已经简单的介绍了.递归函数是一个通过函数名称在函数内部调用自身的函数.如下: function fac(num){ if(num<1){ return 1; } else ...

  10. python day- 6 is 和 ==的区别 encode 和 decode

    1.is 和  == 的区别. == 是由来判断左右两边的内容是否相等. is 是用来判断内存地址是否相同. 引进 id (   )函数 小数据池: 对于字符串 ,数字 ,bool 值进行 id()计 ...