原创 線性基

線性基參考博客: 關於線性基的學習與理解 線性基詳解 題目:P3812 【模板】線性基 題意:給你一個數組,讓你任意選數,使異或和最大。 #include<bits/stdc++.h> using namespace std; #

原创 Nothing for Nothing(十三)

題目:meeting 題意:給你一棵樹,再給你這棵樹上的一些點,需要找到這些點能可以在一個點聚會的最短時間。 思路:隨便找到一個點,搜索這個點能夠到達最遠的點,然後再用最遠的點,搜索能夠到達最遠的距離。 #include<bits

原创 Nothing for Nothing( 十五 )

題目:Maximum Xor Secondary 題意:給你一個數組讓你求一個區間的最大值異或上這個區間第二大的值,問你最大值是多大。 思路:本題用單調棧去維護區間第二大的數,正着掃一遍,反着再掃一遍。 #include<bits

原创 Nothing for Nothing( 十 )

題目:Extra Element 題意:本題題意就是給你一個字符串,問你刪除那一個數字使這個字符串爲等差數列。 思路:就是從前面掃一遍,然後在從後面掃一遍。 #include<bits/stdc++.h> using namesp

原创 Nothing for Nothing(十四)

題目:Fansblog 題意:給你一個素數n,然後讓你找到小於n的最大素數Q,問Q!mod p == ?. 思路:(p−2)!&VeryThinSpace;mod&VeryThinSpace;p≡P(&VeryThinSpace

原创 Nothing for Nothing( 十二 )

題目1:Mahmoud and a Dictionary 代碼: #include<bits/stdc++.h> using namespace std; const int maxn = 2e5+10; int f[maxn]

原创 線段樹

文章目錄題目:[P3372 【模板】線段樹 1](https://www.luogu.org/problemnew/show/P3372)題目:[P3373 【模板】線段樹 2](https://www.luogu.org/pro

原创 PolandBall and Forest

題目: PolandBall and Forest 思路:本題就是一個簡單的並查集 並查集參考博客:並查集(Disjoint Set Union) 代碼: #include<bits/stdc++.h> using namespa

原创 樹鏈剖分

參考博客: 樹鏈剖分詳解(洛谷模板 P3384) 樹鏈剖分詳解 題目:P3384 【模板】樹鏈剖分 代碼: #include<bits/stdc++.h> using namespace std; typedef long lon

原创 Neko Performs Cat Furrier Transform

題目:Neko Performs Cat Furrier Transform 題意:本題的題意就是給你一個數,你把它變成變成二進制,然後通過兩種操作把它變成全1的形式,然後輸出偶數的操作步數的n是多少。 思路:本題的思路就是通過先

原创 Nothing for Nothing(十一)

文章目錄題目1:[Nick and Array](http://codeforces.com/problemset/problem/1180/B)題目2:[Valeriy and Deque](http://codeforces.

原创 Recursive Queries( 二分+打表)

題目: Recursive Queries 題意:本體給你兩個函數g(x)和f(x),然後Q組詢問區間[l, r]有多少個g(x) == k的,但是這道題的f(x)是一個坑點,0當成1使用,並且g(f(x))是不斷的遞歸直到x<1

原创 Nothing for nothing ( 八 )

文章目錄題目:[The Smallest String Concatenation]題目:[Longest k-Good Segment](http://codeforces.com/problemset/problem/616/

原创 小貓爬山(簡單的dfs)

題目:小貓爬山 思路:本題從題意中,很容易但出來是DP但是數據範圍很大,所以就把DP排除了,所以我們就想到用dfs,把貓的重量按照從大到小的順序,先把的先放一個車子裏,然後把不斷的去把小的是否能和大的放在一個車子裏,我門有兩種方案

原创 可達性統計(拓撲排序)

題目:可達性統計 題意:給定一張N個點M條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。 思路:建圖之後採用拓撲排序,然後反向遍歷,使用bitset去標記所有可以走的點 代碼: #include<iostream> #i