zoukankan      html  css  js  c++  java
  • 线段树模板(贼慢的版本)

    事先说明这个模板很慢。。。。。

     Accepted  100
    用时: 933ms / 内存: 7592KB

    编译信息
    编译成功
    /tmp/tmpj3s839y9/src: 在函数‘void change(long long int, long long int, long long int, long long int)’中:
    /tmp/tmpj3s839y9/src:48:21: 警告:建议在‘>>’的操作数中出现的‘+’前后加上括号 [-Wparentheses]
    int mid=tr[p].ll+tr[p].rr>>1;
    ~~~~~~~~^~~~~~~~~
    /tmp/tmpj3s839y9/src: 在函数‘long long int outt(int, int, int)’中:
    /tmp/tmpj3s839y9/src:57:21: 警告:建议在‘>>’的操作数中出现的‘+’前后加上括号 [-Wparentheses]
    int mid=tr[p].ll+tr[p].rr>>1;
    ~~~~~~~~^~~~~~~~~
    测试点信息
    #1
    AC
    3ms/600KB
     
    #2
    AC
    4ms/524KB
     
    #3
    AC
    3ms/564KB
     
    #4
    AC
    20ms/892KB
     
    #5
    AC
    21ms/804KB
     
    #6
    AC
    18ms/808KB
     
    #7
    AC
    23ms/676KB
     
    #8
    AC
    278ms/7592KB
     
    #9
    AC
    316ms/7540KB
     
    #10
    AC
    247ms/7556KB
     
    (这是洛谷的模板评测)
    因为我太弱了,目前也就只能这样
    当然,十分欢迎DALAO的指点!!!!

    题目描述

    如题,已知一个数列,你需要进行下面两种操作:

    1.将某区间每一个数加上x

    2.求出某区间每一个数的和

    输入输出格式

    输入格式:

    第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。

    第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。

    接下来M行每行包含3或4个整数,表示一个操作,具体如下:

    操作1: 格式:1 x y k 含义:将区间[x,y]内每个数加上k

    操作2: 格式:2 x y 含义:输出区间[x,y]内每个数的和

    输出格式:

    输出包含若干行整数,即为所有操作2的结果。

    输入输出样例

    输入样例#1: 复制
    5 5
    1 5 4 2 3
    2 2 4
    1 2 3 2
    2 3 4
    1 1 5 1
    2 1 4
    输出样例#1: 复制
    11
    8
    20

    说明

    时空限制:1000ms,128M

    数据规模:

    对于30%的数据:N<=8,M<=10

    对于70%的数据:N<=1000,M<=10000

    对于100%的数据:N<=100000,M<=100000

    (数据已经过加强^_^,保证在int64/long long数据范围内)

    样例说明:

  • 相关阅读:
    JSP中自动刷新
    JSP点击计数器
    JSP页面重定向
    JSP处理日期
    Mybatis Generator生成数据库自带的中文注释
    GMT与Etc/GMT地区信息的时区转换
    《Redis入门指南》第2版 读书笔记
    ConcurrentHashMap
    应用服务器性能优化 之 消息队列(MQ:Message Queue)
    TabLayout让Fragment在ViewPager中的滑动切换更优雅
  • 原文地址:https://www.cnblogs.com/crazily/p/10061495.html
Copyright © 2011-2022 走看看