《2022牛客寒假演算法基礎集訓營3》

2022-09-19 20:42:10 字數 2528 閱讀 1666

c:首先我們可以知道重量為1的方案數就是重量為2的物品的數量,因為只有2 / 2 = 1可以影響它。

那麼如果我們從小到大迭代的話,對於當前位置i,只能賦值2 * i才能影響當前位置,那麼如果當前方案數的差為d,那麼就還需要放d個2 * i。

這裡要注意的是差值可能為負數。

#includeusing

namespace

std;

typedef

long

long

ll;typedef pair

pii;

const

int n = 1e3 + 5

;const

int m = 1e7 + 5

;const ll mod = 1e9 + 7

;#define rep(at,am,as) for(int at = am;at <= as;++at)

#define inf 1e14

#define dbg(ax) cout << "now this num is " << ax << endl;inline

long

long add(long

long x,long

long

y) inline

long

long mul(long

long x,long

long

y) inline

long

long dec(long

long x,long

long

y) int

m;ll a[n],dp[n];

vector

ans;

void

solve()

if(w < n) dp[w] = add(dp[w],1

); dp[w / 2] = add(dp[w / 2],1

); }

//}}

if(ans.size() == 0) ans.push_back(2 * 1000

); printf(

"%d\n

",ans.size());

for(auto v : ans) printf("

%d "

,v);

}

intmain()

//system("pause");

return0;

}

view code

h:首先,選定乙個點作為軸,那麼它就旋轉到了父節點處。

那麼對於一棵子樹,我們要把他的原來的根旋轉上來,我們就只需要一直選定原來的根作為軸即可。

旋轉的操作就是splay就行了。

#includeusing

namespace

std;

typedef

long

long

ll;typedef pair

pii;

const

int n = 1e3 + 5

;const

int m = 1e7 + 5

;const ll mod = 998244353

;#define rep(at,am,as) for(int at = am;at <= as;++at)

#define inf 1e14

#define dbg(ax) cout << "now this num is " << ax << endl;inline

long

long add(long

long x,long

long

y) inline

long

long mul(long

long x,long

long

y) inline

long

long dec(long

long x,long

long

y) int

n;vector

ans;

struct

splay

inline

bool chk(int x)

inline

void rotate(int

x) inline

void splay(int x,int goal = 0

) rotate(x);}}

}a,b;

void dfs(int

rt)

void

solve()

intmain()

//system("pause");

return0;

}

view code

j:這題挺不錯的。

首先我們把[l,r]都轉到[0,r]上做處理。

那麼就是說對於[0,r]上的點 % p之後在[l,r]裡的數量。

那麼就分為了k段的[0,p - 1]還有一段多出來的即r % p。

這裡我們用線段合併

2022牛客寒假演算法基礎集訓營1

賽場上完成度 11 12 rank 33 a和的數根 數根的和,因此每個人的權值等價於權值的數根。設f i j 表示前i個人湊出j的方案數,直接根據意義轉移即可。includeusing namespace std const int mo 998244353 int a 1000010 b 100...

2022牛客寒假演算法基礎集訓營3

智乃去註冊賬號,他發現 的的密碼必須符合以下幾個條件 現在智乃有乙個長度大小為 的字串 她想知道s串中有多少個子串是乙個符合條件的密碼,請你幫助智乃統計符合條件的密碼數目。子串是指字串中某一段連續的區間,例如對於字串 abcde 來說,abc cde 都是它的子串,而 ace 不是它的子串。第一行輸...

2022牛客寒假演算法基礎集訓營1

揹包 分塊,預處理每個塊以 0 1 2 的分數進入時出來後的分數是多少 看了題解發現可以用分塊思想倍增,複雜度優化成 nlogn 模擬題,就不說了 求 h x frac 考慮 phi x x prod frac 則 h x prod frac 則問題一是 2 3 5 7 問題二是 2,n 中最大的素...