【JZOJ5149】超级绵羊异或 题解
来源:互联网 发布:蓝月传奇附灵数据 编辑:程序博客网 时间:2024/05/16 23:57
题目大意
题解
代码
#include<cstdio>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;typedef long long LL;const LL mo=2;int n,a,b;LL f(LL a,LL b,LL c,LL n){ if (!a) return (n+1)*(b/c)%mo; if (a>=c || b>=c) { LL sqr=(n&1) ?(n+1)/2*n :n/2*(n+1) ; return (f(a%c,b%c,c,n)+(a/c)*sqr+(n+1)*(b/c))%mo; } else { LL m=(a*n+b)/c; return (m*n-f(c,c-b-1,a,m-1)+mo)%mo; }}int T;int main(){ scanf("%d",&T); while (T--) { scanf("%d %d %d",&n,&a,&b); LL ans=0; fd(x,62,0) { LL c=1ll<<x; if (f(b,a,c,n-1)) ans+=c; } printf("%lld\n",ans); }}
阅读全文
0 0
- 【JZOJ5149】超级绵羊异或 题解
- 超级绵羊异或
- JZOJ5243【GDOI2018模拟8.8】超级绵羊异或 类欧几里得算法
- bzoj 5243. 【GDOI2018模拟8.8】超级绵羊异或 类欧几里德算法
- Hnoi2010弹飞绵羊题解LCT
- [题解]bzoj2002(HNOI2010)Bounce 弹飞绵羊
- 【BZOJ】【P2002】【HNOI2010】【弹飞绵羊】【题解】【LCT】
- 【bzoj 2002】 Bounce 弹飞绵羊 题解&代码
- BZOJ2002 HNOI2010 Bounce 弹飞绵羊 题解&代码
- 【LCT】BZOJ2002(Hnoi2010)[Bounce 弹飞绵羊]题解
- 【分块】BZOJ2002(Hnoi2010)[Bounce 弹飞绵羊]题解
- 【模拟】17.6.1 异或和 题解
- luoguP1469 找筷子 题解 (异或)
- 【题解】弋或树
- 【BZOJ】【P1081】【SCOI2005】【超级格雷码】【题解】【乱搞】
- {题解}[jzoj3084]【NOIP2012模拟11.3】超级变变变
- 高斯消元法解01异或方程组(附poj 1222题解)
- LeetCode 268. Missing Number 题解 与 异或运算
- VS的调试:winform中查看控制台输出、查看字符存储位置
- Vim编辑器的安装与使用
- sqlite3工具
- 信息安全代码
- codeforces 817D Imbalanced Array
- 【JZOJ5149】超级绵羊异或 题解
- 诉苦!first
- 代理原理-http,socks5,ssl, shadowsocks
- c++ builder 中的 XMLDocument 类详解(9) -关于 HasChildNodes 与 IsTextElement
- idea创建gradle项目失败 运行环境上下文不一致导致的错误
- NGUI Label打字机效果
- Hadoop mapreduce shuffle
- PAT 1029 Median(中位数+归并排序)
- POJ 2262 Goldbach's Conjecture 笔记