原创 樹上莫隊

樹上莫隊操作 dfs求出歐拉序 blc=sqrt(2n)。 注意開個pos[i]數組優化,代表i/blc。 注意是2n 夯拙ヽ( ̄ω ̄( ̄ω ̄〃)ゝ 將題目所給區間轉化爲歐拉序區間 for(i=0;i<m;i++){

原创 拉格朗日插值法

應用於當給出n+1個點,且這n+1個點在一個n次(或者小於n次)的多項式時,求給出在這個多項式上的一個點的x座標,求出其對應的y座標。 用法1: 當給出n+1個點後,直接將需要求的點的x座標帶入到這個拉格朗日法公式中,f(X)=

原创 [JLOI2013]卡牌遊戲 概率dp+約瑟夫環

[JLOI2013]卡牌遊戲 題目描述: N個人坐成一圈玩遊戲。一開始我們把所有玩家按順時針從1到N編號。 首先第一回合是玩家1作爲莊家。每個回合莊家都會隨機(即按相等的概率)從卡牌堆裏選擇一張卡片,假設卡片上的數字爲X,則

原创 KMP的Next數組應用總結

Next數組求法 不用初始化,因爲Next數組是遞推出來的。用法爲getFail(s,strlen(s)). const int MAX_N=101000; char str[MAX_N],pattern[MAX_N]; int

原创 如果解決區間不重複的數的個數----只維護某個數最後一次出現的位置!!!---E. Messenger Simulator

E. Messenger Simulator 題意:一開始有一個1到n的數組,然後m個操作,操作輸入ai,將ai移動到數組的第一個位置,求在m個操作的過程中每個數的最小位置和最大位置。 思路:首先maxl[i],maxr[i]代表

原创 染色圖(數論分塊模板)

數論分塊模板(2sqrt(n))適用於|n / i|向下取餘 因爲n/i一共有2sqrt(n)個值所以時間複雜度爲根號n 適用範圍:只要出現的式子有n/i則可以進行分塊 //nl代表總的左邊界,nr是總的右邊界 for(lon

原创 Little M's attack plan

Little M’s attack plan 題意:給一顆帶有權值的樹,然後q個詢問,每個詢問x和k,回答與點x的距離在k以內的所有點的權值和。 思路:容斥原理,以下是對於每個詢問的回答,dp[i][j]代表點i的子樹中的所有點距

原创 道路與航線 BZOJ2200

H. Delivery Route 算法競賽進階指南P358例題 #include<iostream> #include<cstdio> #include<vector> #include<queue> #include<cstr

原创 二分圖的必須邊和可行邊

給定一張二分圖,其最大匹配的方案不一定是唯一的。若任何一個匹配方案的匹配邊都包含(x,y),則稱(x,y)爲二分圖最大匹配的必須邊(可以理解爲如果不匹配這條邊的話二分圖最大匹配就少一條)。若(x,y)至少屬於一個最大匹配的方案,則

原创 HDU - 4757 Tree

HDU - 4757 Tree 題意:在樹上每個節點都有一個權值,每次詢問給出x,y和一個值z,求在樹上點x到點y的路徑上每個點的權值異或z之後的最大值。 思路:可持久化01字典樹,利用LCA,即兩段路徑,x到LCA(a,b)

原创 Wannafly Winter Camp Day5 G題

Cryptographically Secure PRNG 這個題打表找到的規律,卡常,因爲求逆元是log級別的,所以如果用快速冪求逆元會T,所以求逆元需要用到遞推公式。 遞推公式 inv[i]代表i對於質數p的逆元 inv[i]

原创 SPFA求最大路

求最長路可以將邊權乘以-1,然後求最短路即可,之後最短路取相反數就是最大路。 SPFA板子 vector<int>v[MAX_N],w[MAX_N]; int have[MAX_N],dis[MAX_N]; void spfa(i

原创 HDU-3751

HDU CakeMan D是賣蛋糕的,S是賣蛋糕的人的家,C是城管的家。D要回家按最短路回家,而C要從最短路的必經之路逮住他,求C到D回家的必經之路的最短距離。 知識點:求最短路必經點,將最短路找出來,然後dp_s[i][j]爲到

原创 P5590 賽車遊戲

P5590 賽車遊戲 自由給有向邊賦值,每個邊爲1-9,並且點1到點n每條路徑長度都一樣。 首先應該從1跑一遍正圖,將可以到達的點標記,然後再在n跑一遍反圖,並且標記,然後兩次都標記的點纔在比賽的路徑上,即滿足1到其中的點所有路徑

原创 線段樹模板

單點更新,區間查詢 struct node{ int l,r,max; }a[MAX_N*4]; int b[MAX_N]; void update(int k){ a[k].max=max(a[k<<1].max,a[k