原创 Blocks(組合數學——生成函數)

Blocks https://cn.vjudge.net/problem/POJ-3734 題意: 一排有n塊磚,每塊磚可以染成A,B,C,D四種顏色的其中一種,現在問你A顏色磚塊有偶數個,B顏色磚塊有偶數個的染色方法有幾種? 題

原创 codeforces 386C Diverse Substrings

codeforces 386C Diverse Substrings https://codeforces.com/problemset/problem/386/C 題意: 對於字符串sss有多樣性d(s)d(s)d(s)表示字符

原创 2020 遊族杯C (cdq分治,三維偏序問題變形)

題意: 在三維空間中有n個點,對這個空間有多次操作,每次操作將所有孤兒點給刪除。對於點(x,y,z)它是孤兒點當且僅當不存在一個點(x1,y1,z1)滿足x1<x,y1<y,z1<z。 問每個點在第幾輪被刪除 題解: 對於這個在隊

原创 ICPC 2019-2020 North-Western Russia Regional Contest E. Equidistant(換根dp)

寫這個題解的原因只要是想記錄以下換根dp的實現。 題意: 鏈接 n個點的樹上有m個特殊點,讓你找到你一個點使得這個點到所有特殊點的距離相等。 題解: 題目本質上就是讓你找一個點使得最遠的距離和最近的距離相等。這樣用換根dp維護最遠

原创 C++ 變量和基本類型

C++ 變量和基本類型 C++ 變量和基本類型 聲明與定義: 引用: 指針: 指針和constexpr const: 初始化: const的引用: const與指針 const總結 decltype 自定義數據結

原创 C++ Function object adapter(函數對象適配器)

C++ Function object adapter(函數對象適配器) Function object adapter 會對 Function object 進行修改操作。 常用的adapter(適配器) 1. binder a

原创 最小生成樹的拓展

最小生成樹的拓展 本文會隨着弟弟我的學習進度來進行更新 度限制最小生成樹 最小度生成樹:np-hard 最小k度限制生成樹:經典問題 做法(以下皆假設固定的點爲rt): 刪除rt點,並用剩下的點建一個最小生成樹森林 如果有p

原创 牛客15334 Easygoing Single Tune Circulation

牛客15334 Easygoing Single Tune Circulation(後綴自動機+字典樹) https://ac.nowcoder.com/acm/problem/15334 題意: 給你n個字符串S,每個字符串Si

原创 C++ 面向對象中的mutable和const

C++ 面向對象中的mutable和const 本文主要記錄我對面向對象中 const(不變) 以及 mutable(可變) 的理解 const const加在成員函數後面(同時在聲明與定義中指定) 這樣做是爲了告訴編譯器,這

原创 第三種最小生成樹算法 Borůvka算法

第三種最小生成樹算法 Borůvka算法 基本思路: 用定點數組記錄每個子樹的最近鄰居。 對於每一條邊進行處理: 如果這條邊連成的兩個頂點同屬於一個集合,則不處理,否則檢測這條邊連接的兩個子樹,如果是連接這兩個子樹的最小邊,則更新

原创 codeforces 616F Expensive Strings

codeforces 616F Expensive Strings (廣義後綴自動機) https://codeforces.com/contest/616/problem/F 題意: 給你n個字符串串,串SiS_iSi​的權值爲

原创 類歐幾里得模板

類歐幾里得模板 存個類歐幾里德模板,想看看原理就看看敦哥(洪華敦)的教程 敦哥無敵 ll inv2=qpow(2,mod-2); ll sum(ll a,ll b,ll c,ll n){ if(!a) return 0; ll

原创 AC自動機模板

struct AC_Automaton { int next[maxn][26]; int fail[maxn]; int end[maxn]; int sz, root; int newNode() { for(

原创 2017HDU多校補完計劃

2017HDU多校補完計劃 太菜了只能找題來做了 2017 Multi-University Training Contest - Team 1 官方題解 ID NAME FINISH SOLUTION HDU 60

原创 SAM模板

#include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; const int mod=1e9+7; #define pb push_back #defin