4499: 线性函数

Time Limit: 20 Sec  Memory Limit: 256 MB
Submit: 177  Solved: 127
[Submit][Status][Discuss]

Description

小C最近在学习线性函数,线性函数可以表示为:f(x) = kx + b。现在小C面前有n个线性函数fi(x)=kix+bi ,他对这n个线性函数执行m次操作,每次可以:
1.M i K B 代表把第i个线性函数改为:fi(x)=kx+b 。
2.Q l r x 返回fr(fr-1(...fl(x)))  mod  10^9+7 。

Input

第一行两个整数n, m (1 <= n, m <= 200,000)。
接下来n行,每行两个整数ki, bi。
接下来m行,每行的格式为M i K B或者Q l r x。

Output

对于每个Q操作,输出一行答案。
 

Sample Input

5 5
4 2
3 6
5 7
2 6
7 5
Q 1 5 1
Q 3 3 2
M 3 10 6
Q 1 4 3
Q 3 4 4

Sample Output

1825
17
978
98

HINT

1 <= n, m <= 200,000,0 <= k, b, x < 1000,000,007

Source

 

[Submit][Status][Discuss]

莫名其妙,线段树维护一下区间的函数和就好了,单点修改,区间查询,比GSS还水……

UPDATE 感觉这么水的题,再困还是可以写出来的,补代码……

 #include<cstdio>
#define N 200005
#define M 800005
#define P 1000000007
int n,m,ki[N],bi[N],k[M],b[M];
void build(int t,int l,int r){
if(l==r)k[t]=ki[l],b[t]=bi[l];
else{
int d=l+r>>,x=t<<,y=x|;
build(x,l,d);
build(y,d+,r);
k[t]=(1LL*k[x]*k[y])%P;
b[t]=(1LL*k[y]*b[x]%P+b[y])%P;
}
}
void build(int t,int l,int r,int p){
if(l==r)k[t]=ki[l],b[t]=bi[l];
else{
int d=l+r>>,x=t<<,y=x|;
if(p<=d)build(x,l,d,p);
else build(y,d+,r,p);
k[t]=(1LL*k[x]*k[y])%P;
b[t]=(1LL*k[y]*b[x]%P+b[y])%P;
}
}
int query(int t,int l,int r,int x,int y,int v){
if(l==x&&r==y)return (1LL*k[t]*v%P+b[t])%P;
int d=l+r>>;
if(y<=d)return query(t<<,l,d,x,y,v);
if(x>d)return query(t<<|,d+,r,x,y,v);
return query(t<<|,d+,r,d+,y,query(t<<,l,d,x,d,v));
}
main(){
scanf("%d%d",&n,&m);
for(int i=;i<=n;++i)
scanf("%d%d",ki+i,bi+i);
build(,,n);
while(m--){
static int x,y,z;
static char s[];
scanf("%s%d%d%d",s,&x,&y,&z);
if(s[]=='M')ki[x]=y,bi[x]=z,build(,,n,x);
else printf("%d\n",query(,,n,x,y,z));
}
}

@Author: YouSiki

BZOJ 4499: 线性函数的更多相关文章

  1. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  2. BZOJ 题目整理

    bzoj 500题纪念 总结一发题目吧,挑几道题整理一下,(方便拖板子) 1039:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...

  3. BZOJ 2127: happiness [最小割]

    2127: happiness Time Limit: 51 Sec  Memory Limit: 259 MBSubmit: 1815  Solved: 878[Submit][Status][Di ...

  4. BZOJ 3275: Number

    3275: Number Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 874  Solved: 371[Submit][Status][Discus ...

  5. BZOJ 2879: [Noi2012]美食节

    2879: [Noi2012]美食节 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1834  Solved: 969[Submit][Status] ...

  6. bzoj 4610 Ceiling Functi

    bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Inp ...

  7. 【sdoi2013】森林 BZOJ 3123

    Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号.保证1≤testcase≤20. 第二行包含三个整数N,M,T,分别表示节点数.初始边数.操作数.第三行包含N个非负整数 ...

  8. 【清华集训】楼房重建 BZOJ 2957

    Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些 ...

  9. 【splay】文艺平衡树 BZOJ 3223

    Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3  ...

随机推荐

  1. 算法相关——Java排序算法之桶排序(一)

    (代码中对应一个数组的下标),将每个元素放入对应桶中,再将所有元素按顺序输出(代码中则按顺序将数组i下标输出arrary[i]次),即为{0,1,3,5,5,6,9}. 1.2  代码实现 /* *@ ...

  2. SC1243sensor噪点问题调试

    接手一块SC1243sensor的板子调试,仔细核对了原理图和PCB发现,PCB不是很好,电源处理不够好,但是出图了,问题是有噪点,麻点,根据经验要求软件修改了PCLK的极性噪点消失,问题解决. 1: ...

  3. iptables限制连接数(如sftp) 以及 谨防CC/DDOS攻击的配置 ( connlimit模块)

    之前在公司服务器上部署了sftp,用于上传业务系统的附件.后来由于程序连接问题,使的sftp连接数过多(最多时高达400多个sftp连接数),因为急需要对sftp的连接数做严格限制.操作记录如下: 启 ...

  4. Linux下DNS简单部署(主从域名服务器)

    一.DNS简介DNS(Domain Name System),域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通 ...

  5. PHP magic_quotes_gpc 和 addslashes解析

    默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET.POST 和 COOKIE 数据自动运行 addslashes().不要对已经被 magic_quote ...

  6. mooc linux学习总结

    通过八周的学习获得了很多知识.       首先,通过网课老师形象生动的讲述和描述一些专业词汇,使我更加深刻的记住并掌握了这些内容:动态的展示堆栈的变化,更容易理解一段汇编代码:分析操作系统的工作,记 ...

  7. github作业

    链接:   https://github.com/liuyu13/liuyu13-1 总结:git可以学习的东西还有很多.git协议,分布式协作,git项目管理,git技巧,github的使用和实践, ...

  8. mac安装sublime text 3,含注册码

    软件下载地址: https://www.sublimetext.com/3 注册码如下: —– BEGIN LICENSE —– TwitterInc 200 User License EA7E-89 ...

  9. [转帖]紫光展锐5G芯片

    紫光展锐5G芯片已流片:7nm工艺 2019年问世   https://news.mydrivers.com/1/612/612346.htm 本文转载自超能网,其他媒体转载需经超能网同意 高通骁龙X ...

  10. [工作相关] 一个虚拟机上面的SAP4HANA的简单使用维护

    1.公司组织竞品分析, 选择了SAP的 SAP4HANA作为竞品 这边协助同事搭建了SAP4HANA的测试环境: 备注 这个环境 应该是同事通过一些渠道获取到的. 里面是基于这个虚拟机进行的说明:: ...