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 ...
最新文章
- Shiro SpringMVC 非maven HelloWorld
- React Native封装Toast与加载Loading组件
- 研读代码必须掌握的五个Eclipse快捷键
- Maven编译项目时报错:不再支持源选项 5。请使用 6 或更高版本。 不再支持目标选项 1.5。请使用 1.6 或更高版本。
- css动画执行保持forwards,css3动画如何在动作结束时保持该状态不变
- Java面试——SpringMVC系列总结
- Windows下安装Scala
- Python编程:从入门到实践 - pygal篇 - Die
- 三年级下册计算机课程工作计划,三年级下册信息技术教学工作计划
- android读写串口
- 中英文对照 —— 数学
- MATLAB免疫算法与粒子群算法进行函数优化
- tomcat10.0安装及配置教程(win10)
- MATLAB遗传算法求函数最值
- 软件工程first homework
- python安装pandas失败_详解pandas安装若干异常及解决方案总结
- 人工智能学习-传教士-15数码-拟合-逻辑推理
- WeaveSocket框架-Unity太空大战游戏-概述0
- SD从零开始38-40
- 深入分析Kafka架构(三):消费者消费方式、三种分区分配策略、offset维护
热门文章
- oracle的opm,Oracle EBS OPM 事务处理
- SEO学习(九)——快速网站诊断(Google网管工具)
- VirtualBox-ubuntu系统下挂载U盘
- 燕十八ajax笔记,燕十八php視频教程笔记(PHP基础部分).doc
- 卡尔曼滤波—Singer算法
- 模拟163邮箱登录钓鱼PHP源码,分享一个curl模拟网易163邮箱登录实例
- 网友创作山寨版英文歌曲《上海滩》
- E:有几个软件包无法下载,要不运行 apt-get update 或者加上 –fix-missing 的选项再试试?
- arduino中Keypad 库函数介绍
- 【模板】仙人掌的基本概念和判定