【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
来源:互联网 发布:网络直播电视机顶盒 编辑:程序博客网 时间:2024/04/29 23:36
Description
Input
第一行两个整数n;m 表示电子个数和询问个数.
接下来n 行, 每行两个整数x; y 表示vi.
接下来m 行, 每行形如1 p x y 或2 l r, 分别表示两种操作.
Output
对于每个操作2, 输出一行一个整数表示飘升系数对20170927 取模的值.
Sample Input
9 5
13052925 5757314
9968857 11135327
13860145 3869873
6912189 3461377
2911603 7061332
6334922 7708411
5505379 5915686
6806727 588727
7603043 15687404
2 1 6
1 7 2602783 18398476
1 8 8636316 19923037
2 2 7
2 2 4
Sample Output
18529202
963126
19167545
Solution
求
相当于求
然后……就没了
Code
#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)#define lowbit(a) ((a)&(-(a)))#define ll long long#define N 1001000#define mo 20170927using namespace std;ll a[N][2],t[3][N];int n,m;ll sqr(ll x){x%=mo;return x*x%mo;}void ins(int q,int x,ll z){ (z+=mo)%=mo; for(;x<=n;x+=lowbit(x)) (t[q][x]+=z)%=mo;}ll get(int q,int x){ ll ans=0; for(;x;x-=lowbit(x)) (ans+=t[q][x])%=mo; return ans;}int main(){ freopen("kurisu.in","r",stdin); freopen("kurisu.out","w",stdout); scanf("%d%d",&n,&m); fo(i,1,n) { scanf("%d%d",&a[i][0],&a[i][1]); ins(0,i,sqr(a[i][0])); ins(1,i,sqr(a[i][1])); ins(2,i,a[i][0]*a[i][1]); } for(;m;m--) { int k;ll x,y;scanf("%d%lld%lld",&k,&x,&y); if(k==1) { ll p;scanf("%lld",&p); swap(p,x);swap(x,y); ins(0,p,sqr(x)-sqr(a[p][0])); ins(1,p,sqr(y)-sqr(a[p][1])); ins(2,p,x*y-a[p][0]*a[p][1]); a[p][0]=x;a[p][1]=y; } else { ll ans=(get(0,y)-get(0,x-1)+mo)%mo; ans=(ans*((get(1,y)-get(1,x-1)+mo)%mo))%mo; ans=(ans-sqr(get(2,y)-get(2,x-1)+mo)%mo+mo)%mo; printf("%lld\n",ans); } }}
阅读全文
1 0
- 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜(树状数组)
- [JZOJ5422]【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
- 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
- JZOJ 5422. 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
- JZOJ5422. 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
- Jzoj5422 天才绅士少女助手克里斯蒂娜
- [2017纪中10-25]天才绅士少女助手克里斯蒂娜 线段树
- 【NOIP2017提高A组集训10.25】吃草
- [JZOJ5424]【NOIP2017提高A组集训10.25】凤凰院凶真
- 【NOIP2017提高A组集训10.25】凤凰院凶真(dp)
- 【JZOJ 5421】【NOIP2017提高A组集训10.25】嘟嘟噜
- 【JZOJ 5424】【NOIP2017提高A组集训10.25】凤凰院凶真
- JZOJ. 5421【NOIP2017提高A组集训10.25】嘟嘟噜
- JZOJ 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
- 【JZOJ5424】【NOIP2017提高A组集训10.25】凤凰院凶真
- JZOJ 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
- JZOJ5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
- JZOJ 5425. 【NOIP2017提高A组集训10.25】数论
- Python线程指南
- String、StringBuffer与StringBuilder之间区别
- python检测网络延迟
- C语言——单词倒置但不改变词序
- 修改spring boot默认的8080端口
- 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
- 用Java将doc文档转成pdf格式
- ScriptManager.RegisterStartupScript()的使用
- cmd窗口中cd命令的使用
- 【Codeforces809D】Hitchhiking in the Baltic States
- java中list取前几条数据
- 剑指offer 45 翻转单词顺序列
- java BigDecimal相关操作
- test