HNU11376:Golf Bot

Problem description

Input

The first line has one integer: N, the number of different distances the Golf Bot can shoot. Each of the following N lines has one integer, ki, the distance marked in position i of the knob.

Next line has one integer: M, the number of holes in this course. Each of the following M lines has one integer, dj , the distance from Golf Bot to hole j.

1<=N,M<=200 000

1<=ki,dj<=200 000

Output

You should output a single integer, the number of holes Golf Bot will be able to complete. Golf Bot cannot shoot over a hole on purpose and then shoot backwards.

Sample Input
3
1
3
5
6
2
4
5
7
8
9
Sample Output
4
Problem Source
HNU Contest 

题意:

打高尔夫,一球能打n种距离,有m个洞,给出每个洞的位置,问两杆之内,在只能往前打的情况下,能进的有几种洞

思路:

数据很大?但你要看有30S,明摆着告诉你暴力可行

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <bitset>
#include <algorithm>
#include <climits>
using namespace std;

#define ls 2*i
#define rs 2*i+1
#define UP(i,x,y) for(i=x;i<=y;i++)
#define DOWN(i,x,y) for(i=x;i>=y;i--)
#define MEM(a,x) memset(a,x,sizeof(a))
#define W(a) while(a)
#define gcd(a,b) __gcd(a,b)
#define LL long long
#define N 200005
#define INF 0x3f3f3f3f
#define EXP 1e-8
#define rank rank1
const int mod = 1000000007;

int hsh[N*2];
int a[N],b[N];

int main()
{
    int n,m,i,j,k;
    while(~scanf("%d",&n))
    {
        MEM(hsh,0);
        for(i = 0; i<n; i++)
        {
            scanf("%d",&a[i]);
            hsh[a[i]] = 1;
        }
        sort(a,a+n);
        for(i = 0; i<n; i++)
        {
            for(j = i; j<n; j++)
            {
                hsh[a[i]+a[j]] = 1;
            }
        }
        int ans = 0;
        scanf("%d",&m);
        for(i = 0; i<m; i++)
        {
            scanf("%d",&b[i]);
            if(hsh[b[i]])
                ans++;
        }
        printf("%d\n",ans);
    }

    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-01 09:22:19

HNU11376:Golf Bot的相关文章

LA6886 Golf Bot(FFT)

题目 Source https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4898 Description Do you like golf? I hate it. I hate golf so much that I decided to build the ultimate golf robot, a robot that wi

Gym 100783C Golf Bot FFT

大致题意: 给你N个整数和M个整数,问这M个数中,有几个数可以表达成那N个整数中一个或者两个整数的和. 分析: 算是半个裸的FFT.FFT可以用来在nlongn时间内求高精度乘法,我们先模拟一下乘法. A4A3A2A1A0*B4B3B2B1B0  Ai,Bj表示位数,结果保存在Ck中 4   3   2   1   0(下标) A4 A3 A2 A1 A0 B4 B3 B2 B1 B0 先不考虑进位 那么C0=A0*B0 C1=A0*B1+A1*B0 Ck=sum(Ai*Bj) (i+j=k)

Gym100783C Golf Bot(FFT)

https://vjudge.net/problem/Gym-100783C 题意: 给出n个数,然后有m次查询,每次输入一个数x,问x能否由n个数中2个及2个以下的数相加组成. 思路:题意很简单,但是如果直接去算要超时. 可以利用傅里叶,计算出两个卷积中的数相加的所有可能性. 1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<cstring> 5 #includ

【FFT】 UVALIVE 6886 Golf Bot

通道:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4898

UVALive - 6886 Golf Bot (FFT)

题意:给N个数a[i],再给M个数,问这M个数中有多少满足:出现在N个数中或能表示成某两个数之和. 分析:FFT求出能够生成的数的系数,给出的M个数若在生成的项中系数不为0,则计数+1 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int MAXN = 4e5 + 10; const double PI = acos(-1.0); struct Complex{ double x, y; in

正则表达式练习 Regex Golf

1. foo 2. k$ 3. ^[a-f]*$ 4. (...).*\1 5. ^(?!.*(.)(.)\2\1) 否定环视即要求后方不出现匹配字符串 6. ^(.)(.).*\2\1$ 7. ^(?!(..+?)\1+$) 8. (.).\1.\1.\1 9. ^[a-e]*[f-z]*$ 正则表达式练习 Regex Golf,布布扣,bubuko.com

初识BOT聊天机器人

最近在想毕业设计做什么,因为在看Python,所以想做个Python项目,浏览网页看到了"BOT",据说这个今年(应该是过去的2016,还没适应~)有点火哈.闭关时间有点久,有点跟不上时代潮流了. BOT是什么?既然谈潮流这么高大上的东西当然不是简单指LOL里面的下路了.这里的BOT指的是ChatBot--聊天机器人. 这个我知道,微软小冰嘛,有调戏过.正好我一直想做一个用来提醒自己任务,安排时间的东西,可以和这个联系在一起,没毛病,继续百度Google. BOT的过去和现在 过去的B

Bot Framework的简单实现

最近微软发布了Bot Framework,查了一些资料后,也就自己尝试着写了一段代码.为了更方便开发,已经有人做了一个Bot Framework的开发模板,请到这里下载.下载完成后,将Bot Application.zip复制到"%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#"下,如下图 然后打开VS2015,这里在C#项目中可以找到Bot Application的模板,点击

IoT vs. BoT──物联网刮起的安全风暴

万物联网已是必然的趋势,在担心家中该如何使用智能冰箱.智能电视之前,更需要留意它们,是否已经被吸收,而成为殭尸网络一员了. 物联网(IoT)是一项被引领期盼的未来技术潮流,只是在人们不断歌颂物联网所带来的美好未来时,另一个造成恐慌的"未来"(Mirai恶意软件),则在2016年底开启了物联网安全威胁之门. 物联网并不只是一个可以连上互联网的装置而已,事实上,物联网可以说是集合网络.应用程序.移动化.云端等科技之大成,甚至包括大数据及AI人工智能等等;但相对的,这些科技所存在的安全问题,