題解 Luogu P2696 慈善的約瑟夫 遞推

2022-05-12 07:23:02 字數 664 閱讀 6259

基本演算法5-1

話說dp是不是都算遞推啊,那就寫這一道遞推好了 計畫寫不完了啊啊啊啊啊

然後我就死了

手玩1-10之後發現

發現答案為$n+++......$

化簡再手玩一下得$n+2^k$ $k$為$n$的二進位制中$1$的個數

$o(1)$

code

1 #include 2

using

namespace

std;

3namespace

gengyf

9while(s>='

0'&&s<='9')

10return f*x;11}

12int

n,ans,k;

13int qpow(int a,int

b)19 a=a*a;b>>=1;20

}21return

tmp;22}

23int

main()

28 ans+=qpow(2,k)-1;29

//n的二進位制表示中的1的個數。eg:111 => 4+2+1

30 cout

31return0;

32}33}

34signed main()

view code

題解 Luogu P1533 可憐的狗狗

離線的題目,莫隊是不錯的解決方法 先把詢問排一下序 剩下就套乙個莫隊的板子 每來乙隻狗就把漂亮值插入平衡樹 每去掉乙隻狗就把漂亮值從平衡樹中刪掉 每次查詢查平衡樹中第k小 pragma gcc optimize o3 include define n 800005 define m 50005 us...

題解 luogu P1941 飛揚的小鳥

首先想到設f i j 表示到第i行第j列所需要的最少點選螢幕次數。轉移方程為 f i j min 1 k j x 上公升 f i j min j y i 1 m 下降 顯然,下降可以o 1 轉移,主要問題在上公升的轉移。我們將上公升的方程變一下 f i j x i 1 min 這是 f i j x ...

題解 Luogu P1099 樹網的核

這題資料是真的水啊。昨天模擬賽考了這題,很多人都是 o n 3 水過,但我認為,要做就做的足夠好 其實是我根本沒想到 o n 3 的做法 然後就開始想 o n 的解法。首先看題目,前面一大堆看似是廢話,其實還是有很大用處的。問題描述中提到了樹的中心,但後面卻貌似沒有用到,其實中心是給我們帶來提示的。...