原创 牛客練習賽66 E、騷區間

思路: 明顯枚舉每個端點作爲騷區間的左端點,假設我們枚舉ai作爲左端點,然後在他右邊找到第一個小於ai的數的位置x,然後再在x的右邊找第一個小於ai的數的位置y,明顯以ai爲左端點的騷區間只能在[x,y)這個區間中選擇右端點,同理

原创 51nod 1675 (莫比烏斯反演)

我們先不考慮 abi=baja_{b_i} = b_{a_j}abi​​=baj​​ 這種情況,那麼就很裸的莫比烏斯反演了。 設 f(x)=∑i=1n∑j=1n[gcd⁡(i,j)==x]f(x) = \sum_{i=1}^{n}

原创 查看nvidia顯卡的GPU信息

1.進入cmd。 2.cd到C:\Program Files\NVIDIA Corporation\NVSMI 3.運行nvidia-sim.exe可執行程序 即可查看GPU信息。

原创 第十五屆中北大學算法與程序設計競賽 F:集合操作(set+思維)

如果,我們有個答案數組存了所有的數,當1操作其實是在這個數組中刪去x,而2操作是加上x,而3操作的話就是二分找到第一個大於等於x的數。 但x<1000000000,直接存所有數是不可能的。而想一下,每個x,如果它不在題目的S集合中

原创 AtCoder Beginner Contest 162 E Sum of gcd of Tuples (Hard) 莫比烏斯反演做法

另一種容斥做法 反演做法(複習一下反演) n個求和 ∑i=1k∑j=1k...∑z=1kgcd(i,j...z)\sum_{i=1}^{k}\sum_{j=1}^{k}...\sum_{z=1}^{k} gcd(i,j...z)∑

原创 統計d(1~9)在數字0~n裏面出現的個數(數位dp)

規律: 首先枚舉個位,十位,百位…,然後對於每一位,作爲數字d的時候,包含的數字有多少個,分爲這個數的左右2端。 比如12345,要求d=4有多少個,對於十位,這一位取4,分成12300和45來看,對於12300,十位取4,其左邊

原创 F - Kate and imperfection

題意 在1~n的n個數中,對於k∈[2,n],在n個數中取k個數,對這k個數兩兩進行gcd,輸出這個gcd最大的最小值 思路 首先覺得這題放到F題,感覺高估了難度 最小肯定是1,那麼只有全部互質才能滿足,所以找出所有的質數(因爲只

原创 Educational Codeforces Round 88 (Rated for Div. 2) E - Modular Stability

東扯西扯,發現了個性質,就是恰好選的元素裏面都是最小數的倍數時,這個肯定成立。 原因:因爲我們變換取模,最後對最小值取模之後,這個值就固定了,那麼隨意換順序取模,能和mod 最小值一樣的,這個序列就成立,所以其它數必然是最小值的倍

原创 “科大訊飛杯”第18屆上海大學程序設計聯賽春季賽暨高校網絡友誼賽 G:血壓遊戲(虛樹+單調棧建樹)

因爲是同步進行的,所以第i層的不會影響到i+1層,所以我們可以把他們分層處理,對於當前層數,一直往上走,但是分層後他們可能會在某個點匯聚,就是它們的lca,所以我們得把他們所有的lca給求出來,然後建另外一棵樹(虛樹),對這個樹d

原创 vc++6.0如何創建多文件項目?

1.首先file–>new(ctrl+N)進入這個界面 2. 一直ok就好了 3.點這裏看文件結構視圖 4.在file–>new(ctrl+N) 對應 的這裏就有了 一般.h文件的結構 #ifndef F1_H #defi

原创 Educational Codeforces Round 88 (Rated for Div. 2) D.Yet Another Yet Another Task

way1(枚舉+最大子段和) a[i]a[i]a[i]的範圍很小,所以可以從這方面入手,我們可以枚舉最大值[0,30][0,30][0,30],然後做一個貪心的最大字段和。 可能有一個疑惑,就是我們怎麼確定枚舉的最大值一定在這個區

原创 Codeforces Round #645 (Div. 2)D.The Best Vacation(貪心)

思路: 考慮某個區間,對於這個區間左右2端點,如果左端點的值大於右端點值,那麼我們把整個窗口往左移肯定會使答案增加,反之如果左端點的值小於右端點值,那麼我們把整個窗口往右移肯定會使答案增加,知道左右端點相等,這樣可以得到,我們結束

原创 西安郵電大學第五屆ACM-ICPC校賽 H中位因數(線性篩+dfs或者埃氏篩)

way1 這題數據10610^6106,暴力枚舉iii,然後求iii的中位因子,複雜度肯定不行,我們考慮到 這樣一個性質,10610^6106以內的數的做多因子個數240左右(打表可知),但大多數都是幾十個或者更少,所以對於每個數

原创 Codeforces Round #643 (Div. 2) C. Count Triangles-- 差分、前綴和

題意 給你 A,B,C,DA , B , C , DA,B,C,D 問有多少種方法構造出三角形(X,Y,Z)(X , Y , Z)(X,Y,Z)使得 1≤A≤X≤B≤Y≤C≤Z≤D<=1051≤A ≤ X ≤ B ≤ Y ≤ C

原创 Codeforces Round #641 (Div. 2) E. Orac and Game of Life

對於某個點,只要它開始變化了,那麼之後就一定呈週期性變化,所以我們只需要算出沒個位置在第幾次迭代開始第一次變化就好了,先把一個連通塊元素個數大於2的全部放進去,然後在進行bfs搜出每個位置的dis,表示 到達這裏需要最少需要多少次