原创 A - Archery Tournament 動態開點+vecotor 神仙題

存圖還是像矩形一樣的存,每個節點存所在區級內部的圓的編號,然後暴力判斷,開始我也有這個想法,但是。。。這TM也能過。。。仔細想想,貌似好像是可以過,時間複雜度玄學無法證明。。。。 #include<iostream> #include

原创 線段樹動態開點+樹鏈剖分BZOJ4999

以每個一個顏色開一顆線段樹,內部以dfs序作爲線段樹節點,權值代表出現次數,維護線段樹區間和 #include<iostream> #include<stdio.h> #include<string.h> #include<algor

原创 易錯分析

注意建邊add(u,v),有可能函數內部已經加了雙向邊,記住不要再加add(v,u)

原创 C - League of Leesins-構造

題意就是給多個三元組(內部沒有順序),讓你構造一個序列,使得所有的三元組都是存在的 簡單的思考後就會發現一個簡單的思路,開頭的數一定只出現一次,進而可以找到頭或者尾部的第一個三元組,然後我們知道序列最開始的元素是什麼,但是後面兩個我們並

原创 Round #590 (Div. 3)

 拿DIV找快樂。。。   當場過了A-B1-B2-C 寫D差5分鐘寫的是正解。。。留坑補FG   A. Equalize Prices Again 直接判斷sum%n==0?sum/n:sum/n+1   B1,B2. Social

原创 hihocoder1994 樹與落葉 DFS+前綴和+二分

DFS找到節點刪除的時間,刪除的時間其實就是子樹的最長鏈,然後給每個點打一個時間戳,然後求每個時間點對應刪除的節點的個數,對於1-max_time時間戳求一個前綴和,然後二分找到和m距離最近的那一天 #include<iostream

原创 面試題56 - I 數組中數字出現的次數

題意 一個數組,有兩個數字只出現一次,其他數字出現兩次,如何在O(N)的複雜度,O(1)的空間複雜度情況下求出這兩個數字? 思路 這個題之前做校賽的時候做過,還是很簡單,由異或的性質,我們很容易得知道,把所有數字都異或一次,答案就

原创 leetcode 2兩數相加

ACM打多了,好久沒寫指針的題目了 #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<vector> #def

原创 無序數組取中位數問題

解決快速求出無序數組的中位數 方法一:快排思想 思想:利用快排思想。 具體解釋,其實簡單,我們利用的就是一個東西,快排每次選取一個數,然後把比這個數字小的扔到前面,把比這個數字大的數放到前面,那麼對取的這個中間數,它的位置一定是

原创 面試排序整理

爲了防止面試再次翻車,總結一下排序,並給出代碼 快排 描述: 1.首先設定一個分界值,通過這個分界值將數組的值分到兩邊 2.將大於或等於分界值的數,放到數組分界值的右邊。將小於或等於分界值的數,放到數組的左邊。 3.對於分界值左邊

原创 紅黑樹,B-tree,B+tree結合mysql索引的學習分析

sql語句在mysql裏面如何運行的?怎麼去查找? 目錄查找:類似索引 健查找:hash查找 遍歷:暴力查找 二分:B+樹的基礎算法 能做索引的結構:數組,紅黑樹,鏈表,哈希,B樹(B-,B+) hash爲什麼不能做mysql索引

原创 ali一面涼經

講講項目。。。balalala 1瞭解IO嗎? A:不瞭解 2 三次握手? A:balalalaa,你確定?我確定 3 排序算法平時用的什麼?—快排,最優複雜度是多少?最壞呢? A:O(N^2) 退化到O(logn) 4 其他排序

原创 tarjan算法中與無向圖聯通性

算法理解 tarjan算法重要的是搞懂三個東西,dfn[] subtree(),low[] 1.DFN[] dfn[]其實就是DFS序,任意選一個點進行深度優先搜索的時候的遍歷順序,由DFS遍歷順序,我們可以得到一個搜索樹,根就是

原创 1013 Battle Over Cities (25分)

題意 很簡單,對於一個圖來說,每次去掉一個點和這個點所相關點邊,爲了使得剩下點之間互相都是聯通的,問需要加多少條邊? 思路 很簡單,類似記憶化搜索,我們遍歷每個點,然後對於當前點去掉的情況,我們算整個圖的聯通塊數目,算法是DFS,

原创 1010 Radix (25分) 思維+二分

題意 這個題意開始理解錯了,一定要好好看題啊!!! 這個題還是很簡單的,給定四個樹 N1,N2,tag,radix tag=1代表N1是radix進制的數,tag=2代表N2是radix進制的數 問另外一個數是否可以是某一個進制的