傳送門
題意:橫縱座標均有個範圍[1,n] [1,k],求在這個範圍裡滿足要求點的數量,要求如下
畫圖推點易得,每一列的點數
利用o根號n除法分塊就可以算出答案,最後還要注意第一列多算了n要減掉
#define _crt_secure_no_warnings
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long long
using
namespace std;
const
int mod =
1e9+7;
inline ll solve
(ll n, ll k)
//除法分塊
/*for (register ll i = 1; i <= k; i = j + 1) */
// cout << "*" << endl;
return ans;
}int
main()
除法分塊總結 Fear Factoring 除法分塊)
借鑑 無法估計他的值時最好用無符號的long long 除法分塊 區塊值 區塊始末 舉個例子 12 次數是有12 n算出來的 像當n 5時 12 5 2,也就是說5出現了兩次 1 12次 2 6次 3 4次 4 3次 5 2次 6 2次 7 1次 8 1次 9 1次 10 1次 11 1次 12 1...
除法分塊小結
例題 求 i 1n n i sum n lfloor frac n i rfloor i 1n in o n o n o n 的做法很顯然,但是一般n會很大,於是有了除法分塊。對於一段連續的 i ii,ni lfloor dfrac n i rfloor in 可能是相同的,比如說當 i ii 的值...
除法分塊 數論
問題 當我們暴力的時候時間複雜度為o n 但是我們可以把時間複雜度降到o sqrt n 這點時間優化在數論中可是不能小視的。除法分塊 所謂分塊,就是把一段數分成不同的區間,而這些區間的每乙個數除以同乙個數的值是相同的,所以我們就把這些區間統一處理,就不用再來乙個乙個遍歷 例 問題中我們假設n 10。...