原创 P3868 [TJOI2009]猜數字 中國剩餘定理

題意: 題目描述 現有兩組數字,每組k個,第一組中的數字分別爲:a1,a2,...,ak表示,第二組中的數字分別用b1,b2,...,bk表示。其中第二組中的數字是兩兩互素的。求最小的非負整數n,滿足對於任意的i,n - ai能被bi整除

原创 The Preliminary Contest for ICPC Asia Nanjing 2019 B. super_log 掃描線+樹狀數組

題解:跟經典題目一樣,還是需要離散化,將矩形分成上下兩個線段,這裏同時也要把對應的點也加進去。 在掃描線從下往上掃描的同時,用樹狀數組更新對應點的值,遇到線段就計算l,r之間的和。同時上邊界減去下邊界就是對應矩形的總和,點的座標需要找規律

原创 Atlantis HDU - 1542 掃描線 矩陣面積並

題意:求矩陣面積並(注意座標是浮點) 題解:因爲座標是浮點,所以需要離散化。然後重點在於離散化之後的工作,即把每條矩形看成兩條線段,從下往上掃描。每次掃到矩形的下邊就把區間+1,上邊爲區間-1,然後每次的面積就是非零區間的長度*兩條掃描線

原创 P4139 上帝與集合的正確用法 歐拉降冪

題意:求 題解:,當p=1時肯定返回0,遞歸求解 #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long lon

原创 The Preliminary Contest for ICPC Asia Nanjing 2019 B. super_log 歐拉降冪

題意:求(a^a)^a.....(b個a)mod m的結果 題解:跟bzoj 3884 歐拉降冪那題是一樣的,但是這題大家都寫的超級別扭.....,這題因爲要判斷冪次是不是大於Phi(大於的話就需要+phi)所以不能往下傳值,因爲計算冪次

原创 The Preliminary Contest for ICPC Asia Nanjing 2019 F 尺取法

題解:補題參考這裏,巧妙利用了數組只含1-n這個特性,逆向思維,用set維護區間,每次lowerbound找到當前數字的上一個,最後直接排序++就可以了 #include <bits/stdc++.h> using namespace

原创 2019牛客暑期多校訓練營(第八場)A All-one Matrices 動態規劃

題意:問你全是1的子矩陣有多少個,要求不重複也不被包含 題解:跟上次的次大子矩陣差不多,都是利用單調棧或動態規劃求左右邊界解決問題,但這次問題有點變動,因爲要去重。 首先對於每個點都有一個左右邊界,那麼同一行的左右邊界相同的一定是相同的矩

原创 2019牛客暑期多校訓練營(第七場)C Governing sand 計數排序

題意:n種樹,每種樹有p數量,c砍樹話費,h高度,如果最高的樹的數量大於總樹數量的一半則合法 題解:題目中有一個沒提到的點,會有相同高度的樹,這種情況下得把這些樹的高度加起來,作爲同一種樹(但實際上這些樹的數量和花費是不一樣的,慎重!!!

原创 2019牛客暑期多校訓練營(第七場)A String

題意:如果一個字符串不是所有循環節裏面的最小字典序,就將它分塊。問你最少分塊之後的字符串。 題解:按照題意模擬就行,這裏有幾個地方得考慮。暴力隊友都認爲過不了。。。。但是我認爲是可以的,第一個是因爲暴力也不能純的暴力,有很多細節可以優化。

原创 2019 Multi-University Training Contest 6 1008 TDL

題意:定義f(n,m)爲比n大的第m大的與n互質的數,然後給你m和k,問你滿足的最小n爲多少 題解:其實以上那個公式翻譯一下就是,所求互質的數與n的間隔 異或n=k,所以把間隔異或到右面,即 n = k xor (f(n,m)-n), 這

原创 2019 Multi-University Training Contest 5 1002 three arrays 01字典樹+貪心

題意:給你長度都爲n的兩個數組a和b,定義ci=ai xor bi,讓你任意排列兩個數組的順序,讓ci的字典序最小 題解:其實就是貪心的思想,建立兩個01字典樹,如果兩個字典樹有相同的邊就走相同的邊,沒有就走不同的邊,但是沒法保證誰先到後

原创 Xor Sum HDU - 4825 01字典樹模板

題意:n個數m次查詢,問你每次查詢n個數裏面的哪個數與x異或值最大 題解:其實就是每次看每一位儘量跟x不一樣的串,貪心思想。 馬上要用01字典樹了,先點一下技能點 #include <bits/stdc++.h> using names

原创 2019 Multi-University Training Contest 5 1004 equation數學

題意:,給你c和n個ai,bi,讓你求出x的所有解 題解:因爲每個式子如果小於0即再取絕對值就相當於取個負號,所以每個區間內的式子正負都是決定好的,直接求每個區間內的x即可 思路倒是好理解,代碼比較難寫,我的代碼借鑑了這裏 ,具體講一下代

原创 2019牛客暑期多校訓練營(第六場)D Move 假二分

題意:按照有n個物體按照題意的要求(也就是從大到小盡量放盡量少的盒子),然後最多放到k個容量相等的盒子裏 問你盒子的容量最小是多少 題解:首先肯定都想到了二分,但是二分基本上沒有過的,這時候就應該考慮到函數不單調,這個題的下是sum/k

原创 2019牛客暑期多校訓練營(第六場)J Upgrading Technology st表+前綴和

題意:有i個技能,每次升級都有花費cij,然後所有技能都達到j級送dj塊錢,問你最多能賺多少 題解:枚舉第i個技能爲j時是最低的技能,然後剩餘技能在j-m選最小花費,我用的st表維護 卡了半天,結果是發現忘了考慮不升級的情況,所以我把所有