[题解]第十一届北航程序设计竞赛预赛——H.高中数学题
题目描述

解题思路
可以求得通项公式:an = 2n + 1,所以问题就变成等差数列求异或和,这个具体为什么对我还不能很好地解释清楚,先挖坑吧。
附:c++代码
1 #include <iostream>
2 #include <cstdio>
3
4 using namespace std;
5
6 typedef unsigned long long llt;
7
8 llt Cal(llt x, llt d, llt P, llt Num)
9 {
10 llt ret = 0;
11 ret += (x / P) * Num;
12 x %= P;
13 ret += (d / P) * Num * (Num - 1) / 2;
14 d %= P;
15 if (d * Num + x < P)
16 return ret;
17 else
18 return ret + Cal((d * Num + x) % P, P, d, (d * Num + x) / P);
19 }
20
21 llt My_Xor(llt l, llt r, llt d)
22 {
23 llt Num = r - l +1;
24 llt x = l * 2 + 1;
25 llt ans = 0, Sum, P = 1;
26 for (llt i = 1; i <= 36; i++)
27 {
28 Sum = Cal(x, d, P, Num);
29 if (Sum & 1)
30 ans += P;
31 P <<= 1;
32 }
33 return ans;
34 }
35
36 int main()
37 {
38 //freopen("mi.in", "r", stdin);
39 //freopen("H.out", "w", stdout);
40 int n, i;
41 llt l, r, ans;
42 scanf("%d", &n);
43 for(i = 1; i <= n; i++)
44 {
45 //scanf("%I64d%I64d", &l, &r);
46 cin >> l >> r;
47 ans = My_Xor(l, r, 2);
48 //printf("%I64d\n", ans);
49 cout << ans <<endl;
50 }
51 return 0;
52 }
另一种思路
这是官方给出的题解。

[题解]第十一届北航程序设计竞赛预赛——H.高中数学题的更多相关文章
- [题解]第十一届北航程序设计竞赛预赛——L.偶回文串
题目描述 长度为偶数的回文串被称为偶回文串.如果一个字符串重新排序之后能够成为一个偶回文串,则称为可回文的. 给一个字符串,求可回文的子串个数.字符串只含小写字母,单个字符串长度不超过10^5,所有数 ...
- [题解]第十一届北航程序设计竞赛预赛——I.神奇宝贝大师
题目描述 一张n*m的地图,每个格子里面有一定数量的神奇宝贝,求一个最优位置,使得所有神奇宝贝到该位置的曼哈顿距离最小. 一共有T组数据,每组数据包含两行,第一行是n和m(1<=n,m<= ...
- [题解]第十一届北航程序设计竞赛预赛——F.序列
题目描述 (1,--,n)的一个排列S,定义其对应的权值F[S]为:将S划分为若干段连续子序列,每个子序列都是上升序列,F[S]的值等于能划分出的最小段数. 求n的全排列的F[S]的和,答案mod(1 ...
- [题解]第十一届北航程序设计竞赛预赛——D.最大公约数
题目描述 给一个长度为n(1<=n<=100000)的正整数列,分成尽量多的非空段,使得每一段的最大公约数相等.一个数的最大公约数是它本身. 解题思路 要求每一段子列的gcd相等,不妨设为 ...
- [题解]第十一届北航程序设计竞赛预赛——A.模式
题目描述 输入一个学号,判断是计算机系or软件学院or其他院系. 解题思路 水题,直接判断or除以10000都可以.不废话,直接上代码. 1 #include <iostream> 2 # ...
- B P5 第十三届北航程序设计竞赛预赛
https://buaacoding.cn/contest-ng/index.html#/188/problems 其实这题挺简单的. 注意到答案的大小最多是22 二分,check长度是mid的不同子 ...
- 湖南省第十一届大学生程序设计竞赛:Internet of Lights and Switches(HASH+二分+异或前缀和)
Internet of Lights and Switches Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3 Solved: 3[Submit][ ...
- 2018湘潭大学程序设计竞赛【H】
题目链接:https://www.nowcoder.com/acm/contest/105/H 题意:两个操作,一个在[l,r]区间放颜色为c的球,一个统计在[l,r]里有多少不同颜色的球. 题解:哎 ...
- 重庆邮电大学第十一届ACM程序设计竞赛-网络选拔赛 C题
1008: 偷袭 时间限制: 1.000 sec 内存限制: 128 MB 武林要以和为贵,张麻子不讲武德来偷袭马老师的亲传弟子. 马老师有n个亲传弟子,每个弟子有一个武力值a[i]. n个弟子中只有 ...
随机推荐
- 《剑指offer》面试题68 - I. 二叉搜索树的最近公共祖先
问题描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p ...
- 【get√】golang新手理解了一点点context
测试代码如下: package practice import ( "context" "log" //"fmt" "time&q ...
- vuecli学习01 - 环境搭建
到这个链接下载nvm的安装包:https://github.com/coreybutler/nvm-windows/releases. 然后点击一顿下一步,安装即可! 安装完成后,还需要配置环境变量. ...
- ansible roles实践——安装java
[root@master] /etc/ansible$ cat roles/java/tasks/main.yml ---- name: unzip jdk unarchive: src=jdk-8u ...
- 关于笨蛋式病毒创作(CMD式)C++
对于病毒创作,有好多种原因:有想装逼的,想盗取信息的...... 任何理由千奇百出,有的在下面评论出来. 对于病毒创作,我可是既会有不会,只会乱写,回头一看,全错了. 我今天写的这篇博客就是面向于 ...
- pod 详解
静态pod是由kubelet进行管理的仅存在于特定的node上的pod. pod容器共享volume同一个pod中的多个容器能够共享pod级别的存储卷volume pod的配置管理 应用配置管理方案 ...
- java下载网络大文件之内存不够的解决办法(包含分片上传分片下载)
一.背景 2020年11月份的时候,我做过一个项目,涉及到网络文件,比如第三方接口提供一个文件的下载地址,使用java去下载,当时我全部加在到JVM内存里面,话说,单单是80M的下载单线程没问题,但是 ...
- 「ZJOI2014」璀灿光华
「ZJOI2014」璀灿光华 实际上,可以不用建水晶立方体... 因为,发光水晶的方向都要枚举一遍. 只需知道发光水晶每个方向有哪些水晶就可以了. 对于一个发光水晶,将它连接的水晶标号. 从该水晶bf ...
- [POI2010]TEL-Teleportation
因为题目中要求 \(1 \sim 2\) 的最短路只有 \(5\),于是我们可以考虑直接使用人脑将图分层. 那么我们怎么定义每层的点呢?因为要使 \(1 \sim 2\) 的最短路只有 \(5\),我 ...
- 什么是Native方法 (转)
一个Native Method就是一个java调用非java代码的接口(NDK也跟这有关吗?(疑问)一个Native Method由非java语言实现 在定义一个native method时,并不提供 ...