题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4029

Time Limit: 1 Second Memory Limit: 131072 KB

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=5e5+;
const int maxm=5e5+;
const LL MOD=1e9; int n,m;
LL a[maxn],p[maxm];
int sum[maxn][]; void init()
{
sort(a+,a+n+);
for(int t=;t<=;t++)
{
sum[][t]=;
for(int i=;i<=n;i++) sum[i][t]=(sum[i-][t]+a[i]/t)%MOD;
}
} int main()
{
int T;
cin>>T;
while(T--)
{
cin>>n>>m;
for(int i=;i<=n;i++) cin>>a[i];
for(int i=;i<=m;i++) cin>>p[i]; init(); LL ans=;
for(int i=;i<=m;i++)
{
LL z=;
int j=,k;
for(int t=;;t++)
{
if(round(pow(p[i],t)) < a[]) continue;
if(round(pow(p[i],t-)) >= a[n]) break; k=upper_bound(a+,a+n+,round(pow(p[i],t)))-(a+);
z=(z+sum[k][t]-sum[j][t])%MOD;
j=k;
}
ans=(ans+z*i)%MOD;
}
cout<<(ans+MOD)%MOD<<endl;
}
}

ZOJ 4029 - Now Loading!!! - [前缀和+二分]的更多相关文章

  1. Glider(前缀和+二分)

    题目链接:Glider Gym-101911B 解题分析:下落的高度一定,是h.在没有气流的地方每秒下落1:所以可以转化为经过无气流地带的时间总长为h. 那么很显然从一个有气流地带的开始,选择下落,那 ...

  2. Acwing:102. 最佳牛围栏(前缀和 + 二分)

    农夫约翰的农场由 NN 块田地组成,每块地里都有一定数量的牛,其数量不会少于1头,也不会超过2000头. 约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最 ...

  3. Codeforces 975 前缀和二分算存活人数 思维离直线速度相同判平行

    A /* Huyyt */ #include <bits/stdc++.h> using namespace std; typedef long long ll; ]; ]; map< ...

  4. Codeforces 948 数论推导 融雪前缀和二分check 01字典树带删除

    A. 全部空的放狗 B. 先O(NLOGNLOGN)处理出一个合数质因数中最大的质数是多少 因为p1 x1 x2的关系是 x2是p在x1之上的最小倍数 所以x1的范围是[x2-p+1,x2-1]要使最 ...

  5. ZOJ 3940 Modulo Query(YY+二分)

    Modulo Query Time Limit: 2 Seconds      Memory Limit: 65536 KB One day, Peter came across a function ...

  6. Educational Codeforces Round 11 C. Hard Process 前缀和+二分

    题目链接: http://codeforces.com/contest/660/problem/C 题意: 将最多k个0变成1,使得连续的1的个数最大 题解: 二分连续的1的个数x.用前缀和判断区间[ ...

  7. D. Frets On Fire 前缀和+二分

    这个题真的难了我一天了,这种方法一开始没想出来,后来看了题解后明白了大致思路开始自己做但是!!!但是自己实现的时候老是一些细节出错!!!,调bug调了得有一个小时,蠢死了,这道题我一定要好好总结,总结 ...

  8. Gym - 101911B Glider(前缀和+二分)

    传送门:点我 A plane is flying at a constant height of hh meters above the ground surface. Let's consider ...

  9. P1314 聪明的质监员(前缀和+二分)

    P1314 聪明的质监员 显然可以二分参数W 统计Y用下前缀和即可. #include<iostream> #include<cstdio> #include<cstri ...

随机推荐

  1. Android 4.0以上BlurMaskFilter效果无效

    Android MaskFilter的基本使用: MaskFilter类可以为Paint分配边缘效果.        对MaskFilter的扩展可以对一个Paint边缘的alpha通道应用转换.An ...

  2. C语言realloc,malloc,calloc的区别【转载】

    转载自:http://www.cnblogs.com/BlueTzar/articles/1136549.html 三个函数的申明分别是: void* realloc(void* ptr, unsig ...

  3. 8 -- 深入使用Spring -- 7... Spring 整合 Struts 2

    8.7 Spring 整合 Struts2 8.7.1 启动Spring 容器 8.7.2 MVC框架与Spring整合的思考 8.7.3 让Spring管理控制器 8.7.4 使用自动装配

  4. c 各种编译器(gcc clang)

    很多时候,出现一些类似GNU,GCC,CLANG,LLVM等与编译器有关的名词的时候,都不太清楚它到底是干嘛的,理解这些东西后, 对于xcode中很多配置型的需求修改起来都会得心应手,因此有必要了解透 ...

  5. The import XXX cannot be resolved

    选择project --> clean后,OK.如果还不行,删掉全部import,然后按alt+/提示,逐个导入.

  6. ArcGIS应用

    1.ArcGIS Server发布资源报错:网络资源问题 有可能是跟网络相关的服务没有开启,开启相关服务器后有可能可以解决此问题. 还有可能通过此法解决:开始--控制面板--网络和共享中心--高级共享 ...

  7. redis 列表

    Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967 ...

  8. SharePoint如何模拟用户

    try { SPSecurity.RunWithElevatedPrivileges(delegate() //用此方法模拟管理员账户运行此事件处理程序 { SPWeb web = SPContext ...

  9. Linux 集群架构

    集群介绍 Keepalived 配置高可用集群

  10. .net垃圾收集机制【转】

    在.NET Framework中,内存中的资源(即所有二进制信息的集合)分为"托管资源"和"非托管资源".托管资源必须接受.NET Framework的CLR( ...