U137981.食堂日志

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:256MB

题目描述

明德大学第三食堂的经理老周有一个习惯:每天打烊后,他都会在一个本子上记下两件事——今天一共卖出了多少份饭,以及今天有哪几个档口开了门。

这个本子记了整整 nn 天。学期末要写总结报告,校长、后勤处和采购科轮番来问他各种各样的问题,而且每次问的都是「第 ll 天到第 rr 天之间」的情况。老周翻本子翻到手软,于是找到了正在学信息学的你。

食堂一共有 mm 个档口,编号为 0,1,…,m−10,1,\dots,m-1。日志记录了连续 nn 天的情况:

  • 第 ii 天卖出了 aia_i 份饭;
  • 第 ii 天开门的档口集合用一个整数 bib_i 表示:把 bib_i 写成二进制后,若第 kk 位(从低位起,最低位为第 00 位)为 11,则表示 kk 号档口这天开了门,否则表示这天没开。

例如 m=4m=4、bi=11b_i=11 时,1111 的二进制是 10111011,说明这天 0,1,30,1,3 号档口开着,22 号档口没开。

现在有 qq 个询问,每个询问给出一个区间 [l,r][l,r](表示第 ll 天到第 rr 天,含两端)和一个操作类型:

  • 操作 11(全勤档口):这段时间里每一天都开门的档口有多少个?
  • 操作 22(三天打鱼):这段时间里开过门、但没有天天开门的档口有多少个?
  • 操作 33(食材包规格):采购科想用一种统一规格的食材包,每包恰好能做出 kk 份饭。要求这段时间里每一天的销量都能由整数包食材恰好做出(食材包不能拆开,也不能跨天使用),求 kk 最大是多少。
  • 操作 44(忙闲差):这段时间里最忙的一天比最闲的一天多卖出多少份饭?

请你对每个询问输出答案。

输入格式

第一行三个整数 n,m,qn,m,q,分别表示天数、档口数量和询问数量。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n,表示每天卖出的份数。

第三行 nn 个整数 b1,b2,…,bnb_1,b_2,\dots,b_n,表示每天开门的档口集合。

接下来 qq 行,每行三个整数 op,l,r\mathit{op},l,r,表示一个操作类型为 op\mathit{op}、区间为 [l,r][l,r] 的询问。

输出格式

共 qq 行,每行一个整数,依次表示每个询问的答案。

输入输出样例

  • 输入#1

    6 4 6
    12 18 24 6 30 15
    11 7 3 15 6 3
    1 2 4
    2 2 4
    3 1 3
    4 1 3
    1 1 6
    3 4 6

    输出#1

    2
    2
    6
    12
    1
    3

说明/提示

样例解释 #1

六天的日志如下(m=4m=4,档口编号 0∼30\sim 3):

天 卖出份数 aia_i bib_i 二进制 开门的档口
11 1212 1111 10111011 0,1,30,1,3
22 1818 77 01110111 0,1,20,1,2
33 2424 33 00110011 0,10,1
44 66 1515 11111111 0,1,2,30,1,2,3
55 3030 66 01100110 1,21,2
66 1515 33 00110011 0,10,1
  • 第 11 个询问:第 2∼42\sim 4 天中,00 号和 11 号档口天天都开,答案为 22。
  • 第 22 个询问:第 2∼42\sim 4 天中开过门的档口是 0,1,2,30,1,2,3 共 44 个,其中天天开门的有 22 个,所以时开时关的有 4−2=24-2=2 个。
  • 第 33 个询问:gcd⁡(12,18,24)=6\gcd(12,18,24)=6,每包做 66 份饭时,三天分别用 2,3,42,3,4 包,恰好用完。
  • 第 44 个询问:前三天最多卖 2424 份,最少卖 1212 份,相差 1212。
  • 第 55 个询问:六天里只有 11 号档口一天没落下,答案为 11。
  • 第 66 个询问:gcd⁡(6,30,15)=3\gcd(6,30,15)=3。

数据范围与约定

对于全部数据,保证:

1≤n≤105,1≤q≤105,1≤m≤301\le n\le 10^5, 1\le q\le 10^5, 1\le m\le 30

1≤ai≤109,0≤bi<2m,op∈{1,2,3,4},1≤l≤r≤n1\le a_i\le 10^9, 0\le b_i<2^m, \mathit{op}\in\{1,2,3,4\}, 1\le l\le r\le n

注意 bib_i 可能为 00,即某一天可能所有档口都没开门。

本题共 2020 个测试点,每个测试点 55 分。各测试点的额外限制如下:

测试点编号 nn qq 特殊性质
1∼21\sim 2 ≤100\le 100 ≤100\le 100 无
3∼53\sim 5 ≤2000\le 2000 ≤2000\le 2000 无
6∼76\sim 7 ≤105\le 10^5 ≤200\le 200 无
8∼108\sim 10 ≤105\le 10^5 ≤105\le 10^5 只含操作 11 和操作 22
11∼1311\sim 13 ≤105\le 10^5 ≤105\le 10^5 只含操作 33
14∼1514\sim 15 ≤105\le 10^5 ≤105\le 10^5 只含操作 44
16∼2016\sim 20 ≤105\le 10^5 ≤105\le 10^5 无

输入解题思路,AI测评打分。不知道怎么写?

首页