原创 【20190915】多校聯考

T1 【題目描述】 Akari 的學校的校門前生長着一排 n 棵樹,從西向東依次編號爲 1 ∼ n。相鄰兩棵樹間的距離 都是 1。 Akari 上課的教學樓恰好在樹 1 旁,所以每個課間,Akari 都很想走出教室,上樹活動。Ak

原创 BZOJ2456 mode

【題意】 給一個含n個數的數列(n≤5∗105n \leq 5 * 10^5n≤5∗105),求這個數列的衆數(出現次數大於n/2,保證有解)。 【分析】 光看題面很簡單的吧? 很簡單的吧? 簡單的吧? 單的吧? 的吧? 吧? 巴

原创 【20190907】七校聯考

T1 題意: 給定nnn,求有序四元組(a,b,c,d)(a,b,c,d)(a,b,c,d)使a+b+c+d=na+b+c+d=na+b+c+d=n且a,b,c,da,b,c,da,b,c,d均爲質數。 多組數據,組數T≤10,n

原创 Codeforces 739B Alyona and a tree(樹上差分)

【題意】 nnn個節點的樹,每個節點、每條邊有權值,定義dist(u,v)dist(u,v)dist(u,v)爲路徑&lt;u,v&gt;&lt;u,v&gt;<u,v>的邊權和。如果uuu在子樹vvv內且dist(u,v)≤va

原创 擴展BSGS算法

先來康康這個問題。 給定三個正整數A,B,PA,B,PA,B,P,求關於xxx的方程的最小正整數解: Ax≡B(mod P)A^x\equiv B(mod\ P)Ax≡B(mod P) 我們令x=a⌈P⌉−b,a∈N,b∈Nx=a\l

原创 樹狀數組的區間修改與區間查詢

【題意】 【分析】 學了帶懶標記的線段樹後,這就並不難了。 #include<cstdio> #include<cstring> #include<algorithm> #define ll long long using names

原创 【BZOJ 1076】獎勵關

【題意】 你正在玩你最喜歡的電子遊戲,並且剛剛進入一個獎勵關。在這個獎勵關裏,系統將依次隨機拋出k次寶物,每次你都可以選擇吃或者不吃(必須在拋出下一個寶物之前做出選擇,且現在決定不吃的寶物以後也不能再吃)。 寶物一共有n種,系統每次拋

原创 【BZOJ3812】主旋律

【題意】 【分析】 這題真是毒瘤 這道題要我們求這張圖的強連通子圖的數目。正面做有些困難,所以倒着做。 首先我們知道一個圖如果不是強連通,則對它進行縮點後,一定會形成一個包含多個節點的DAG。於是,我們想到枚舉強連通分量,縮成一個點後

原创 【BZOJ4145】The Prices

【題意】 你要購買mmm種物品各一件,一共有nnn家商店,你到第i家商店的路費爲d[i]d[i]d[i],在第iii家商店購買第jjj種物品的費用爲c[i][j]c[i][j]c[i][j],求最小總費用。 【題解】 很容易想到狀態轉

原创 【bzoj4029】定價

【題意】 在市場上有很多商品的定價類似於 999 元、4999 元、8999 元這樣。它們和 1000 元、5000 元和 9000 元並沒有什麼本質區別,但是在心理學上會讓人感覺便宜很多,因此也是商家常用的價格策略。不過在你看來,這

原创 對狀態轉移方程的理解(【HNOI2013】遊走&【hdu4035】Maze)

先來看一道例題: 【HNOI2013】遊走 一個無向連通圖,頂點從1編號到N,邊從1編號到M。 小Z在該圖上進行隨機遊走,初始時小Z在1號頂點,每一步小Z以相等的概率隨機選 擇當前頂點的某條邊,沿着這條邊走到下一個頂點,獲得等於這條邊

原创 【BZOJ 3329】Xorequ

【題意】 【分析】 按位異或有一個性質:若a⨁b=ca \bigoplus b=ca⨁b=c, 則a⨁c=ba \bigoplus c = ba⨁c=b。 所以說: x⨁3x=2x⟺x⨁2x=3x⟺x⨁2x=x+2xx\bigopl

原创 【hdu4352】XHXJ's LIS

【題意】 將一個數x當成一個數串,對其做最長上升子序列。記結果爲axa_xax​。對一個區間[l,r][l,r][l,r],求有多少個數xxx,使ax=ka_x=kax​=k。 【分析】 先提一提LIS的O(nlogn)O(nlogn

原创 【CF 70D】Professor's task

【題意】 維護一個凸包,支持: 1、向凸包內新加入一個點; 2、詢問某個點是否在當前凸包中。 【題解】 平時求凸包的時候,要用上極角排序。 那麼,就排序吧。 然而,極點應該在哪裏呢? 考慮到開頭保證能給出一個沒有退化的三角形,那麼,就

原创 計算幾何大模板(持續更新)

計算幾何說起來都是一套一套的,寫起來卻讓人二楞二楞的qwq 接下來直接粘代碼,稍微高級的算法講解詳見超鏈接 【基本的定義&算法】 #include<cmath> const double eps = 1e-7;//誤差允許範圍