CodeForces 215E 数位DP
2013-04-15 14:44
363 查看
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define LL long long LL dp[66]; int dig(LL n) { int s = 0; while(n) {s++; n >>=1;} return s; } LL f(int len, int t, LL n, bool lim) { if(!lim) return 1LL<<(t-1); LL tp = 1; int i; for(i = 1; i <len/t; i++) tp = (tp<<t)+1; LL ret = n/tp - (1LL<<(t-1))+1; if(ret < 0) ret = 0; return ret; } LL gao(LL n) { int len = dig(n); int i, j, k; LL ans = 0; for(i = 2; i <= len; i++) { memset(dp, 0, sizeof(dp)); for(j = 1; j < i; j++) if(i%j==0){ dp[j] = f(i, j, n, i==len); for(k = 1; k < j; k++) if(j%k==0) dp[j] -= dp[k]; ans += dp[j]; } } return ans; } int main() { LL l, r; cin >> l >> r; cout << gao(r) - gao(l-1) << endl; return 0; }
相关文章推荐
- codeforces 215E 数位DP
- CodeForces 215E Periodical Numbers 数位DP
- codeforces 628D. Magic Numbers 数位dp
- Codeforces 96E(数位dp)
- CodeForces 55D 数位DP
- CodeForces 55D Beautiful numbers(数位dp)
- codeforces 55D Beautiful numbers(数位dp)
- [CodeForces 55D] Beautiful numbers && 数位DP
- CodeForces 55D Beautiful numbers (数位DP)
- Codeforces 507D (Round #287(div.2))D. The Maths Lecture【数位DP】
- 51nod 1232 完美数 / codeforces 55D 数位DP
- CodeForces 401D 数位DP
- codeforces 55D 数位dp
- codeforces 908G - New Year and Original Order 数位dp
- CodeForces 55D Beautiful numbers(数位dp)
- codeforces 55D Beautiful numbers 数位dp
- Codeforces 834E The Bakery【枚举+数位dp】
- [数位DP AC自动机] Codeforces 434C Round #248 (Div. 1) C. Tachibana Kanade's Tofu
- CodeForces 55D Beautiful numbers 数位dp 离散化
- CodeForces 55D Beautiful numbers(数位dp)