暑假NOIP筆記—代數+數位統計+概率+博弈論

暑假NOIP筆記—July 22rd

代數+數位統計+概率+博弈論

Morning

  • 高斯消元
  • 線性方程組的解
  • 解同餘方程組
  • 一類Xor問題
  • 常係數線性齊次遞推方程
  • 矩陣乘法

高斯消元

係數矩陣/增廣矩陣
(係數矩陣)簡單來說係數矩陣就是將方程組的係數組成矩陣來計算方程的解
(擴增矩陣)就是在係數矩陣的右邊添上一列,這一列是線性方程組的等號右邊的值
矩陣的初等行(列)變換
定義 A
定義 B
項目3
定義 C

定義 D

線性方程組的解

> 齊次線性方程組的解只有兩種可能:0,無窮多
> 階梯行矩陣的 數目 < 未知量數目 ——有非零解
>非齊次線性方程組的解只有三種可能:無解、有唯一解、有無窮多個解
>把增廣矩陣經過初等行變換轉化爲階梯形矩陣
>對應的階梯形方程組中出現”0=d”這樣的方程——無解
>階梯形矩陣非零行數目=未知量數目——有唯一解
>階梯形矩陣非零行數目<未知量數目——有無窮多個解
>齊次線性方程組的解只有兩種可能:只有零解、有無窮多個解

[JSOI 2008] Sphere 題目鏈接

解同餘方程組

[tyvj1266] 費解的開關 題目鏈接

–> ‘翻轉棋’

Xor

Xor 矩陣
把每個數寫成64位二進制串,每一位看做一個數字,然後把每個串寫在一行中,形成一個n*64的矩陣。

高斯消元解Xor方程組

對Xor矩陣進行高斯消元。
消元之後仍將每行看做二進制串,會得到很多新的二進制數。
高斯消元實際上是對Xor矩陣進行了若干次初等行變換。
一次初等行變換相當於對兩個數進行了Xor運算。
根據Xor空間的定義,這些新數的Xor空間和原來相同。

定理:對若干個數構成的Xor矩陣進行高斯消元不改變這些數的Xor空間。

用O(64n)的時間可以把Xor矩陣變爲簡化階梯形矩陣。
對簡化階梯形矩陣的n個數詢問上面的5個問題,與原來的n個數是等價的!

高斯消元經典題目之一:

Description

給出n個數,要求在其中選出一些數,使得異或和最大,輸出這個異或和。

Input

第一行包含一個正整數n
接下來n行每行一個非負整數ai

Output

輸出一行一個正整數,代表最大的異或和

Sample Input

3
10
4
13

Sample Output

14

HINT

n<=100000
ai<2^31
Code:
**這裏寫代碼片

Ex

擴展到樹、圖:

BZOJ2115 [Wc2011] Xor 題目鏈接

Ac IDEA:
每一條路徑都可以看作爲從S-T的一條簡單路徑加上一些環,由於重複路徑的異或值抵消掉,所以答案就爲一條簡單路徑與一些環的異或值。
怎麼找所有的環呢?
n個點,m條邊的圖至多有m個(本質不一樣的)環,可以通過在生成樹上加邊來得到
Code:

這裏寫代碼片

與Xor相關的構造題

構造異或方程組
Waterloo Local Contest 2011.9.24 E

Ps:此類題比較難,不做過多要求。

其它應用

行列式
逆序數
在一個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱爲一個逆序。一個排列中逆序的總數就稱爲這個排列的逆序數。逆序數爲偶數的排列稱爲偶排列;逆序數爲奇數的排列稱爲奇排列。如2431中,21,43,41,31是逆序,逆序數是4,爲偶排列。

行列式的性質

  • 行列式轉置,值不變
  • 行列式一行的公因子可以提出去
  • 兩行互換,行列式反號
  • 把一行的倍數加到另一行上,值不變
  • 上三角行列式的值是其對角線上的數的乘積

So:
可以消元,時間複雜度爲O(n^3)

行列式應用:生成樹計數

無向圖 求有多少生成樹 (瞭解即可)

常係數線性齊次遞推方程

如下:
這裏寫圖片描述
其中a1,a2,…ak爲常數,ak!=0,稱爲k階常係數線性齊次遞推方程
b爲初值。
解的過程類似於 數列的求解通項公式。

Attention!!

一般簡單的遞推公式必須要掌握,作爲基本的數學技能,倘若不會,那麼即使你會快速冪,會矩陣乘法,都無濟於事。

矩陣乘法

相關內容之前已經很詳細的寫過博文
http://blog.csdn.net/z_mendez/article/details/46986183
知道這個公式就好:


Afternoon

  • 計數&數位DP
  • 隨機變量的分佈
  • 博弈論

