正在测试 Mathjax 在可视化编辑器中的工作情况。
质数与因数
gcd & lcm
判断一些数的 gcd \times lcm 是否等于它们的乘积,当且仅当这些数两两互素。
因数的值域
对于任意正整数 x,至多存在 k-1 个 x 的因数 d_i>\sqrt[k]{x}。
值域内质数的个数
区间 [0,V] 内约有质数 \frac{V}{\ln V} 个。
唯一分解定理 & 因数和定理
对于任意正整数 \frac{V}{\ln V},存在唯一的 {p_1,p_2,\ldots,p_n \ (p_i\in \mathbb{N_+})} 与 k_1,k_2,\ldots,k_n \ (k_i\in \mathbb{N}) 使得 x=\prod_{i=1}^n p_i^{k_i}
其正因子个数为 d(n)=\prod_{i=1}^n (k_i+1),
其正约数之和 \sigma(n)=\prod_{i=1}^n \sum_{j=0}^{k_i} p_i^j。
图论
DAG 生成树数量
令 d_u 为点 u 的入度,则一个 DAG 的生成树数量为 \prod \max{d_u, 1}。
稠密图与稀疏图
一般地,若一个包含 d 个点的图的边数为 m\leq n\log n ,则该图属于稀疏图,否则属于稠密图。
杂项
更相减损术
令 d_i=a_i-a_{i-1},d_1=a_1 ,有 \gcd_{i=1}^n(a_i)=\gcd_{i=1}^n(d_i) 。
费马小定理
对于任意正整数 x 和任意质数 p,a^p-a 必定是 p 的倍数,且有 a^p\equiv a\pmod{p} 。
特别地,若 a 不是 p 的倍数,则有 a^{p-1}\equiv 1\pmod{p},p为质数,a,p互质。
立方数的性质
任意一个正整数都能表示成 9 个立方数之和,即对于任意正整数 x,存在 a_1,a_2,\ldots,a_9 \in\mathbb{N} 使得 x=\sum_{i=1}^9 a_i^3 立方数模 7 的余数只能是 0,1,6。
一/二/三次方和
对于任意正整数 n,有 \sum_{i=1}^n i = \frac{n(n+1)}{2},\sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6},\sum_{i=1}^n i^3 = \left(\frac{n(n+1)}{2}\right)^2 。
均值不等式的一般形式
\frac{1}{n}\sum_{k = 1}^{n} a_n \le \left(\prod_{k = 1}^{n}a_n \right)^ \frac{1}{n}
巴塞尔问题
\zeta(2)
\sum_{k = 1}^{\infty }\frac{1}{k^2} = \frac{\pi^2}{6}\quad
泰勒展开:
基本幂级数
e^x = \sum_{n=0}^{\infty}\frac{1}{n!}x^n \ (x\in(-\infty , +\infty))
\sin x = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!}x^{2n+1} \ (x\in(-\infty , +\infty))
\frac{1}{1+x}=\sum_{n=0}^{\infty}(-1)^nx^n \ (x\in(-1 , 1))
推广
\cos x = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n)!}x^{2n} \ (x\in(-\infty , +\infty))
\frac{1}{1+x^2}=\sum_{n=0}^{\infty}(-1)^nx^{2n} \ (x\in(-1 , 1))
\ln(1+x) = \sum_{n=0}^{\infty}\frac{(-1)^n}{n+1}x^{n+1}=\sum_{n=1}^{\infty}\frac{(-1)^{n+1}}{n}x^n \ (x\in(-\infty , +\infty))
a^x = e^{x\ln a} = \sum_{n=0}^{\infty}\frac{(\ln a)^n}{n!}x^n \ (x\in(-\infty , +\infty))
\arctan x = \sum_{n=0}^{\infty}\frac{(-1)^n}{2n+1}x^{2n+1} \ (x\in(-1 , 1))
ln\frac{1}{1-x} = \sum_{k = 1}^{\infty}\frac{x^k}{k} \quad (x\in(0,1))
一直掷 n 面骰子,直到掷出过所有面,掷骰子的期望次数为:
E[x]=n \cdot H_n=n \cdot \sum_{i=1}^{n}\frac{1}{i}
/* C++ */
#include <iostream>
#include <algorithm>
#include <climits>
struct Node
{
char min, max;
};
const int MAXN{ 3000 + 5 };
const int MAXM{ 3000 + 5 };
Node V[MAXN]{};
int main()
{
using namespace std;
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// freopen("dict.in", "r", stdin);
// freopen("dict.out", "w", stdout);
fill(V, V + MAXN, Node{ CHAR_MAX, CHAR_MIN });
int n{}, m{};
bool tag{};
char val{};
(cin >> n >> m).get();
if (n == 1) cout << 1 << endl;
else
{
for (int i = 0; i < n; i++)
{
while ((val = cin.get()) != '\n')
{
V[i].min = min(V[i].min, val);
V[i].max = max(V[i].max, val);
}
}
for (int i = 0; i < n; i++)
{
tag = true;
for (int j = 0; j < n; j++)
{
if (i == j) continue;
if (V[i].min >= V[j].max)
{
tag = false;
break;
}
}
cout << tag;
}
}
}

Comments NOTHING