原创 隊列的順序存儲結構

.c /*************************************** * author:賀永虎 * mail:xxxxxx * desc:隊列的線性實現函數 * * *********************

原创 棧的順序存儲結構

.c文件 /*************************************** * author:賀永虎 * mail:xxxxxx * desc:棧的線性實現函數 * * ********************

原创 博弈論基礎

一、巴什博弈 先給一個裸的巴什博弈的題:https://cn.vjudge.net/problem/HDU-1846 題目大意:有一堆n個石頭,兩個人取,最少取一個,最多取m個,問是先手贏,還是後手贏。 //如果n是m+1的倍數,則先手

原创 網絡流入門(EK算法)

#include <iostream> #include <cstring> #include <cstdio> #include <queue> using namespace std; const int inf = 0x3f3f3

原创 狀壓DP

  結合例題理解!!! 關燈問題II https://www.luogu.org/problemnew/show/P2622 題目描述 現有n盞燈,以及m個按鈕。每個按鈕可以同時控制這n盞燈——按下了第i個按鈕,對於所有的燈都有一個效果。

原创 樹狀數組+ST表

樹狀數組!!! (只能用於區間求和,其他的還是要靠線段樹,但是這種思想很重要。) 樹狀數組的優點: 代碼短小,實現簡單; 容易擴展到高緯度的數據; 缺點: 只能用於求和,不能求最大/小值; 不能動態插入; 數據多時,空間壓力大; int

原创 數學期望值+概率DP

期望值:在概率和統計學中,一個隨機變量的期望值是變量的輸出值乘以其機率的總和,換句話說,期望值是該變量輸出值的平均數。期望值並不一定包含於變量的輸出值集合裏。 如果  是在概率空間中的一個隨機變量,那麼它的期望值   的定義是: F-分佈

原创 線段樹(模板)

目前就知道這些,以後遇到其他題在自行補充。。。  #include <iostream> #include <cstdio> #include <string> using namespace std; typedef long lon

原创 Mayor's posters POJ - 2528 (線段樹+離散化+區間更新)

https://cn.vjudge.net/problem/POJ-2528 #include <stdio.h> #include <algorithm> #include <math.h> #include <cstring> us

原创 數論模板

1、快速冪和快速冪取模  11的二進制是1011,11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1,因此,我們將a¹¹轉化爲算 a^(2^0)*a^(2^1)*a^(2^3); int poww(int a,int b){

原创 vector的基本操作(根據個人喜好所寫)

由於之前對vector的不瞭解,現在補充說明一下。。。還未補充完全,以後有時間在專門對其總結整理。 vector數組與數組的主要差別在於vector數組不能對下標直接輸入,但可以修改。 #include<iostream> #inclu

原创 快速冪和快速冪取模

首先,快速冪的目的就是做到快速求冪,假設我們要求a^b,按照樸素算法就是把a連乘b次,這樣一來時間複雜度是O(b)也即是O(n)級別,快速冪能做到O(logn),快了好多好多。它的原理如下:   假設我們要求a^b,那麼其實b是可以拆成二

原创 歐幾里得和擴展歐幾里得!!!

歐幾里得: 是求兩個數的最大公約數: int gcd(int a, int b) { if(b==0) return a; return gcd(b, a%b); } 擴展歐幾里得: 已知a, b求解二元一次方程ax+b

原创 出棧序列

數據結構實驗之棧與隊列七:出棧序列判定 Time Limit: 30 ms Memory Limit: 1000 KiB Submit Statistic Problem Description 給一個初始的入棧序列,其次序即爲元素的入棧

原创 DP典型模型。。。

一、01揹包 有N件物品和一個容量爲V的揹包。第i件物品的價格(即體積,下同)是w[i],價值是c[i]。求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。 這是最基礎的揹包問題,總的來說就是:選還是不選,這是個