原创 codeforces 679 C

發現其實變量的命名,空格的書寫方式以及花括號的打否非常關鍵,直接影響到心情~ #include <iostream> #include <fstream> #include <set> #include <map> #includ

原创 kmp單片自動機

#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; int nxt[maxn]; // find s in t int kmp(cha

原创 ccf字符串題

#include <iostream> #include <string> #include <vector> using namespace std; int main(){ int num; string cu

原创 hdu 4125 二叉搜索樹建立與kmp

#include <set> #include <map> #include <queue> #include <stack> #include <math.h> #include <stdio.h> #include <stdl

原创 hdu 5468 容斥加樹形dp

容斥,num統計樹中含有因子i的結點有多少個,然後用總結點數減去就可以了,注意now-pre,因爲肯定要減,因爲當從一個子樹到另一個子樹的時候,也就是另一個子樹的num值還沒加進來的時候,num值統計的是全局的,所以要把子樹外面的

原创 hdu 5458 樹鏈剖分模板

題意:給出一張N個點,M條邊的無向圖,有兩個操作: 1.刪除(u, v)間的一條邊 2.如果刪除(u, v)間的一條邊可使其不連通,找出這樣的邊的個數,就是找(u, v)間橋的個數 思路:首先離線這些操作,時光倒流從最終狀態逆着

原创 codeforces 679 B

只有2種情況,一直搜索下去就行了 ,一個是剩餘的數,一個是答案一,即block,一個是增加的用到的答案 #include <bits/stdc++.h> using namespace std; #define ll long l

原创 hdu 4123 rmq與樹的直徑

#include <bits/stdc++.h> using namespace std; #define ll long long const int inf = 0x7f7f7f7f; const int maxn = 5e4

原创 RMQ模板hdu 5452

 題意:有一棵生成樹,有n個點,給出m-n+1條邊,截斷一條生成樹上的邊後,再截斷至少多少條邊才能使圖不連通, 問截斷總邊數? 解題思路:   因爲只能在生成樹上截斷一條邊(u, v),所以只需要統計以v爲根節點的子生成樹裏的節點

原创 hdu 4122 單調隊列或線段樹

/** hdu 4122 單調隊列 題目大意:給定n個時刻,在每一個時刻都要生產ai個月餅。給出m個可以生產的時刻,每個時刻單個生產費用爲bi,單個月餅可儲存T時間,單位時間費用爲S 問如何安排生產花費最少 解題

原创 hdu5792

狗b題,氣死我了,思路正確,離散化的時候相同元素要按照位置從小到大排,然後不用兩遍求,手推一下,做減法就可以了~ #include <iostream> #include <cstring> #include <cstdio> #

原创 AC自動機

http://www.cnblogs.com/Booble/archive/2010/12/05/1897121.html //hdu2222 //ACauto //構造失敗指針:設當前節點上的字母爲C,沿着他父親的失敗指針走,直

原创 hdu 5444 繼續二叉查找樹

/************************************************************************* 這是一個二叉查找樹,實現了以下操作:插入結點、構造二叉樹、刪除結點、查找、

原创 AC自動機精講

http://www.cnblogs.com/Booble/archive/2010/12/05/1897121.html //hdu2222 //ACauto //構造失敗指針:設當前節點上的字母爲C,沿着他父親的失敗指針走,直

原创 又一線段樹,算上findpos

http://blog.csdn.net/shiqi_614/article/details/9938973