Comet OJ - Contest #4 B题 奇偶性
题目链接:https://www.cometoj.com/contest/39/problem/B?problem_id=1577


题意:给你一个数列,求L 到 R 区间内 所有数列 (ƒn mod 2)的和。
思路:这题是个找规律的题目,首先数列都要对2取模运算,如果这个数是偶数 那么mod 2就是0,奇数就是1,所以这题等价于求 L 到 R 区间内奇数的个数。
1.当 k 为奇数的时候,我们发现数列的值对2取模后全为1,所以 ans = R - L + 1。
2.当 k 为偶数的时候,假设 k = 4,那么:
| ƒ0 | ƒ1 | ƒ2 | ƒ3 | ƒ4 | ƒ5 | ƒ6 | ƒ7 | ƒ8 | ƒ9 | ƒ10 | ƒ11 | ƒ12 | ƒ13 | ƒ14 |
我们知道偶数个奇数相加和等于偶数,奇数个等于奇数,为了方便我们用 1 表示奇数 用 0 表示偶数。
如图 可以发现循环的规律,我们用除法取模的方法可以算出 1 - n 区间内 0 的节点有 ((n - k) / (k + 1) + 1) 个,所以对 k 所在区间进行分类讨论就好了。
AC代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
long long l,r,k;
cin >> n;
while(n--)
{
scanf("%lld%lld%lld",&l,&r,&k);
long long ans = ;
if(k % == )
{
16
if(k >= r)
{
if(r == k)
ans = r - l;
else
ans = r - l + ;
}
else if(k < l)
{
long long ll,rr;
ll = l - ((l - k) / (k + ) + );
rr = r - ((r - k) / (k + ) + );
ans = rr - ll + ;
}
else
{
ans = r - ((r - k) / (k + ) + ) - l + ;
if(l == k) ans += ;
}
}
else
{
ans = r - l + ;
}
printf("%lld\n",ans);
}
return ;
}
Comet OJ - Contest #4 B题 奇偶性的更多相关文章
- Comet OJ - Contest #10 C题 鱼跃龙门
###题目链接### 题目大意: 给你一个 x ,让你求出最小的正整数 n 使得 n * (n + 1) / 2 % x == 0 ,即 n * (n + 1) % 2x == 0 . 分析: 1 ...
- Comet OJ - Contest #0 A题 解方程 (数学)
题目描述 小象同学在初等教育时期遇到了一个复杂的数学题,题目是这样的: 给定自然数 nn,确定关于 x, y, zx,y,z 的不定方程 \displaystyle \sqrt{x - \sqrt{n ...
- Comet OJ - Contest #11 B题 usiness
###题目链接### 题目大意:一开始手上有 0 个节点,有 n 天抉择,m 种方案,在每天中可以选择任意种方案.任意次地花费 x 个节点(手上的节点数不能为负),使得在 n 天结束后,获得 y 个节 ...
- Comet OJ - Contest #10 B题 沉鱼落雁
###题目链接### 题目大意:有 n 个正整数,每个正整数代表一个成语,正整数一样则成语相同.同一个正整数最多只会出现 3 次. 求一种排列,使得这个排列中,相同成语的间隔最小值最大,输出这个最小间 ...
- Comet OJ - Contest #2 C题 言论的阴影里妄想初萌
题目描述 Takuru 是一名能力者,他在地震时获得了念力致动的能力.所以他经常用自己的能力去干一些奇奇怪怪的事情. 有一天他获得了一张 nn 个点的无向完全图,之后他使用了能力,导致这张图的 \fr ...
- Comet OJ - Contest #4--前缀和
原题:Comet OJ - Contest #4-B https://www.cometoj.com/contest/39/problem/B?problem_id=1577传送门 一开始就想着暴力打 ...
- Comet OJ - Contest #11 题解&赛后总结
Solution of Comet OJ - Contest #11 A.eon -Problem designed by Starria- 在模 10 意义下,答案变为最大数的最低位(即原数数位的最 ...
- Comet OJ - Contest #13-C2
Comet OJ - Contest #13-C2 C2-佛御石之钵 -不碎的意志-」(困难版) 又是一道并查集.最近做过的并查集的题貌似蛮多的. 思路 首先考虑,每次处理矩形只考虑从0变成1的点.这 ...
- Comet OJ - Contest #13 「火鼠的皮衣 -不焦躁的内心-」
来源:Comet OJ - Contest #13 芝士相关: 复平面在信息学奥赛中的应用[雾 其实是道 sb 题??? 发现原式貌似十分可二项式定理,然后发现确实如此 我们把 \(a^i\) 替换成 ...
随机推荐
- grub命令详解
在grub下引导linux:其步骤如下;a 进入grub的命令模式.b 先熟悉一下grub 的一些命令 grub>help c 熟悉一下cat命令d root指令来指定/boot所在的分区e k ...
- canvas简单画图板
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <title> ...
- Java开发最常犯的10个错误,打死都不要犯!
原文:http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/ 译文:cnblogs.com/chenpi/p ...
- FrameWork内核解析之XMS内核管理(一)上篇
阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从以下两个内容来介绍XMS内核管理之AMS: [Activi ...
- Scrapy框架: middlewares.py设置
# -*- coding: utf-8 -*- # Define here the models for your spider middleware # # See documentation in ...
- pip安装Scrapy因网络问题出错备选方案
一 更改pypi默认源 执行 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 执行pip instal ...
- python3中浮点数相减问题(大部分时候只需要关注整数的二进制形式就行了)
首先直接上判断方法:一切判断直接将整数部分装化成二进制,如果位数相等则相减后的值是等于的,如果不相等,相减大的结果一定不等于你要比较的结果. 如66.6-60.6==6.0的情况,66.6的二进制:1 ...
- DPS首战鞍山
10月17日就即将飞机去鞍山了,不知不觉进入ACM的世界已经有一年了.虽然这一年我不够勤奋, 还是经常打LOL ,但是感觉自己真的学到了很多 . 在SCAU无数次选拔赛, 淘汰赛,个人排位赛 ,组队训 ...
- tomcat+nginx 单机部署多应用LINUX
1.首先虚拟机上安装nginx 和tomcat,这里安装就不赘述了. nginx安装可以参考https://www.linuxidc.com/Linux/2016-09/134907.htm,相关配置 ...
- 牛客多校第六场-H-Pair
链接:https://ac.nowcoder.com/acm/contest/887/H来源:牛客网 题目描述 Given three integers A, B, C. Count the numb ...