計數&數位DP

基本計數模型—非降路徑問題:

從(0,0)到(m,n)的非降路徑數: C(m+n,m)

N1:從(0,0) 到 (n,n)下不接觸對角線非降路徑數
N2:從(1,0)到(n,n1)下不接觸對角線非降路徑數
N0: 從(1,0)到(n,n1)的非降路徑數
N3: 從(1,0)到(n,n1)接觸對角線的非降路徑數
關係: N=2N1=2N2=2[N0  N3]
N4: 從(0,1)到(n,n1)無限制條件的非降路徑數
關係: N3=N4
這裏寫圖片描述

Catalan 數列

Catalan 數列(1,1,2,5,14,42,132…)

應用

1.Cn= 長度爲 2n的 Dyck words的數量。Dyck words是由n個X和n個Y組成的字符串,並且從左往右數,Y的數量不超過X,例如長度爲6的 Dyck words爲:
XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY
2.Cn=n對括號正確匹配組成的字符串數,例如3對括號能夠組成:
((())) ()(()) ()()() (())() (()())
3.n+1個數相乘,所有的括號方案數。例如,4個數相乘的括號方案爲:
((ab)c)d (a(bc))d (ab)(cd) a((bc)d) a(b(cd))
4.Cn=擁有 n+1 個葉子節點的二叉樹的數量。例如 4個葉子節點的所有二叉樹形態:

5.Cn=n*n的方格地圖中,從一個角到另外一個角,不跨越對角線的路徑數,例如, 4×4方格地圖中的路徑有:

6.Cn= n+2條邊的多邊形,能被分割成三角形的方案數,例如 6邊型的分割方案有:

7.Cn= 圓桌周圍有 2n個人,他們兩兩握手,但沒有交叉的方案數。

Burnside引理&Polya原理

Burnside引理:
這裏寫圖片描述
Polya原理:
這裏寫圖片描述

POJ 2409 Let it Bead 題目鏈接

題意:給定顏色種數和環上的珠子總數,問有多少種染色方案(通過旋轉和翻轉相同的算同一種)。
當n爲奇數時,有n種翻轉,每種翻轉都是以一個頂點和該頂點對邊的中點對稱。有k^(n/2+1)*n種。
Solution:
當n爲偶數時,有n種翻轉,其中一半是以兩個對應頂點,另一半是以兩條對邊對稱。有k^(n/2+1)*n/2+k^(n/2)*n/2種。

考慮旋轉:枚舉旋轉角度360/n*i,(0

#include<stdio.h>
#include<string.h>
typedef long long ll;
ll k,n,ans;
ll pow(ll x,ll y)
{
    ll ans=1;
    while(y)
    {
        if(y&1)
        {
            ans=(ans*x);;
        }
        y/=2;
        x*=x;
    }
    return ans;
}
ll gcd(ll x,ll y)
{
    return y ? gcd(y, x%y) : x;
}
int main()
{
    while(~scanf("%lld%lld",&k,&n),n||k)
    {
        ans=0;
        if(n&1)
        {
            ans+=pow(k,n/2+1)*n;
        }
        else
        {
            ans+=pow(k,n/2+1)*(n/2)+pow(k,n/2)*(n/2);
        }
        for(int i=1;i<=n;i++)
        {
            ans+=pow(k,gcd(i,n));
        }
        printf("%lld\n",ans/(2*n));
    }
    return 0;
}

Dp:

沒什麼好說的,相關典型的問題的題解會在近期更新,敬請期待。

離散型隨機變量的分佈

這裏寫圖片描述

連續型隨機變量的分佈

這裏寫圖片描述
And..
其它相關知識:
數學期望
方差
…(有興趣自己百度一下吧。。)

Tyvj1864 守衛者的挑戰 題目鏈接

{此題爲一道與概率有關的小動規}
Code:

這裏寫代碼片

Tyvj2020 Rainbow的信號 題目鏈接

Code:

這裏寫代碼片

博弈論經典模型:NIM

何謂 NIM ?

Nim遊戲是博弈論中最經典的模型(之一),它又有着十分簡單的規則和無比優美的結論 Nim遊戲是組合遊戲(Combinatorial Games)的一種,準確來說,屬於“Impartial Combinatorial Games”(以下簡稱ICG)。
———百度百科

如果想深入瞭解可以看看這個博客
http://www.cnblogs.com/exponent/articles/2141477.html

Example:

若干堆物品,兩人輪流從某一推取走任意數量的物品,規定取走最後一個物品的人勝。

此題有 先手必敗 的性質

把所有堆物品的數目異或起來,若爲0,則先手必敗.

SG函數:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章