百度之星複賽 T5 Valley Numer

2022-05-20 10:03:19 字數 1044 閱讀 7912

眾所周知,度度熊非常喜歡數字。

它最近發明了一種新的數字:valley number,像山谷一樣的數字。

當乙個數字,從左到右依次看過去數字沒有出現先遞增接著遞減的「山峰」現象,就被稱作 valley number。它可以遞增,也可以遞減,還可以先遞減再遞增。在遞增或遞減的過程中可以出現相等的情況。

比如,1,10,12,212,32122都是 valley number。

121,12331,21212則不是。

度度熊想知道不大於n的valley number數有多少。

注意,前導0是不合法的。

第一行為t,表示輸入資料組數。

每組資料報含乙個數n。

● 1≤t≤200

● 1≤length(n)≤100

對每組資料輸出不大於n的valley number個數,結果對 1 000 000 007 取模。

3314

120

314

119題解:裸的數字dp。用f[i][j][0/1/2]表示i位,最高位為j,當前處於 遞減/遞增/平 狀態的數的個數。然後盡情討論吧!

#include #include #include using namespace std;

typedef long long ll;

const ll mod=1000000007;

ll f[110][12][3];

//0 減 1 增 2 未知

int v[110];

char str[110];

ll ans;

int n,tag,tmp;

void init()

} }}void work()

if(tmp==0)

}if(i!=n&&v[i]>v[i+1]) tag=1;

if(i!=n&&v[i]

}if(!i) ans=(ans+1)%mod;

printf("%lld\n",ans);

}int main()

//1 130

百度之星複賽題解

problem description 眾所周知,度度熊非常喜歡數字。它最近在學習小學算術,第一次發現這個世界上居然存在兩位數,三位數 甚至n位數!但是這回的算術題可並不簡單,由於含有表示bomb的 號,度度熊稱之為 arithmetic of bomb。bomb number中的bomb,也就是 ...

2016 百度之星 複賽 拍照

小明在旅遊的路上看到了一條美麗的河,河上有許多船隻,有的船隻向左航行,有的船隻向右航行。小明希望拍下這一美麗的風景,並且把盡可能多的船隻都完整地拍到一張 中。小明位於河的邊上,並且可以在河邊的任意位置進行拍照,照相機的視野恰好為90度角,只能以垂直於河邊的方向進行拍照。河上的船隻全都可看作是平行於河...

2014百度之星複賽解題報告複賽 Race

race 時間限制 10s 記憶體限制 64mb 問題描述 度度熊最近參加了一場勁跑比賽,但是這個勁跑比賽的規則比較特殊。比賽方預先在地上畫了一些橫線和豎線 可以認為這些線為無限長的直線 要求選手從指定的位置出發,在最短時間內按照規定的順序經過所有的直線 只要到達直線上的任意一點即為經過 為了幫助度...