CodeForces 768B - Code For 1 分治
2017-02-22 19:07
363 查看
#include <bits/stdc++.h> using namespace std; unordered_map<long long, long long> Len; long long GetLen(long long x) { if (x <= 1) return 1; if (Len.count(x) == 0) Len[x] = 2 * GetLen(x / 2) + 1; return Len[x]; } long long Solve(long long n, long long l, long long r) { l = max(l, 0LL); if (r < l) return 0; if (l >= GetLen(n)) return 0; if (n == 0) return 0; if (n == 1) return 1; long long a = GetLen(n / 2); return Solve(n / 2, l, r) + Solve(n % 2, l - a, r - a) + Solve(n / 2, l - a - 1, r - a - 1); } int main() { long long n, l, r; cin >> n >> l >> r; l--, r--; cout << Solve(n, l, r) << endl; }
相关文章推荐
- 【codeforces 768B】Code For 1
- Codeforces 868F 分治优化Dp
- CodeForces 293E Close Vertices(点分治+Two Point法+树状数组)
- Superset CodeForces - 97B(分治基础)
- CodeForces 161D [Distance in Tree] 点分治
- 【CodeForces】914 E. Palindromes in a Tree 点分治
- Codeforces 914E Palindromes in a Tree 点分治
- CodeForces 448C - Painting Fence(分治)
- codeforces 399 B. Code For 1 归并
- CodeForces - 97B_Superset_分治
- Codeforces 868D (Codeforces Round #438 D) Huge Strings 分治+哈希
- CodeForces 873D Merge Sort 构造 分治
- Codeforces 623E Transforming Sequence (分治+FFT)
- Codeforces 833D Red-black Cobweb【树分治】
- CodeForces 526F Pudding Monsters (分治)
- codeforces 414C 分治思想运用
- codeforces 399 B. Code For 1 递推 规律
- B. Code For 1 分治
- Codeforces 150E Freezing with Style (树分治)
- CodeForces - 762E:Radio stations (CDQ分治||排序二分)