牛客練習賽44 小y的線段 思維

2021-09-19 08:44:53 字數 1058 閱讀 5369

題目描述:

給出n條線段,第i條線段的長度為 ai ,每次可以從第 i 條線段的j位置跳到第 i + 1 條線段的 j+1 位置。如果第 i+1 條線段長度不到j+1,那麼就會回到第 i 條線段的 0 位置,然後繼續跳。問從第 i 條線段的 0 位置跳到第 n 條線段需要跳多少次。

解題思路:

題目上的 n 的範圍 (n ≤ 2e7 ),我們推斷出只能用 o( n ) 的複雜度來解決。我們知道從 i 條線段跳到 n 條線段至少需要(n - i)次。我們可以倒著推,如果從 i 線段的 0 會跳躍到一條線段的 0 位置,那麼 0 到 i-1 的所有線段都會 跳躍到該條線段的0位置。

**:

///#include///#include///#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define mt(a, b) memset(a,b,sizeof(a));

using namespace std;

typedef long long ll;

typedef unsigned long long ull;

const double pai = acos(-1.0);

const double e = 2.718281828459;

//const ll mod = 1000000007;

const int inf = 0x3f3f3f3f;

const int maxn = 1e5 + 5;

int a[20000010];

unsigned int sa, sb, sc;

int mod;

unsigned int rand()

int main()

}cout << ans << endl;

return 0;

}

牛客練習賽44 B 小y的線段 (思維)

題目描述 給出n條線段,第i條線段的長度為a iai 每次可以從第i條線段的j位置跳到第i 1條線段的j 1位置。如果第i 1條線段長度不到j 1,那麼就會回到第i條線段的0位置,然後繼續跳。問從第i條線段的0位置跳到第n條線段需要跳多少次 為了減少輸入量,a陣列將由以下方式得到 unsigned ...

牛客練習賽44 A 小y的序列 模擬

小y有一塊長度為n的布匹。顏色全部為0。他要給這個布匹染色。他總共有m種染料。小y認為一種染料用多次是不和諧的。所以每種染料會被用剛好一次。也就是說小y要給這塊布匹染m次色。第i次會把li到ri這個區間染成顏色i。現在給出最終布匹每段的顏色。請你輸出一種染色方案。資料保證有解 輸入共兩行。第一行兩個...

牛客練習賽44 A 小y的序列 (模擬,細節)

小y的序列 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k special judge,64bit io format lld 題目描述 小y有一塊長度為n的布匹。顏色全部為0。他要給這個布匹染色。他總共有m種染料。小y認為一種染料用多次是不和諧的。所以每...