1. 程式人生 > >hdu 4893 Wow! Such Sequence!

hdu 4893 Wow! Such Sequence!

Recently, Doge got a funny birthday present from his new friend, Protein Tiger from St. Beeze College. No, not cactuses. It's a mysterious blackbox.

After some research, Doge found that the box is maintaining a sequence an of n numbers internally, initially all numbers are zero, and there are THREE "operations":

1.Add d to the k-th number of the sequence.
2.Query the sum of ai where l ≤ i ≤ r.
3.Change ai to the nearest Fibonacci number, where l ≤ i ≤ r.
4.Play sound "Chee-rio!", a bit useless.

Let F0
 = 1,F1 = 1,Fibonacci number Fn is defined as Fn = Fn - 1 + Fn - 2 for n ≥ 2.

Nearest Fibonacci number of number x means the smallest Fn where |Fn - x| is also smallest.

Doge doesn't believe the machine could respond each request in less than 10ms. Help Doge figure out the reason.

相關推薦

hdu 4893 Wow! Such Sequence!

Recently, Doge got a funny birthday present from his new friend, Protein Tiger from St. Beeze College. No, not cactuses. It's a mysterious blackbox. After

Hdu 4893 Wow! Such Sequence! 線段樹單點更新,成段求和

題目大意:給你N個數,初始狀態每個數都為0,現在有三種操作:1,給第K個數增加a   2,詢問[L,R]區間所有數的和   3,區間【l,r】內每個數都變為離他最近的斐波那契數。 解題思路:剛開始想的時候  想用mark標記該區間是否已經變為離他最近的斐波那契數,每次插入

hdu 4893 Wow! Such Sequence! (線段樹 區間更新+單點更新)

/* 1 k d 第k個數加d 2 l r 查詢l到r的和 3 l r l到r更新到最近的f[] */ # include <stdio.h> # include <algorithm> # include <string.h> usin

HDU 4893 多校聯合】 Wow! Such Sequence!【線段樹】

題意在這裡就不說了。直接說思路,這是一道裸的線段樹,每個節點儲存區間的和sum以及區間變成斐波那契數的和fs。然後就是簡單點修改和區間修改的事了。 詳細見程式碼 #include <cstdio> #include <cstring> #inclu

HDU 4848 Wow! Such Conquering! (搜尋+floyd)

                                 Wow! Such Conquering! Time L

hdu4893 Wow! Such Sequence! 線段樹

題意:對一列數字進行多種操作 把一段數字變成最近的斐波那契數 統計一段數字的和 增加單個數字的權值 解法:由於要進行成段變成斐波那契,這就需要打標記,而新增單個的權值也需要標記 這樣我們就需要開兩個標記 然後add標記是需要新增的值變成斐波那契數列  然後對於已經修改過的

HDU 4850 Wow! Such String! 歐拉回路

題目大意: 就是現在對於每一次給出的N <= 50W, 構造一個長度為N的串只包含小寫字母且每一個長度>=4的子串都只出現一次 如果不可能就輸出Impossible 大致思路: 首先考慮到如果長度為l + 1的串出現了兩次那麼長度為l的串一定也出現了兩次 所以

HDU 5063 Operation the Sequence(暴力)

tracking pos sun 鏈接 char height ans wrap %d HDU 5063 Operation the Sequence 題目鏈接 把操作存下來。因為僅僅有50個操作,所以每次把操作逆回去執行一遍,就能求出在原來的數列中的位置。輸出就

HDU 5288(OO’s Sequence-區間互質情況統計)

next left res span gree sea height mission function OO’s Sequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/1

HDU 5783 Divide the Sequence

一段 type clas hdu 大於 pro 連續 php log http://acm.split.hdu.edu.cn/showproblem.php?pid=5783 題意:給出一段序列,現在要把它分成盡量多的連續序列,使得每一段序列之和都大於等於0。 思

HDU - 6305 RMQ Similar Sequence(笛卡爾樹)

std ans problem image clu tree ons mat nod http://acm.hdu.edu.cn/showproblem.php?pid=6305 題目 對於A,B兩個序列,任意的l,r,如果RMQ(A,l,r)=RMQ(B,l,r),

HDU - 4675 GCD of Sequence (莫比烏斯反演+組合數學)

gcd namespace 新的 ++i else if include 莫比烏斯 code mod 題意:給出序列[a1..aN],整數M和k,求對1-M中的每個整數d,構建新的序列[b1...bN],使其滿足: 1. \(1 \le bi \le M\) 2. \(gc

【矩陣快速冪】HDU - 5950 C - Recursive sequence

C - Recursive sequence HDU - 5950 Farmer John likes to play mathematics games with his N cows. Recently, they are attracted by recursive sequences.

HDU - 6274 Master of Sequence——二分

按a的值分組,處理一下餘數,二分一下就可以了 但是我二分上界設定的1e18,在計算過程中爆炸了,正確的上界應該是1e14 真的調了很久才意識到這個問題。。。 明天就打區域賽了。。。 #include <bits/stdc++.h> using namespace st

HDU 6305 RMQ Similar Sequence

題目連結 昨天 對著 題解 看了好久 也沒看懂 那個n!是要幹什麼 題解大概是這樣 雖然還是沒懂這個公式是什麼意思,但是我知道為什麼答案是了,手動狗頭 逆元打表的程式碼 void inverse(ll n, ll mod) { inv[1] =

HDU 2062:Subset sequence(思維)

Subset sequence Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8188 Ac

HDU oj 1711 Number Sequence(KMP入門)

KMP原理KMP演算法是一種改進的字串匹配演算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同時發現,因此人們稱它為克努特——莫里斯——普拉特操作(簡稱KMP演算法)。KMP演算法的關鍵是利用匹配失敗後的資訊,儘量減少模式串與主串的匹配次數以達到快速匹配的

hdu 6274 Master of Sequence(公式推導)

這題一看a的範圍比較小,肯定就是要往這上面做文章 (t-bi)/ai = =( (k1ai + c)-(k2ai-d) ) / ai k1和k2可以快速計算 維護c和d的個數 當c>d 貢獻為0 當c #include <cstdio> #include &

hdu 5828 Rikka with Sequence 【線段樹+優化】

題意:給你n個數,q個操作,操作k,l,r,k=1時 區間[l,r]每個數加x,k=2時,區間[l,r]每個數開平方,k=3時,求區間[l,r]的和。 分析:我們知道一個數多次開平方會變成1,但是這裡的1操作會使這個數的值增大,所以直接判斷一個區間是否為1肯定超時。 官方

HDU OJ 1005 Number Sequence

Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 178988    Accep