原创 樹上莫隊算法學習

題目鏈接 學習樹上莫隊算法,首先了解一下歐拉序。 歐拉序 對於一顆樹,我們遍歷的時候,我們第一次經過時,把該點加入序列,回溯時再加一遍,形成歐拉序。 例如: 這棵樹的歐拉序就是:1,2,3,6,6,4,4,5,5,3,7,7,2

原创 青島大學軟件夢工廠藍橋講課_前綴和與差分題解

A.zx學長的施工隊1 解題思路在視頻中已給出, 標程代碼: #include <iostream> #include <cstring> #include <string> #include <algorithm> #inclu

原创 記憶化搜索(codeforces118D Caesar's Legions)

題目鏈接 於是這個題堅定了我寫記憶化搜索的決心。。。不知爲何,就是覺得記憶化搜索比dp直觀,好想。dp是一寫就錯。 這個題明顯記憶化搜索比dp方便的多,不知道爲啥網上的題解都用四維dp寫個百八十行。。。 dp[i][j][flag

原创 樹上主席樹(洛谷 P2633 Count on a tree)

題目鏈接 學了學樹上主席樹。之前一直以爲樹上主席樹必須和樹鏈剖分結合,學了之後發現不用。直接按照自然dfs序建樹。每個節點都繼承自它的fa節點。然後我們查詢某路徑(x,y): tr[x].sum+tr[y].sum−tr[lca(

原创 杜教篩(概念及模板)

功能 杜教篩可以在非線性的時間內求出極性函數的前綴和。 洛谷給出的模板: 對於n(n<231n<2^{31}n<231)求出: ans1=∑i=1nφ(i)ans_1=\sum^{n}_{i=1}\varphi(i)ans1​=∑

原创 網絡流/費用流(洛谷 P3980 [NOI2008]志願者招募)

題目鏈接 想了許久,一看題解是一種比較sao的辦法. 1.源點連第一天 匯點連最後一天 容量爲INF費用爲0 2.然後每一天向後一天連一條容量爲INF-a[i] 費用爲0的邊 3.然後將每一類志願者s[i]與t[i]+1連一條容量

原创 博弈+dfs(ICPC Asia Nanning 2017 Rake It In)

題目鏈接 專門研究過博弈背景下的記憶化搜索dp什麼的,做的時候自信滿滿,10分鐘敲出來秒過樣例。愉快的交上去,t了。最後各種卡常,吸氧,嘗試記憶化,快讀也試了,1003ms,超了3ms,弄不懂了。看了mmk學長博客,一模一樣的思路

原创 AC自動機學習/模板

題目連接 (只提供模板及簡單思路。) 憨批的第一個字符串算法。 前置知識: Tire樹、KMP匹配思想 第一步:首先把所有的匹配串建一個Tire樹。 第二步:從Tire樹根節點開始,一個一個字符的匹配模式串。到某一個節點失配後,尋

原创 生成樹相關模板

基本的最小生成樹的Kruskal, Prime算法不再闡述. 有向圖最小樹形圖 以某一根節點出發,可以到達所有節點,且邊權總和最小的子圖.這裏模板使用的時朱劉算法; 下面時模板代碼: /* 朱劉算法: 1.找所有節點的最小入邊,標

原创 圖的匹配問題相關模板

基本二分圖匹配匈牙利算法和一些基本的定理不再闡述 必經\可行點,必經\可行點 必經可行邊在這裏可以看到。 可行點:同可行邊,所有可行邊連接的點,都是可行點,否則不是可行點。 必經點:除暴力枚舉外,我們在跑完網絡流的殘留圖上枚舉所有

原创 上下限網絡流模板

下面是模板代碼: /* 特別注意:::以下建邊tot從2開始記錄! 1.建圖 對於每一個(a, b, low, up) 首先建立(a, b, up - low) 並記錄: div[a]-=low, div[b]+=low 待全部邊

原创 生成樹相關模板(續)

發現一個寫太多編輯器比較卡。繼續,這也就是一些小點了。 完全圖生成樹計數 Cayley公式:f(n)=n∗(n−2)f(n) = n*(n-2)f(n)=n∗(n−2) 有向圖樹形圖計數 樹形圖計數仍適用Matrix-Tree定理

原创 QDU-思政答題平臺

1.挑戰題目 本平臺可以實現學生線上答題,並在答題結束後給出分數。 2. 題目解析 當學生回答完一套題後,學生可選擇查看題目解析。 3. 編輯題目集 本平臺的一大特色功能。用戶自主編輯題集的功能不能不說是一大亮點。老師使用這套平臺

原创 杜教BM (線性齊次遞推式推演,無define)

基於廣爲流傳的gao(v, n-1)重構,刪去了所有define,刪減了斷言語句(感覺問題不大), 適合沒有define習慣得小夥伴取用. 下面是模板代碼: #define ll long long using namespace

原创 青島大學軟件夢工廠藍橋講課_素數題解

A.zx學長與失落城 使用篩法將小於1e6的素數輸出,注意格式輸出即可. 下面是標程代碼 #include<cstdio> #include<iostream> #include<cstring> #include <map> #