原创 牛客小白月賽23 B.階乘

B.階乘 思路:其實就是把p質因數分解,然後對於每一個質因數x,去二分出來最小的一個n!含有x的個數大於等於p中的x的個數 對於每個二分的結果取最大值 #include<bits/stdc++.h> using namespac

原创 poj 2479/2593 兩個不相交區間的最大子段和 dp

2479 2593 這兩題所要求的是一樣 只是輸入不太一樣而已 思路: 其實這題算是求一個序列的最大子段和的一個拓展延伸 對於最大子段和 我們知道dp[i]=max(dp[i-1]+a[i],a[i]) 表示以i結尾的最大子段和

原创 Codeforces Round #641 (Div. 2) C. Orac and LCM

題意:給了n個數,讓求gcd{ lcm{a[i],a[j]} } (i<j) 就是n個數,兩兩配對求出他們的lcm,對於所有lcm在求出gcd   思路:考慮一下gcd和lcm在算術基本定理下的含義。 那麼容易知道 那麼對於兩兩組

原创 Codeforces Round #629 (Div. 3) D. Carousel

D. Carousel 題意: n個數字圍成一個環,現在要求對n個數進行染色。 染色要求是,對於相鄰的兩個數,如果不同的話,要求顏色也要不一樣。那麼如果相鄰兩個數相同,顏色可以不同,也可以相同。 思路: 一、如果所有數字都一樣的話

原创 Codeforces Round #639 (Div. 2) C. Hilbert's Hotel

C. Hilbert’s Hotel 題意: 有n個數,現在要求把每個數移動到(a[i]+i)%n的位置,看是不是每個位置都只有一個數。 思路: 直接暴力每個數改變後的位置塞進map裏,看是不是存在某個位置的個數≥2即可。 #in

原创 D. Phoenix and Science

D. Phoenix and Science 題意: 剛開始有一個細菌質量是1,然後從第一天開始,白天你可以選擇讓任意個細菌分裂,質量爲m的細菌可以分裂爲兩個質量爲m / 2的細菌,到了每天晚上每個細菌的質量都會加1,問最少要多少

原创 C. Yet Another Counting Problem

Yet Another Counting Problem 題意很簡單,求l到r之間有多少個數x滿足 (x%a)%x!=(x%b)%a a和b的範圍很小,很容易想到從a、b下手。 考慮一下如果x=lcm(a,b) 那麼一定滿足 (x

原创 Codeforces Round #635 (Div. 2)C. Linova and Kingdom

n個點的樹型結構,選擇k個工業城市,其他都是旅遊城市,問所有工業城市到1節點的幸福值總和最大多少。幸福值爲經過的旅遊城市的個數。 優先的想法肯定是深度越大越好。 但是考慮一下,對於一棵樹的內部節點而言,一定要經過根u,如果根被選爲