已知整數 a, a^3 除 192 的餘數是 1 。求區間 [l,r] 之間滿足條件的 a 的累加和是多少?
第一行是乙個整數 t(1≤t≤10000),表示樣例的個數。
每個樣例包含兩個整數 l,r, 1≤l≤r≤10^9。
輸出描述
每行輸出乙個樣例的結果。
1
1 10
1
本題來自某大學acm訓練的題,由於我太菜只會暴力,然後我去
請教了大佬,結果是數論+二分+字首和。。首先是數學證明(a^3-1)%192==0,即 (a-1)(a^2+ a+1)%192 == 0, 即對於所有的(a-1)% 192 == 0,
(a^3-1)%192==0,恆成立,所以我們列舉192的倍數+1,字首和處理這些數的和,然後二分左右端點,由sum[r]-sum[l-1]即可
#include using namespace std;
#define ios ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
typedef long long ll;
int t;
ll sum[5300000];
ll du(ll x)
ll f1(ll a, ll l, ll r)
ll f2(ll a, ll l, ll r)
int main()
cin >> t;
while (t--)
return 0;
}
11 1 考試 數論 數論 二分
額,可以直接暴力,或二分,或者像我這麼sb 地分解質因數 因為p是質數,所以a b 1 二分即可 大佬們都用並查集,可是我不會啊 我只會線段樹的解法 複雜度 o nlog 2n 好像比並查集快一點點 哈哈 注意兩種不合法的情況 上面的兩個符合分別是交集,並集的意思 然後二分,直接模擬就好了 incl...
二分 假 數論 分數
nput 第一行包含兩個正整數n和p,表示選手的個數以及精度要求。接下來的n行,每行包含乙個0到100 閉區間 內的整數。output 輸出乙個實數,取p位有效數字,下取整。sample input 5 4 100 20 15 10 8 sample output 195.2 data constr...
數論 二分快速取餘
求12345 12345的所有約數 即因子 之和,並對其取模9901再輸出。key格式 ctf 這裡存在三個有趣的數學定理 1 整數唯一分解定理 2 約數和公式 3 同餘模公式 includeusing namespace std const int size 10000 const int mod...