遞推 UVA 12627 奇怪的氣球膨脹

2021-08-16 02:37:33 字數 744 閱讀 8856

題目大意:

給你k,a,b,求k小時後,a~b行的紅氣球總數。

解題思路:

求解遞推式即可,只不過注意乙個優先順序問題,+,-符號優先順序高於<<,>>兩個符號,所以不能1-1<

ac**:

#include#include #include #include #include #include using namespace std;

typedef long long ll;

#define ms(a,b) memset(a,b,sizeof(a))

const int mod = 10056;

const int maxn = 40;

#define eps 1e-6

int dp[maxn];

//char c[1010][1010];

int f[1010000];

char s[101000];

int sum[101000];

int cmp(int a, int b, int c, int d)

ll c(int k)

else

}ll g(int k, ll l)

if(k == 0)

if(l >= (1<<(k-1))) return 2*g(k - 1, l - (1<<(k-1)) ) + c(k-1);

else

}int main()

}

UVA12627奇怪的氣球膨脹

找規律。用 f k,i 表示 第 k 小時最上面 i 行有多少紅球。找a b行紅球的數量,也就是求 f k,b f k,a 1 k 時刻的狀態是和 k 1的狀態緊密相關的。k 時刻狀態是 3 個 k 1時刻的狀態 分別位於左上,左下,右上 右下全是藍色球。所以,當 i 2 k 1 等於左上和右上的兩...

奇怪的漢諾塔 遞推

漢諾塔問題,條件如下 1 這裡有a b c和d四座塔。2 這裡有n個圓盤,n的數量是恆定的。3 每個圓盤的尺寸都不相同。4 所有的圓盤在開始時都堆疊在塔a上,且圓盤尺寸從塔頂到塔底逐漸增大。5 我們需要將所有的圓盤都從塔a轉移到塔d上。6 每次可以移動乙個圓盤,當塔為空塔或者塔頂圓盤尺寸大於被移動圓...

UVa10934 裝滿水的氣球

uva10934 解析 設還剩i個氣球,j次機會時能夠測得的最大高度為d i j 換句話說,就是d i j 層內,可以用i個氣球j次機會測出氣球硬度為j 可以知道 例項 include includeusing namespace std const int maxk 100 const int m...