[线段树] [BZOJ4499] 线性函数
来源:互联网 发布:游戏同步器软件 编辑:程序博客网 时间:2024/06/04 18:44
题目描述 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)))mod109+7 。
输入 Input
第一行两个整数
n,m (1≤n,m≤2×105 )。
接下来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
限制 Limits
1≤n,m≤2×105,0≤k,b,x<109+7
Time Limit : 1s(并不知道多少组输入,猜的)& Memory Limit : 256MB
观察线性函数,设第一个函数为
所以可以用线段树完成这些操作,需要单点修改和区间查询。
取模操作是不用管的,没有除法不用求逆元。
Code
0 0
- [线段树] [BZOJ4499] 线性函数
- 4499: 线性函数 线段树
- [线段树] BZOJ 4499 线性函数
- BZOJ 4499: 线性函数 线段树
- bzoj 4499: 线性函数 线段树
- 3813: 奇数国 线段树+线性筛素数+欧拉函数+乘法逆元+压位
- PID 60 线段树树形转线性
- hdu4358 树形转线性 线段树
- BZOJ4568 [线性基][树链剖分][线段树]
- [BZOJ4184]shallot(线段树+线性基)
- 函数式线段树
- HDU 4601 Letter Tree (线段树+字典树+树型转线性)
- 【bzoj4184】 shallot 线段树对时间分治+线性基
- 4184: shallot 线段树+按时间分治+线性基
- hdu 1542 Atlantis(线段树 线性扫描)
- BZOJ 4184: shallot 线段树分治 线性基
- BZOJ 4644: 经典傻逼题 线段树分治 线性基
- bzoj 3813: 奇数国 (线段树+质因数分解+线性筛+线性逆元)
- Nodejs入门开发
- 第二十一章 IO流1
- Unix网络编程:从入门到放弃——一个简单的时间获取程序
- css link @import
- Spring 中配置log4j日志功能
- [线段树] [BZOJ4499] 线性函数
- Python爬虫之基础篇
- 计算机专外Week5-Exercises
- Vuforia自学笔记(一)生成识别图的unity开发包
- Android Dialog用法
- Google Font、Icon CDN加速代理
- 【Tensorflow】Windows下基于Anaconda的Tensorflow环境配置
- 2843 拯救炜哥 (bfs)
- js正则表达式报Nothing to repeat