• 技术文章 >web前端 >html教程

    Codeforces Round #FF (Div. 2)E(线段树成段更新)_html/css_WEB-ITnose

    2016-06-24 11:58:38原创449

    C. DZY Loves Fibonacci Numbers

    time limit per test

    4 seconds

    memory limit per test

    256 megabytes

    input

    standard input

    output

    standard output

    In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation

    F1?=?1; F2?=?1; Fn?=?Fn?-?1?+?Fn?-?2 (n?>?2).

    DZY loves Fibonacci numbers very much. Today DZY gives you an array consisting of n integers: a1,?a2,?...,?an. Moreover, there are mqueries, each query has one of the two types:

    1. Format of the query "1 l r". In reply to the query, you need to add Fi?-?l?+?1 to each element ai, where l?≤?i?≤?r.
    2. Format of the query "2 l r". In reply to the query you should output the value of modulo 1000000009 (109?+?9).

    Help DZY reply to all the queries.

    Input

    The first line of the input contains two integers n and m (1?≤?n,?m?≤?300000). The second line contains n integers a1,?a2,?...,?an (1?≤?ai?≤?109) ? initial array a.

    Then, m lines follow. A single line describes a single query in the format given in the statement. It is guaranteed that for each query inequality 1?≤?l?≤?r?≤?n holds.

    Output

    For each query of the second type, print the value of the sum on a single line.

    Sample test(s)

    input

    4 41 2 3 41 1 42 1 41 2 42 1 3

    output

    1712


    题意:支持两种操作,1 l r 将 ai 加上第i-l+1项Fibonacci数,l<=i<=r ,2 l r 求区间和


    思路:根据Fibonacci数列的性质,只要知道前两项,那么可以O(1)得到后面任意项的Fibonacci数以及任意前多少项的和,可以用线段树维护每个线段的和以及每段的前两


    个Fibonacci数,延迟更新的是每个线段的前两个Fibonacci数(直接累加)


    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:HTML5/CSS3实现添加锁屏效果_html/css_WEB-ITnose 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 求两个纯Html之间的传值示例_html/css_WEB-ITnose• 实现主页_实现内容的第一部分• ajax基本介绍• ExtJs教程14• 为什么是这样的?_html/css_WEB-ITnose
    1/1

    PHP中文网