原创 AtCoder Beginner Contest 158(E、F

D - String Formation 注意點: 在字符串s的頭部加上一個字符,用s=d+s會tle,要用s.insert(s.begin(),d) E - Divisible Substring 題意: 給一個長度爲n的數

原创 素數區間篩

LightOJ 1197 Help Hanzo 題意: 給定[L,R],問[L,R]內有多少個素數 數據範圍L,R<=231,R-L<=1e5 code: #include<bits/stdc++.h> using namespa

原创 因子數與因子和

唯一分解: n=p1k2p1k2…pmkm 因子數: n的因子數即n的因子個數 考慮n的每個質因子pk,因爲在n的因子中p出現的次數有0到k這k+1種可能,則: 因子數=(k1+1)(k2+1)(k3+1)…(km+1) 因子和

原创 每天一道LeetCode

題目難度不定,點到什麼題就寫什麼題 ps:LeetCode真友好,題意直截了當,爽到。 1187. 使數組嚴格遞增(2020.3.25) 題意: 給你兩個整數數組 arr1 和 arr2,返回使 arr1 嚴格遞增所需要的最小

原创 離散對數和BSGS算法

離散對數: 考慮方程:ax≡b(mod p),其中a與p互質,求最小正整數x使得方程成立。 這樣的x稱爲離散對數,可以寫爲logab(mod p) BSGS算法: ax≡b(mod p) 設x=i*m-j,其中m=⌈√p⌉,則原

原创 計算幾何題

CodeForces1096 C. Polygon for the Angle 題意: 給定一個角度angle 要求輸出一個最小的n,滿足正n邊形中,能夠選出三個頂點,這三個頂點連線所構成的角等於angle,如果不存在則輸出-1

原创 2019 ICPC 西安邀請賽

西安邀請賽重現 A.Tasks 簽到題,排序一下就行了 C.Angel 's Journey 題意: 給定rx、ry、r、x、y, 圓心(rx,ry),半徑爲r,終點(x,y),起點在圓的底部,如圖: 圓底部的紅色點是起點,

原创 CodeForces1325 E. Ehab's REAL Number Theory Problem(轉化爲最小環問題)

題意: 給一個長度爲n的數組a,數組中的元素滿足條件:每個數最多隻有7個因子 現在要你選出一段子序列,滿足子序列乘積是完全平方數,問子序列的最小長度是多少,輸出最小長度,無解則輸出-1 數據範圍:n<=1e5,a(i)<=1e6

原创 帕斯卡恆等式

帕斯卡恆等式: C(n,k)=C(n-1,k-1)+C(n-1,k) 證明: n個小球取k個,考慮第k個球,因爲第k個球只有被取到和不被取到兩種情況,因此: 1.如果第k個球被取到,方案數爲C(n-1,k-1) 2.如果第k個球

原创 樹狀數組求LIS

樹狀數組求LIS 優點: 同樣是O(nlogn)的複雜度 二分做法只能計算出當前序列的LIS 而樹狀數組可以計算出以每一個a(i)爲結尾的LIS 且二分的做法只能計算出答案,無法得到具體方案。 做法: 樹狀數組維護前綴max 設以

原创 2019 ICPC 上海

2019 ICPC 上海重現 B.Prefix Code 題意: 給n個長度不超過10的數字串,問是否存在一個串是另一個串的前綴,如果不存在則輸出Yes,如果存在就輸出No 數據範圍:n<=1e4 思路: 字典樹。 code:

原创 博弈題

牛客 取石子游戲 題意: 數據範圍:n<=1e18 思路: 首先應該能看出當前石子爲k個的時候,其實就是分成k/2和k-k/2兩分 然後就是: 1的時候必敗, 2的時候分成1和1,拿走1剩下1,必勝, 3的時候分成1和2,拿走2

原创 錯排問題

錯排問題: 對於一個長度爲n的排列,若排列中的所有元素都不在原來的位置上,那麼這樣的排列就是原排列的一個錯排。 設d(n)爲長度爲n的排列的錯排數,d(n)的前幾項爲: 0,1,2,9,44,265,1854, 遞推公式: 顯然d

原创 2019 ICPC EC-Final

2019 ICPC EC-Final重現 A.City 題意: 給n個m,表示有一個n*m的網格 在網格上任選兩點連線,如果這條線的中點也在格點上則滿足題意。 問有多少條這樣的線(即端點在格點上,中點也在格點上,線的長度不爲0)

原创 二分圖染色

二分圖染色 二分圖: 如果給定圖的點可以分成兩組,且每條邊的一段在一組,另一端在另一組,則是二分圖。 二分圖的一個等價定義: 不存在奇環的圖 染色法判斷二分圖: 任意選擇一個頂點染成1,將與其相連的點染成相反顏色-1,遞歸處理相連