原题
题目描述

样例
输入

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相关推荐

  1. 2020牛客暑期多校训练营(第一场)

    文章目录 A B-Suffix Array B Infinite Tree C Domino D Quadratic Form E Counting Spanning Trees F Infinite ...

  2. 2020牛客暑期多校训练营(第二场)

    2020牛客暑期多校训练营(第二场) 最烦英语题 文章目录 A All with Pairs B Boundary C Cover the Tree D Duration E Exclusive OR ...

  3. E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解)

    E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解) 链接:https://ac.nowcoder.com/acm/contest ...

  4. 2020牛客暑期多校训练营(第一场)A B-Suffix Array(后缀数组,思维)

    链接:https://ac.nowcoder.com/acm/contest/5666/A 来源:牛客网 题目描述 The BBB-function B(t1t2-tk)=b1b2-bkB(t_1 t ...

  5. 2020牛客暑期多校训练营(第二场)Just Shuffle

    https://ac.nowcoder.com/acm/contest/5667/J 题目大意:给你一个置换A,使得置换P^k=A,让你求出置换P. 思路:我们根据置换A再置换z次,那么就等于置换p ...

  6. 2020牛客暑期多校训练营(第一场)j-Easy Integration(思维,分数取模,沃斯利积分)

    题目链接 题意: 给你一个积分公式,给你一个n,问积分公式的值取模后的结果. 思路: 积分公式(沃利斯积分)值的结论直接就是(n!)^2/(2n+1)!,求个阶乘,再用费马小定理给1/(2n+1)!取 ...

  7. 2020 牛客暑期多校训练营(第一场)F

    题目大意: 多次输入两个a,b字符串他们可以无限次的重复变成aaa,或者bbb 比较他们的大小,相同输出 =,a<b输出 <,a>b输出 >. 输入: aa b zzz zz ...

  8. 2020牛客暑期多校训练营(第二场)未完待续......

    F. Fake Maxpooling 题目: 题目大意: 输入n,m,k.矩阵的尺寸为nm,其中每一个元素为A[i][j] = lcm( i , j ).从中找出所有kk的子矩阵中元素最大的数之和. ...

  9. 2020牛客暑期多校训练营(第一场)J、Easy Integration (数学、分部积分)

    题目链接 题面: 题意: 求给定的定积分. 题解,化成 ∫ xn (1-x)n dx 然后用分部积分法即可得. 分部积分法:∫ udv = uv - ∫ vdu 最终为 n!/((n+1)*(n+2) ...

  10. 2020牛客暑期多校训练营(第二场)题解

    废话 蒟蒻不会积分,K不会做. 文章目录 废话 A. All with Pairs B. Boundary C. Cover the Tree D. Duration E. Exclusive OR ...

最新文章

  1. Shiro SpringMVC 非maven HelloWorld
  2. React Native封装Toast与加载Loading组件
  3. 研读代码必须掌握的五个Eclipse快捷键
  4. Maven编译项目时报错:不再支持源选项 5。请使用 6 或更高版本。 不再支持目标选项 1.5。请使用 1.6 或更高版本。
  5. css动画执行保持forwards,css3动画如何在动作结束时保持该状态不变
  6. Java面试——SpringMVC系列总结
  7. Windows下安装Scala
  8. Python编程:从入门到实践 - pygal篇 - Die
  9. 三年级下册计算机课程工作计划,三年级下册信息技术教学工作计划
  10. android读写串口
  11. 中英文对照 —— 数学
  12. MATLAB免疫算法与粒子群算法进行函数优化
  13. tomcat10.0安装及配置教程(win10)
  14. MATLAB遗传算法求函数最值
  15. 软件工程first homework
  16. python安装pandas失败_详解pandas安装若干异常及解决方案总结
  17. 人工智能学习-传教士-15数码-拟合-逻辑推理
  18. WeaveSocket框架-Unity太空大战游戏-概述0
  19. SD从零开始38-40
  20. 深入分析Kafka架构(三):消费者消费方式、三种分区分配策略、offset维护

热门文章

  1. oracle的opm,Oracle EBS OPM 事务处理
  2. SEO学习(九)——快速网站诊断(Google网管工具)
  3. VirtualBox-ubuntu系统下挂载U盘
  4. 燕十八ajax笔记,燕十八php視频教程笔记(PHP基础部分).doc
  5. 卡尔曼滤波—Singer算法
  6. 模拟163邮箱登录钓鱼PHP源码,分享一个curl模拟网易163邮箱登录实例
  7. 网友创作山寨版英文歌曲《上海滩》
  8. E:有几个软件包无法下载,要不运行 apt-get update 或者加上 –fix-missing 的选项再试试?
  9. arduino中Keypad 库函数介绍
  10. 【模板】仙人掌的基本概念和判定