原创 騙分導論(轉載)

傳送門

原创 luoguP3435 [POI2006]OKR-Periods of Words

題目鏈接 分析 首先說明一下題意那個翻譯不太好理解,題目意思是 設原串S 一個字符串的非空真前綴爲Q(proper前綴)不能和S一樣,不能爲空; 如果說S爲Q+Q的前綴,那麼strlen(Q)就是週期;求的是S所有的前綴的最

原创 luooj P1241: Fibonacci前n項和

題目鏈接 分析 矩陣遞推式; Sn=1*Sn-1+1*fn+0*fn-1; fn+1=0*Sn-1+1*fn+1*fn-1; fn=0*Sn-1+1*fn+0*fn-1; {1 1 0} {0 1 1} {0 1 0} 其餘見上一

原创 luoguP1456 Monkey King

題目鏈接 分析 左偏樹的模板題,加上並查集之後還是很好理解的,沒有什麼思路可言就是合併和修改堆中的元素; 代碼+註釋 #include<bits/stdc++.h> #define N 100005 using namespac

原创 三分法模板講解

三分查找 我們都知道 二分查找 適用於單調函數中逼近求解某點的值。 如果遇到凸性或凹形函數時,可以用三分查找求那個凸點或凹點。 下面的方法應該是三分查找的一個變形。 如圖所示,已知左右端點L、R,要求找到白點的位置。

原创 luooj P1226 修橋

題目鏈接 分析 雙聯通割邊,依舊縮點,好像並沒有用到橋的數量,不過作爲一道模版題還是打了。詳細見我註釋的代碼 #include<bits/stdc++.h> #define N 5005 #define M 20005 usi

原创 luoguP3377 【模板】左偏樹(可並堆)

傳送門 分析 可合併的二叉堆和之前的模板差不多,根據題意稍有個別改變; 詳見代碼; 代碼 #include<bits/stdc++.h> #define N 100005 using namespace std; int n,

原创 luooj P1405好元素

題目鏈接 分析 這道題巧妙的應用了hash和邊表; 首先分析一下題意,就是讓你在n個數裏找3個數加起來等於第四個數。 ai+aj+ap=ak <==> ai+aj=ak-ap 之後就簡單了就是邊表的技巧 代碼 #inc

原创 數論訓練小結

擴展歐幾里得算法 歐拉函數與歐拉定理 同餘方程 關於逆元一個不錯的講解 組合數的應用 點贊 收藏 分享 文章舉報 罪_蒟蒻PDD 發佈了59 篇原創文章 · 獲贊 8

原创 poj p1201 Intervals

題目鏈接 分析 差分約束系統的模板題; 代碼 #include<cstdio> #include<algorithm> #include<queue> #define N 50005 #define M 150005 #de

原创 luooj1559最強陣容加強版

題目鏈接 分析 用最小表示法返回最小表示串(字典序最小的同構串)第一個字符在原始串中的下標。 用兩個指針i,j,i初始化爲0,j初始化爲1,用k表示當前已經匹配串的長度。如果str[i+k]==str[j+k],j++,

原创 luoojP1155A/B

題目鏈接 分析 擴展歐幾里得,數論題,題目的思路很簡單,重要的是題目的推導; #include<bits/stdc++.h> #define ll long long #define N 9973 using namespace

原创 luooj[USACO 1.3.3]Calf Flac

傳送門 manacher算法 用來找字符串中的最長迴文子串的algorihtm Manacher算法可以將長度爲奇數和偶數的迴文串一起考慮: 在原字符串的相鄰字符串之間插入一個分隔符,字符串的首尾也要分別添加,

原创 洛谷P3382 【模板】三分法

題目鏈接 方法1 就是三分的模板之前轉載過了就不寫了 不過求多項式有兩種效率不一樣的方法可以作爲參考; //普通的求多項式 /*double F(double x){ double f=0; for(int i=n;i>=0

原创 luoojP1030最長跳躍路線

CF474E簡化版 (cf中此題需要輸出答案的方案,此題只需輸出答案) 分析 首先想到的是暴力的dp刷表法和填表法都是很簡單的,這裏不再一一闡述; 不過要做出這題的話首先還是要先學會nlogn的追償上升子序列;之後這題就會用到