佇列 數字DP NOIP數

2022-08-26 01:54:07 字數 803 閱讀 9784

然後我就把部落格搬到來啦

csdn實在是太噁心了

今天考試t1就不會了,考場上打了個表就走了

定義一種數,每對相鄰的數字相差不超過1

求第\(i\)個這種數

佇列每個數至多可以生成三個數:在最後一位後數字

入隊\(i\)次即為所求

#includeusing namespace std;

#define in read()

#define int long long

int in

const int n=1e6+5;

int que[n],p1=1,p2;

signed main()

for(int i=1;i<=9;++i)

que[++p2]=i;

while(p2<=n)

printf("%lld\n",que[n]);

return 0;

}

數字dp

這個方法沒有太用到數字dp,所以僅做簡單記錄

設\(dp_\)為\(i\)位,最高位為\(j\)的數個數,有狀移:

\[dp_=

\left\

&dp_+dp_&j=0\\

&dp_+dp_&j=9 \\

&dp_+dp_+dp_&else

\end

\right.

=[j\not=1] dp_+dp_+[j\not=9] dp_

\]對於每個\(i\),求乙個字首和,得到每個位數有的這種數的個數

發現可以二分,可以依據\(dp\)陣列暴枚

20 02 12 醜數 佇列

nefuoj574醜數 只有質數2,3,5,7這幾個作為因子的數叫做醜數,比如前19個醜數是1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24和25.求第n小的醜數,其1中 n 5842 模擬blash數集 法1 維護4個單調佇列,分別儲存x xx生成的2x,3...

數字DP 槓桿數

題目描述 如果把乙個數的某一位當成支點,且左邊的數字到這個點的力矩和等於右邊的數字到這個點的力矩和,那麼這個數就可以被叫成槓桿數。比如4139就是槓桿數,把3當成支點,我們有這樣的等式 4 2 1 1 9 1。給定區間 x,y 求出在 x,y 中有幾個槓桿數。輸入格式 兩個數,表示x,y。輸出格式 ...

windy 數(還是數字dp

windy定義了一種windy數。不含前導零且相鄰兩個數字之差至少為2的正整數被稱為windy數。windy想知道,在a和b之間,包括a和b,總共有多少個windy數?input 包含兩個整數,a b。output 乙個整數 sample input 輸入樣例一 110 輸入樣例二 2550 sam...