2018 3 17 模擬賽 1 無限序列

2021-08-17 08:17:47 字數 731 閱讀 3373

我們按以下方式產生序列:

1、 開始時序列是: 「1」 ;

2、 每一次變化把序列中的 「1」 變成 「10」 ,」0」 變成 「1」。

經過無限次變化,我們得到序列」1011010110110101101…」。

然後詢問q次,求a到b之間1的個數——

首先,觀察一波 —— 序列的變化為:

1 10

101

10110

10110101

然後,我們發現si(第i次變化)=s(i-1)+s(i-2)

就是斐波那契——

然後可以用遞迴的方法求出從位置1到位置x之間所有的1的個數。

#include 

#include

#define r(i,a,b) for(int i=a;i<=b;i++)

using

namespace

std;

unsigned

long

long f[93],f1[93],a,b;

int l,ll,n;

void ycl()

}unsigned

long

long find(unsigned

long

long a,unsigned

long

long b)//遞迴

int main()

}

2018 3 17 模擬賽 3 俄羅斯方塊

共有以下7種方塊 在下落的過程中,可以讓方塊90 180或270 度旋轉,還可以左右移動,對於每一次方塊落地,我們要求方塊的每一部分都必須與地面 最底面或己落下的方塊上表面 接觸,例如,有乙個寬度為6列的平台,每一列的初始高度 已經占用的方格數 分別為2,1,1,1,0 和 1。編號為5的方塊下落,...

模擬 無限序列

題目描述 我們按以下方式產生序列 1 開始時序列是 1 2 每一次變化把序列中的 1 變成 10 0 變成 1 經過無限次變化,我們得到序列 1011010110110101101 總共有 q 個詢問,每次詢問為 在區間a和b之間有多少個1。任務 寫乙個程式回答q個詢問 輸入 第一行為乙個整數q,後...

9 24 模擬賽T1括號序列

問題 述 給定乙個括號求正確使用括號的字串。輸入檔案 輸入檔案包括一行乙個字串,為給定的括號序列。輸出檔案 輸出乙個整數,為標準的括號序列的子串的個數。輸入輸出樣例 4 資料規模和約定 設輸入字串的長度為n。對於30 的資料,滿足n 200 n 200 n 200。對於60 的資料,滿足n 5000...