Description

求区间[l,r]中的数任意互相异或之后有多少种可能的结果
l<=r<=1e18,数据组数<=100

Solution

这种题一眼线性基啦~
虽然我并不太熟练,还自己推了一遍插入
这样直接暴力做有50分
然后打了个表发现了一个规律:
首先l一定会在线性基中,
然后我们知道了线性基中的最后一个数,想要快速找出线性基中的下一个数
假设当前的数的二进制表示是 10100,那么接下来的会是
10100
10101
10110
11000
11100
也就是每次找当前最后一个数中,从最低位起第一个当前位为0且线性基为空的位置
然后这一位是1,后面就都是0,并插入到这一位的线性基中
感性理解一下好像没什么毛病
那就直接模拟这个过程就好了,复杂度O(T log^2 L)

Code

#include <cstdio>
#include <cstring>
#include <algorithm>
#define fo(i,a,b) for(ll i=a;i<=b;i++)
#define fd(i,a,b) for(ll i=a;i>=b;i--)
using namespace std;
typedef long long ll;
ll l,r,ans,a[61],mi[61];
int main() {freopen("A.in","r",stdin);freopen("A.out","w",stdout);int ty;mi[0]=1;fo(i,1,60) mi[i]=mi[i-1]*2;for(scanf("%d",&ty);ty;ty--) {scanf("%lld%lld",&l,&r);if (!l&&!r) {printf("1\n");continue;}fo(i,0,60) a[i]=0;ll x=l;ans=2;if (!x) x=1;fd(i,60,0) if (x&mi[i]) {a[i]=x;break;}while (x<r) {int now=61;fo(i,0,60)if (!a[i]&&!(x&mi[i])) {now=i;break;}if (now>60) break;fo(i,0,now-1) if (x&mi[i]) x-=mi[i];x+=mi[now];a[now]=x;if (x<=r) ans=ans*2;}printf("%lld\n",ans);}
}

【GDOI2018模拟7.6】吃干饭相关推荐

  1. JZOJ 5221. 【GDOI2018模拟7.10】A

    Description Input Output Sample Input 4 2 3 2 1 2 4 Sample Output 4 Data Constraint Solution 首先,这是一棵 ...

  2. [2020.10.30NOIP模拟赛]小鱼吃大鱼【RMQ】

    正题 题目大意 nnn个数,求一对(i,j)(i,j)(i,j)要求最大化max{ai,aj}%min{ai,aj}max\{a_i,a_j\}\% min\{a_i,a_j\}max{ai​,aj​ ...

  3. 【GDOI2018模拟7.14】小奇的糖果

    Description 有 N 个彩色糖果在平面上.小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果.求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色. Input 包含多组测试 ...

  4. JZOJ 5207【GDOI2018模拟7.7】暴力大神hxx

    题目描述: 有26重循环,1<=x,y<= 105 10^5 题解: 我们注意到x,y最多只有一个是变量,于是我们可以连出一个森林. 设f[i][j]为底i重循环选j,它和它的子树的方案数 ...

  5. 【GDOI2018模拟7.7】暴力大神hxx 树形dp

    题意:给你n个嵌套for语句,然后从第二个开始每一个循环的起点或者是终点是变量,问你会循环多少次. 这是一道好题. 手玩一下可以很容易发现,上下之间有可以递推的关系,但是直接递推会炸,所以需要dp. ...

  6. 【JZOJ5224】【GDOI2018模拟7.12】C

    Description Data Constraint Solution 首先必须讲讲自然数幂求和. 我们设 Sk(n)=∑i=1nik Sk(n)=\sum_{i=1}^ni^k 我们用第一类斯特林 ...

  7. jzoj5224 [GDOI2018模拟7.12]C 杜教筛+自然数幂和

    Description 求 ∑i=1n∑j=1ngcd(i,j)k且n≤1010,k≤5 ∑ i = 1 n ∑ j = 1 n gcd ( i , j ) k 且 n ≤ 10 10 , k ≤ 5 ...

  8. 「6月雅礼集训 2017 Day5」吃干饭

    [题目大意] 询问[L,R]中选若干个数异或起来得到的答案集合大小.多组数据. 对于50%的数据,$R - L \leq 10^4$ 对于100%的数据,$R - L \leq 10^{18}, T ...

  9. jzoj5382 [GDOI2018模拟9.21]数列 可持久化trie+分块

    Description n,q<=20000 a[i]<=10^9 Solution 今天场外体验noi刺激战场,发现我只会做T1这种送分题(⊙ˍ⊙),还没切.果然人菜还是要多读书 首先做 ...

最新文章

  1. Python 3 尴尬了这么久,终于有救了
  2. 刷题中,效率好低,哈哈哈 -----1.Two Sum
  3. tf keras Dense源码解析
  4. Boost:projection years投影年的测试程序
  5. 世纪互联云和华为共同打造的数据中心是一个很好的一步标志!
  6. 【转】四、关于如何使用软件库的一个技巧-避免重复配置属性表
  7. 一文带你看完ZooKeeper!
  8. Python概率编程库PyMC应用案例二则
  9. CnCiswumWN
  10. day15【前台】项目发布
  11. 烫烫烫和屯屯屯2021
  12. 中级通信工程师考试之六移动通信
  13. python写的flappy bird小游戏(最简单版本)有视频链接
  14. python ttk style_关于python:在ttk中更改“选项卡标题”的颜色。
  15. 基于卫星测深的牙买加沿岸水深测量
  16. python语言表白语句简单_简短的表白语句280句
  17. 老宇哥带你玩转 ESP32:04 串口玩起来是真方便
  18. 最强大易用的开源MODBUS库-YMODBUS,包含MASTER/SLAVE
  19. 全国大学生信息安全大赛线下赛crypto3题解
  20. 基于 DataOps 的运营商大数据平台探索

热门文章

  1. UiBot 数组遍历
  2. 【GDKOI】樱花再见
  3. 浙江工商大学计算机考研调剂,浙江工商大学计算机学院2013考研调剂信息
  4. 天猫为何连续两季增长高达49%?
  5. probuff html5,黑鲨4 Pro、ROG 5怎么选?腾讯游戏BUFF加持是关键
  6. 企业该如何选择合适的ERP系统?谈谈国内外ERP软件的优缺点
  7. 常用的 html 语义化标签,以及作用
  8. 保险集团CMAF想成为法国量子优势“第一个吃螃蟹的人”
  9. 这是一份AI算法岗的简历...
  10. 伯乐识马,天九共享独角兽加速合作大会盛大开幕