日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hihoCoder #1758 加减

發布時間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hihoCoder #1758 加减 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

$\DeclareMathOperator{\lowbit}{lowbit}$

題目大意

對于一個數 $x$,設它最低位的 1 是第 $i$ 位,則 $\lowbit(x)=2i$ 。

例如 $\lowbit(5)=1$,$\lowbit(12)=4$ 。

定義對 $x$的一次變換為:有 50% 的概率變成 $x+\lowbit(x)$,有 50% 的概率變成 $x-\lowbit(x)$ 。

定義 $f(x)$ 為對 $x$ 不停變換,變換到 0 的期望變換次數。

給定 $L, R$($0\le L \le R < 2^{31}$),求 $\sum\limits_{x=L}^{R} f(x)$ 。

答案對 $998244353$ 取模。

分析

題解是 DP,但是我沒看懂。我想到的一種記憶化(memoization)遞歸求解的方法,能 AC,但是我搞不清楚這種方法的復雜度。


\[ S(n) = \sum_{i=0}^{n} = f(i) \]

則我們有

\[
\begin{aligned}
f(0) &= S(0) = 0 \\
f(1) &= S(1) = 2 \\
S(2n) &= S(n) + n + \frac{S(n) + S(n-1)}{2} \\
S(2n+1) &= S(n) + n+1 + \frac{S(n+1) + S(n)}{2}
\end{aligned}
\]

根據 $S(n)$ 的遞推式,是否可以猜測 $S(n)$ 關于 $n$ 是線性增長的呢?

這個問題是很值得研究的。

記憶化遞歸(recursion with memoization)

轉載于:https://www.cnblogs.com/Patt/p/9155928.html

總結

以上是生活随笔為你收集整理的hihoCoder #1758 加减的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。