Codeforces-809C Find a car(分治)
来源:互联网 发布:德国表现主义电影知乎 编辑:程序博客网 时间:2024/05/16 04:01
传送门:CF-809C
#include<bits/stdc++.h>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define x first#define y second#define add(x,y) (x+=y)%=mod;using namespace std;typedef long long LL;const int MX = 2e5 + 5;const int inf = 0x3f3f3f3f;const LL mod = 1e9 + 7;LL k;LL solve(int x, int y, LL f) { if (x == 0 || y == 0 || f > k) return 0; if (x < y) swap(x, y); if (x == (x & -x)) { LL l = f, r = min(k, f + x - 1); return (l + r) * (r - l + 1) / 2 % mod * y % mod; } int d = 1; LL ret = 0; while ((d << 1) < x) d <<= 1; if (y <= d) { add(ret, solve(d, y, f)); add(ret, solve(x - d, y, f + d)); } else { add(ret, solve(d, d, f)); add(ret, solve(x - d, d, f + d)); add(ret, solve(d, y - d, f + d)); add(ret, solve(x - d, y - d, f)); } return ret;}int main() { //freopen("in.txt", "r", stdin); int n; scanf("%d", &n); while (n--) { int x1, x2, y1, y2; scanf("%d%d%d%d%I64d", &x1, &y1, &x2, &y2, &k); LL ans = solve(x2, y2, 1) + solve(x1 - 1, y1 - 1, 1) - solve(x1 - 1, y2, 1) - solve(x2, y1 - 1, 1); printf("%I64d\n", (ans + 2 * mod) % mod); } return 0;}
阅读全文
0 0
- Codeforces-809C Find a car(分治)
- [数位DP] Codeforces 809C. Find a car
- [数位DP] Codeforces #809C. Find a car
- [数位DP] Codeforces 809C Round #415 (Div. 1) C. Find a car
- [数位DP] Codeforces 809C Round #415 (Div. 1) C. Find a car
- codeforces 448C Painting Fence(分治)
- codeforces 448C 分治
- How to Find a Reliable Fuel-Efficient Car
- CodeForces 160C Find Pair(思维)
- codeforces C. Find Maximum
- CodeForces Gym101161D Find C
- codeforces 589C Polycarp's Masterpiece(分治 折半搜索)
- CodeForces 321 C.Ciel the Commander(树分治)
- codeforces 40A. Find Color
- codeforces 804A Find Amir
- [分治] Codeforces#415 (Div. 1) 809A. Do you want a date?
- codeforces 414C 分治思想运用
- CodeForces 448C - Painting Fence(分治)
- action和action之间传数据
- SQOOP from Oracle Connection reset error
- Java线程池(ThreadPoolFactory)构造参数总结
- 基于 Excel 参数化你的 Selenium2 测试代码
- synchronized同步代码块
- Codeforces-809C Find a car(分治)
- mac 下终端访问文件出现“Permission Denied”解决方案
- [LintCode]96.链表划分
- POJ-1742:Coins(多重背包二进制求法)
- Eclipse上Maven环境配置使用
- AESTool
- Spring自定义Listener(监听器)的使用
- 页面静态资源做cdn之后的字体图标不显示的问题
- Guitar Pro基础教程:如何打开吉他面板功能