原创 3173. 【GDOI2103模擬3.17】掃雷遊戲(搜索 + 剪枝)

Problem 給出一個類似掃雷的遊戲,有numnumnum個數字,求至少有多少個雷。 Data constraint n,m≤15,num≤15n,m\le 15,num\le 15n,m≤15,num≤15 Solution

原创 51nod1556 計算(默慈金數)

Problem 有一個1∗n1*n1∗n的矩陣,固定第一個數爲111,其他填正整數, 且相鄰數的差不能超過111,求方案數。 n≤106n\le 10^6n≤106 Solution 容易發現答案是fn=fn−1∗3−gnf_n=

原创 JOISC2020 DAY2T2 (LOJ#3275. 「JOISC 2020 Day2」有趣的 Joitter 交友)(啓發式合併 + 計數)

JOISC2020 DAY2T2 首先注意到可以把有雙向邊的點對縮起來。 那麼當前形成的這個有向圖沒有一對點之間有雙向邊。 然後考慮一條邊(x,y)(x,y)(x,y)的貢獻就是SizeySize_ySizey​(即yyy所在塊的

原创 6432. 【NOIP2019提高組正式賽day1】樹上的數(tree)

Problem 見原題 Data constraint n≤2000n\le 2000n≤2000 Solution 普通的分類討論會讓你陷入崩潰。 不妨試着聰明一點的發現一些性質,並基於此建立一些簡單的必要條件。 題目要求每一條

原创 HDU6607(杜教篩 + Min25篩 + 拉格朗日插值 + 反演)

Problem ∑i=1n∑j=1ngcd(i,j)klcm(i,j)[gcd(i,j)∈prime]%(1e9+7)\sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j)^klcm(i, j)[gcd(i,j)

原创 6364. 【NOIP2019模擬2019.9.21】養馬(horse)

Problem 求⼀個dfs順序,滿⾜各個時刻體⼒不⼩於0的最⼩休息值。 Data constraint n≤105n\le 10^5n≤105 Solution 顯然是要貪心。 考慮一種最優策略:如果當前從某個點xxx遍歷其子樹

原创 C++ STL的一些騷操作

priority_queue 最常用的當然是在dij的時候. #include <queue> struct node { int x, dis; bool operator < (const node a) const {

原创 Miller-Rabin及Pollard-Rho 模板

事實上很早之前就遇到過,只不過沒有真正做過幾道題。 現在把模板總結一下:Miller-Rabin 及 Pollard-Rho的優化以及long long相乘的標準寫法。 Miller-Rabin在普通的費馬小定理的基礎上新加了這麼

原创 6395. 【NOIP2019模擬2019.10.28】消失的序列

題意 求nnn對括號序的合法數目,並要求第xxx個右括號剛好匹配第pospospos個左括號。 思路 首先枚舉第pospospos個左括號的位置,那麼可以算出第xxx個右括號的位置. 分三類討論: (pos+1)∼(x−1)(

原创 CSP-S2019總結

現在纔有時間來總結。 總結 還是跟往常一樣,不多廢話了。 Day1的問題主要出在T2花了太多時間,導致T3沒有時間打部分分。 這也反應了一個我比賽時經常容易犯的錯誤,就是有時候會突然想到一些比較奇妙的性質,然後就會順着自己的思路一

原创 6361. 【NOIP2019模擬2019.9.18】鯧數(pair)

Problem 求[L,R][L,R][L,R]之間的每個數的逆序對個數之和 Data constraint L,R≤10500000L,R\le 10^{500000}L,R≤10500000 Solution 看了五分鐘就會做

原创 fft卡常研究

// 1. 注意加減乘除寫在struct裏 且 加上& // 2. w預處理不一定好,反而麻煩,我們只要連續 // 3. reverse可以代替-w // 4. 注意rev的預處理,這個還是有點用的 #include <bits

原创 【JZOJ】1900【2010集訓隊出題】矩陣(最大權閉合子圖,最小割,優化)

Link https://jzoj.net/senior/#main/show/1900 Preface 菜哭,菜的可憐,菜的真實。 Problem 類似NOI2006最大獲利 Solution 樸素的做法是這樣的: 答案可以寫成

原创 2019.8.1~2019.8.4

T1 https://jzoj.net/senior/#main/show/1669 暴力你可以考慮費用流或者KM。 考慮一種貪心是按照權值從大到小排序,每次加進去時把之前加入過的拉出來排序判斷是否可以加入。具體可以用一個堆來維護

原创 dijkstra求費用流

一般求解費用流運用EK,然後可以單路或多路增廣。 注意這裏的多路增廣要求一個點在一次dfs中不能被經過兩次。因爲可能出現零環或負環的情況。 而單路增廣雖然效率低,但好寫許多且在某些已經限制了總流量且單次流量都爲1時有它的好處。 但