計算模意義下的 $1 - \frac$ 即可。
#include usingnamespace
std;
const
int mod = 1e9 + 7
;int binpow(int a, int
b)
return
res;
}int inv(int
n) int
main()
return0;
}
以此類推,最終推得規律為 $x\ \%\ 3 = y\ \%\ 3$ 必敗。
#include usingnamespace
std;
intmain()
return0;
}
遞迴求解每個配對括號內的和,再乘以括號外的倍數即可。
有可能括號外沒有數字,所以 $dfs$ 中的 $mul$ 的初值根據判斷條件有兩種形式。
#include usingnamespace
std;
constexpr
int n = 1e5 + 100
;string
s;int
match[n];
void
match()
else
if (s[i] == ')'
) }
}long
long dfs(int l, int
r)
if (s[l] == '('
)
long
long mul = 1
;
if (l <=r and isdigit(s[l]))
}res += val *mul;
}return
res;
}int
main()
\begin a + b = x \end
\begin a\ \&\ b = y \end
\begin a + b = a \oplus b + ((a\ \&\ b) << 1) \end
將 (1)(2) 代入 (3) 得:
\begin x = a \oplus b + (y << 1) \nonumber \end
移項得:
\begin a \oplus b = x - (y << 1) \nonumber \end
如果存在整數 $a,b$ 滿足條件,那麼得到的 $a \oplus b$ 一定滿足:
\begin a \oplus b \ge 0 \nonumber \end
\begin (a \oplus b)\ \&\ (a\ \&\ b) = 0 \nonumber \end
#include usingnamespace
std;
intmain()
return0;
}
kmp模板題,稍微改一下求最長字首即可。(感覺以前哪場比賽好像考過這個)
#include usingnamespace
std;
const
int n = 1e6 + 100
;int
next[n];
string
s, p;
void
init_next()
}int
kmp()
return
mx;}
intmain()
cout
<< ans << "\n"
;
return0;
}
單源最短路模板題。
#include usingnamespace
std;
intmain()
vector
last(m + 1
);
for (int i = 1; i <= n; i++)
last[a[i]] =i;
}function
get_distance = [&](int s, int
t) }
}return
dis[t];
};cout
<< get_distance(s, t) << "\n"
;
return0;
}
計算從 $(1,1)$ 到 $(n,m)$ 的路徑數目的狀態轉移方程為:
\begin dp_ = dp_ + dp_ \nonumber \end
那麼計算模數再加一維狀壓dp即可。
#include usingnamespace
std;
constexpr
int mod = 1e4 + 7
;int
main()
vector
>> dp(n + 1, vector>(m + 1
)); dp[
1][1].set(a[1][1
]);
for (int i = 1; i <= n; i++)
}cout
<< dp[n][m].count() << "\n"
;
return0;
}
並查集模板題。
乙個結點的父親不一定是 $fa[i]$,應該用 $find(i)$ 。
#include usingnamespace
std;
constexpr
int n = 2e5 + 100
;int
fa[n], son_num[n];
int find(int
x) void union(int x, int
y) }
void
init()
}int
main()
int mx = *max_element(son_num, son_num +n);
cout
<< count(son_num, son_num + n, mx) * mx << "\n"
;
for (int i = 0; i < n; i++)
}return0;
}
牛客小白月賽3
a 我們規定母音字母有a e i o u,並且規定半母音字母y也是母音字母。cwbc在學習英語,xhrlyb為了讓cwbc的記憶更加深刻,於是她讓cwbc把每個字串的所有字母都變成乙個恰好不大於它本身的小寫母音字母。可是cwbc比較貪玩,並且他想讓你幫他完成這個任務。聰明的你在仔細閱讀題目後,一定可...
牛客小白月賽6
c 挑花 dfs或bfs 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條鏈上的所有桃花,由於htbest法力有限,只能使用一次魔法棒,請求出htbest最多可以摘到多少個桃花。第一行...
牛客小白月賽16
很容易得到n 1時,因為小石先手,所以小石一定輸 而n!1時,假設n 5 小石先取1 小陽取2 4 小石去3 小陽輸,無論怎樣小石都有贏的機會 includeusing namespace std int main 打表求出1 1e3之間的所有三角形每層之和 include define ll lo...