2020牛客暑期多校训练营(第八场) Enigmatic Partition
原题
题目描述
样例
输入
3
5 7
7 9
1 9
输出
Case #1: 2
Case #2: 7
Case #3: 8
说明
f(1)=0.
f(2)=0.
f(3)=0.
f(4)=0.
f(5)=0.
f(6)=1:6=1+2+3.
f(7)=1:7=1+1+2+3.
f(8)=2:8=1+1+1+2+3,8=1+2+2+3.
f(9)=4:9=1+1+1+1+2+3,9=1+1+2+2+3,9=1+2+3+3,9=2+3+4.
思路
看数据猜算法,脑袋一拍我们会知道这肯定是一道打表的题,打一维的表。
因为f(n)f(n)f(n)是首尾差等于222并且相邻两个差最多为111的递增序列。
若设第一段的数值为a1a1a1,则第二段的数值为a+1a+1a+1,第三段的数值为a+2a+2a+2。我们再设第一段的长度为b1b1b1,第二段的长度为b2b2b2,第三段的长度为b3b3b3。
则我们可以得出以下结论:::
- ab1+(a+1)b2+(a+2)b3=nab1+(a+1)b2+(a+2)b3=nab1+(a+1)b2+(a+2)b3=n
- a(b1+b2+b3)+b2+2b3=na(b1+b2+b3)+b2+2b3=na(b1+b2+b3)+b2+2b3=n
- am+b2+2b3=nam+b2+2b3=nam+b2+2b3=n
然后用两次差分即可。
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1e5+5;
ll t,l,r,f,a[maxn<<2],b[maxn<<1];
int main()
{for(int i=3;i<=1e5;i++)for(int j=i;j<=1e5;j+=i)a[j+3]++,a[j+i+1]--,a[j+i+2]--,a[j+i*2]++;for(int i=1;i<=maxn;i++)a[i]+=a[i-1];for(int i=3;i<=maxn;i++)b[i]=b[i-2]+a[i];for(int i=3;i<=maxn;i++)b[i]+=b[i-1];for(scanf("%lld",&t);t--;)scanf("%lld%lld",&l,&r),printf("Case #%lld: %lld\n",++f,b[r]-b[l-1]);return 0;
}
2020牛客暑期多校训练营(第八场) Enigmatic Partition相关推荐
- 2020牛客暑期多校训练营(第一场)
文章目录 A B-Suffix Array B Infinite Tree C Domino D Quadratic Form E Counting Spanning Trees F Infinite ...
- 2020牛客暑期多校训练营(第二场)
2020牛客暑期多校训练营(第二场) 最烦英语题 文章目录 A All with Pairs B Boundary C Cover the Tree D Duration E Exclusive OR ...
- E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解)
E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解) 链接:https://ac.nowcoder.com/acm/contest ...
- 2020牛客暑期多校训练营(第一场)A B-Suffix Array(后缀数组,思维)
链接:https://ac.nowcoder.com/acm/contest/5666/A 来源:牛客网 题目描述 The BBB-function B(t1t2-tk)=b1b2-bkB(t_1 t ...
- 2020牛客暑期多校训练营(第二场)Just Shuffle
https://ac.nowcoder.com/acm/contest/5667/J 题目大意:给你一个置换A,使得置换P^k=A,让你求出置换P. 思路:我们根据置换A再置换z次,那么就等于置换p ...
- 2020牛客暑期多校训练营(第一场)j-Easy Integration(思维,分数取模,沃斯利积分)
题目链接 题意: 给你一个积分公式,给你一个n,问积分公式的值取模后的结果. 思路: 积分公式(沃利斯积分)值的结论直接就是(n!)^2/(2n+1)!,求个阶乘,再用费马小定理给1/(2n+1)!取 ...
- 2020 牛客暑期多校训练营(第一场)F
题目大意: 多次输入两个a,b字符串他们可以无限次的重复变成aaa,或者bbb 比较他们的大小,相同输出 =,a<b输出 <,a>b输出 >. 输入: aa b zzz zz ...
- 2020牛客暑期多校训练营(第二场)未完待续......
F. Fake Maxpooling 题目: 题目大意: 输入n,m,k.矩阵的尺寸为nm,其中每一个元素为A[i][j] = lcm( i , j ).从中找出所有kk的子矩阵中元素最大的数之和. ...
- 2020牛客暑期多校训练营(第一场)J、Easy Integration (数学、分部积分)
题目链接 题面: 题意: 求给定的定积分. 题解,化成 ∫ xn (1-x)n dx 然后用分部积分法即可得. 分部积分法:∫ udv = uv - ∫ vdu 最终为 n!/((n+1)*(n+2) ...
- 2020牛客暑期多校训练营(第二场)题解
废话 蒟蒻不会积分,K不会做. 文章目录 废话 A. All with Pairs B. Boundary C. Cover the Tree D. Duration E. Exclusive OR ...
最新文章
- 如何进行基因组组装?
- 【小白学习C++ 教程】六、C++内置函数和函数传参
- 定义任务打印gradle下载的jar包位置
- 信息学奥赛一本通(1075:药房管理)
- 测试kafka的连通性,自导自演生产者与消费者
- 使用Python把PowerPoint文件转换为配乐MP4视频
- 在C语言中如何高效地复制和连接字符串?
- ognl概念和原理详解
- 如何操作反射中构造方法、属性和普通方法?
- 多线段几何图形—— 简单几何图形(判断一个点是否在图形的内部)
- The Thirty-eighth Of Word-Day
- 前端汉字encode_JavaScript URL汉字编码转换
- Struts2编写自定义验证拦截敏感词汇(十二)
- windows文件同步备份软件-文件夹同步工具哪个好?
- ACPI 待机/睡眠/休眠有啥区别?
- java中的直接内存
- windows 8 照片详解
- Stress命令Linux性能测试,压力测试工具(Centos演示)
- QT实现抖音网红表白软件
- 《 V I M 教 程 》 —— 版本 1.5
热门文章
- 解决MAC系统字体模糊发虚,并更换默认中文字体为微软雅黑
- latex 中文书籍常见命令
- 图像局部特征(五)--斑点检测之SIFT算法原理总结
- ant man 什么意思_ant是什么意思中文翻译
- c语言双胞胎字符串个数,怀双胞胎的概率有多大 八十九个孕妇中会有一个
- 如何做好抖音短视频?
- 相片打印机原理_用家用打印机打印照片和去冲印照片有什么区别?
- J1939 多包报文传输
- javaWeb课程体系介绍
- matlab画动图留下末端点轨迹,请问Matlab robotic Toolbox中怎么让机械手运动时末端走过的轨迹显示出来?...