然後我就把部落格搬到來啦
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...