79博客学习笔记

注:利用 $\operatorname{}$ 标准函数形式表示相应牌。

第一章 麻雀的基础

麻雀的基础 1—麻雀是?

  1. 麻将的目的:雀力日进!

麻雀的基础 2—麻雀和概率

  1. 现代麻将的游戏性,果然其本质不是“役”而是“形”。
  2. 即使是打出了最合适的一手,有时也是会失败的。这就是麻将。
  3. 不要因为一时成功而喜悦,也不要因为一时的失败而沮丧;要以长远的目光来进行判断。
阅读全文 »

Markdown标记语言入门

一、什么是 Markdown:

\(\qquad\!\!\)Markdown 是一种轻量级标记语言,由约翰·格鲁伯(John Gruber)于 \(2004\) 年创立。\(2017\) 年,GitHub 发布了基于 CommonMark 的 Github Flavored Markdown(GFM)的正式规范。

\(\qquad\!\!\)约翰·格鲁伯对于 Markdown 的定义是:

Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

Markdown 是面向 Web作家 的文本到 HTML 转换工具。Markdown 允许您使用易于阅读,易于编写的纯文本格式进行编写,然后将其转换为结构上有效的 XHTML(或HTML)。

阅读全文 »

\(\qquad\!\!\)一些在求组合数的时候会很有用的东西:

  • 1、乘法逆元:

    • ①、费马小定理:

    \(\qquad\!\!\)\(p\) 为素数,\(a\) 为一个正整数且 \(a\)\(p\) 互质,则 \(a^{-1}\equiv a^{p-2} \pmod{p}\)

    \(\qquad\!\!\)例题:

    \(\qquad\!\!\)给定 \(a\)\(p\),保证 \(p\) 为素数并且 \(a\)\(p\) 互质,求出在模 \(p\) 意义下的 \(a\) 的逆元。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    #include<bits/stdc++.h>
    #define in inline
    #define re register
    using namespace std;
    int a,p;
    in int qread()
    {
    int x=0,y=1;
    int ch=getchar();
    while(ch<'0'||ch>'9')
    {
    if(ch=='-')
    {
    y=-1;
    }
    ch=getchar();
    }
    while(ch>='0'&&ch<='9')
    {
    x=(x<<1)+(x<<3)+(ch^48);
    ch=getchar();
    }
    return x*y;
    }
    in void qwrite(re int x)
    {
    if(x<0)
    {
    putchar('-');
    qwrite(-x);
    }
    else
    {
    if(x>9)
    {
    qwrite(x/10);
    }
    putchar(x%10+'0');
    }
    return ;
    }
    in int qpow(re int x,re int y)
    {
    int res=1;
    while(y)
    {
    if(y&1)
    {
    res=(res*x)%p;
    }
    x=(x*x)%p;
    y>>=1;
    }
    return res%p;
    }
    int main()
    {
    a=qread();
    p=qread();
    qwrite(qpow(a,p-2));
    putchar('\n');
    return 0;
    }
    阅读全文 »

\(\qquad\!\!\)博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现象的数学理论和方法。 博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。生物学家使用博弈理论来理解和预测进化论的某些结果。

\(\qquad\!\!\)在此总结四种常见的博弈结论:

阅读全文 »

\(\qquad\!\!\)整理一些 OI 中常用的筛法:

  • 1、埃拉托斯特尼筛法:

\(\qquad\!\!\)例题:

\(\qquad\!\!\)给定一个数 \(n\) 判断这个数是不是质数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include<bits/stdc++.h>
#define in inline
#define re register
const int N=100;
const double eps=1e-6;
using namespace std;
int n;
bool prime[N];
in int qread()
{
int x=0,y=1;
int ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
{
y=-1;
}
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*y;
}
in void qwrite(re int x)
{
if(x<0)
{
putchar('-');
qwrite(-x);
}
else
{
if(x>9)
{
qwrite(x/10);
}
putchar(x%10+'0');
}
return ;
}
in void ass(re int x)
{
memset(prime,1,sizeof(prime));
prime[0]=0;
prime[1]=0;
int t=sqrt(x)+eps;
for(re int i=2;i<=t;i++)
{
if(prime[i])
{
for(re int j=(i<<1);j<=x;j+=i)
{
prime[j]=0;
}
}
}
}
int main()
{
n=qread();
ass(n);
qwrite(prime[n]);
putchar('\n');
return 0;
}
阅读全文 »

\(\qquad\!\!\)线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

\(\qquad\!\!\)数论是纯粹数学的分支之一,主要研究整数的性质。

  • 1、欧几里得(GCD):

\(\qquad\!\!\)例题:

\(\qquad\!\!\)给出两个正整数,求出两个数的 \(\gcd\)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include<bits/stdc++.h>
#define in inline
#define re register
using namespace std;
int a,b;
in int qread()
{
int x=0,y=1;
int ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
{
y=-1;
}
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*y;
}
in void qwrite(re int x)
{
if(x<0)
{
putchar('-');
qwrite(-x);
}
else
{
if(x>9)
{
qwrite(x/10);
}
putchar(x%10+'0');
}
return ;
}
in gcd(re int x,re int y)
{
return y?gcd(y,x%y):x;
}
int main()
{
a=qread();
b=qread();
qwrite(gcd(a,b));
putchar('\n');
return 0;
}
阅读全文 »
0%