ZUFE2486 Heap 2017-05-31 14:37 41人阅读 评论(0) 收藏
2486: Heap
时间限制: 2 Sec 内存限制: 128 MB
提交: 16 解决: 5
[提交][状态][讨论版]
题目描述
有n个非负整数,a1,a2,a3.....an。
有Q次询问,每次询问输入四个正整数A,B,C,D
每次询问输出有多少个ai,满足ai%A==0 && ai%B==0 && ai%C==0 && ai%D==0。
输入
第一行输入T,表示有T组测试数据。
每组测试数据,
第一行输入n,
第二行输入n个非负整数,
第三行输入Q,
接下来Q行每行输入四个正整数A,B,C,D。
1<=n<=100000
0<=ai<=100000
1<=Q<=100000
1<=A,B,C,D<=10000
输出
每次询问,输出满足条件的数字个数。
样例输入
1
5
1 2 3 4 5
3
1 1 1 1
1 1 2 2
1 2 3 4
样例输出
5
2
0
提示
来源
————————————————————————————————————————
首先感谢学长的命题与指导!
思路:因为a不大,所以一旦4个数的LCM大于1e5的话答案就是0的个数,否则预处理统计下每个数的倍数有多少个即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <cmath> using namespace std; #define LL long long
const int INF=0x3f3f3f3f; int cnt[100005],a[100005]; LL gcd(LL x,LL y)
{
return x%y==0?y:gcd(y,x%y);
} int main()
{
int T;
LL a1,a2;
int x,n,q;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n); memset(cnt,0,sizeof cnt);
memset(a,0,sizeof a);
for(int i=0; i<n; i++)
scanf("%d",&x),cnt[x]++; for(int i=1; i<100005; i++)
for(int j=0; i*j<100005; j++)
{
a[i]+=cnt[i*j];
}
scanf("%d",&q);
while(q--)
{
scanf("%lld%lld",&a1,&a2);
a1=a1*a2/gcd(a1,a2);
scanf("%lld",&a2);
a1=a1*a2/gcd(a1,a2);
scanf("%lld",&a2);
a1=a1*a2/gcd(a1,a2);
if(a1>100000)
printf("%d\n",cnt[0]);
else
printf("%d\n",a[a1]); } }
return 0;
}
ZUFE2486 Heap 2017-05-31 14:37 41人阅读 评论(0) 收藏的更多相关文章
- iOS中UITextField 使用全面解析 分类: ios技术 2015-04-10 14:37 153人阅读 评论(0) 收藏
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 13 ...
- Hadoop入门经典:WordCount 分类: A1_HADOOP 2014-08-20 14:43 2514人阅读 评论(0) 收藏
以下程序在hadoop1.2.1上测试成功. 本例先将源代码呈现,然后详细说明执行步骤,最后对源代码及执行过程进行分析. 一.源代码 package org.jediael.hadoopdemo.wo ...
- Hdu2181 哈密顿绕行世界问题 2017-01-18 14:46 45人阅读 评论(0) 收藏
哈密顿绕行世界问题 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- Lucene学习总结之四:Lucene索引过程分析 2014-06-25 14:18 884人阅读 评论(0) 收藏
对于Lucene的索引过程,除了将词(Term)写入倒排表并最终写入Lucene的索引文件外,还包括分词(Analyzer)和合并段(merge segments)的过程,本次不包括这两部分,将在以后 ...
- iOS正则表达式 分类: ios技术 2015-07-14 14:00 35人阅读 评论(0) 收藏
一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- MS SQL数据批量备份还原(适用于MS SQL 2005+) 分类: SQL Server 数据库 2015-03-10 14:32 103人阅读 评论(0) 收藏
我们知道通过Sql代理,可以实现数据库的定时备份功能:当数据库里的数据库很多时,备份一个数据库需要建立对应的定时作业,相对来说比较麻烦: 还好,微软自带的osql工具,比较实用,通过在命令行里里输入命 ...
- Hdu2102 A计划 2017-01-18 14:40 60人阅读 评论(0) 收藏
A计划 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissio ...
- 读取Webpage表中的内容 分类: H3_NUTCH 2015-02-10 14:59 418人阅读 评论(0) 收藏
nutch将从网页中抓取到的信息放入hbase数据库中,默认情况下表名为$crawlId_webpage,但表中的内容以16进制进行表示,直接scan或者通过Java API进行读取均只能读取到16进 ...
- Lucene学习总结之三:Lucene的索引文件格式(1) 2014-06-25 14:15 1124人阅读 评论(0) 收藏
Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙. 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程, ...
随机推荐
- include 指令和 include 动作引入 jsp 页面时中文乱码
include指令:<%@ include file="new.jsp" %> include动作:<jsp:include page="new.jsp ...
- [ES]elasticsearch章3 ES写入过程解析
Elasticsearch的写 Elasticsearch采用多Shard方式,通过配置routing规则将数据分成多个数据子集,每个数据子集提供独立的索引和搜索功能.当写入文档的时候,根据routi ...
- where
(二)WHERE //where不单独使用,与match,optional match,start,with搭配 where 与match,optional match 一起用,表示约束 where ...
- 使用GZipStream压缩和解压文件
最近做了一个用.NET里的GZipStream压缩解压缩gzip文件的小程序. GZipStream在System.IO.Compression底下,使用起来也很简单.虽然GZipStream是Str ...
- SpringMVC学习笔记:单例与并发问题
Spring中的Bean默认都是单例(singleton),Spring中Bean的scope属性有五种类型: singleton 表示在spring容器中的单例,通过spring容器获得该bean时 ...
- win8 本地化
先看个简单的案例:新时尚Windows8开发(6):资源 & 本地化 http://www.silverlightchina.net/html/windows8/study/2012/0902 ...
- 再读c++primer plus 002
1.读取char值时,与读取其它基本类型一样,cin将忽略空格和换行符,函数cin.get(ch)读取输入的下一个字符(即使是空格),并将其赋给变量ch. 2.指针和const:(1)让指针指向一个常 ...
- 02.制作一个自己的 Java 编辑器
难度中等,适合 Java 基础扎实,对 Java 核心 API 有所熟悉的同学学习 No1.制作GUI界面 一.实验介绍 1.1 实验内容 本节课程的主要内容是准备开发环境,建立项目并完成 GUI 界 ...
- Java HttpURLConnection 下载图片 图片全是“加密图片”文字,怎么解决?
package com.qzf.util; import java.io.FileOutputStream;import java.io.IOException;import java.io.Inpu ...
- 2018.12.19 codeforces 1092F. Tree with Maximum Cost(换根dp)
传送门 sbsbsb树形dpdpdp题. 题意简述:给出一棵边权为1的树,允许选任意一个点vvv为根,求∑i=1ndist(i,v)∗ai\sum_{i=1}^ndist(i,v)*a_i∑i=1n ...