牛客练习赛68 B.牛牛的算术

题目链接

题目描述

牛牛最近学习了取模是什么 于是他看到了下面这一道题:
多次询问:每次询问包含一个正整数 n 要求你输出下列结果
∏i=1n∑j=1i∑k=1ji×j×k\prod_{i=1}^n \sum_{j=1}^i \sum_{k=1}^j i\times j\times ki=1∏n​j=1∑i​k=1∑j​i×j×k
为了避免结果过大 只需要输出这个式子对 199999(=2×32×41×271+12\times 3^2 \times 41 \times271+12×32×41×271+1,一个质数) 取模的结果。

输入描述:

第一行一个正整数 T 表示询问次数。

接下来 T 行 每行一个正整数 n 含义如上所述

输出描述:

T 行非负整数 代表答案。

示例1

输入

5
1
2
3
4
5

输出

1
14
1050
73001
100955

直接打表找规律肯定找不到,出题人没那么憨,但是我们可以找后面那个 ∑j=1i∑k=1jj×k\sum_{j=1}^i \sum_{k=1}^j j\times k∑j=1i​∑k=1j​j×k 的规律,很容易发现:
a[i]=i∗(1+i)∗(2+i)∗(1+3∗i)24a[i]=\frac{i*(1+i)*(2+i)*(1+3*i)}{24}a[i]=24i∗(1+i)∗(2+i)∗(1+3∗i)​
看一下模数就可以预处理出 2e52e52e5 的答案,其余肯定都是 000。注意题目输入会很大,所以只能用字符串读入,AC代码如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+5;
const ll mod=199999;
ll power(ll a,ll b){return b?power(a*a%mod,b/2)*(b%2?a:1)%mod:1;}
ll ans[N];
void init(){ans[1]=1;for(ll i=2;i<N;i++){ll u=i*i%mod*(1+i)%mod*(2+i)%mod*(1+3*i)%mod*power(24,mod-2);ans[i]=u*ans[i-1]%mod;}
}int main(){init();char s[N];int t;scanf("%d",&t);while(t--){scanf("%s",s);if(strlen(s)>6) printf("0\n");else{int u=0,len=strlen(s);for(int i=0;i<len;i++) u=u*10+(s[i]-'0');printf("%lld\n",ans[u]);}}
}

牛客练习赛68 B.牛牛的算术相关推荐

  1. 牛客练习赛68 A.牛牛的mex

    牛客练习赛68 A.牛牛的mex 题目链接 题目描述 牛牛现在有一个长度为 nnn 的序列 a1,a2,-,ana_1,a_2,\ldots,a_na1​,a2​,-,an​.现在牛牛有 qqq 次询 ...

  2. 牛客练习赛63 C.牛牛的揠苗助长

    牛客练习赛63 C.牛牛的揠苗助长 题目链接 题目描述 牛牛有一块长度大小为n的菜园,他首先对这块菜园从1到n进行了编号,每一块地分别为1号.2号-n号菜地,然后他往每块菜地中都种下了一些水稻,一开始 ...

  3. 解题报告 - 牛客练习赛63 C - 牛牛的揠苗助长(货仓选址+二分)

    链接:https://ac.nowcoder.com/acm/contest/5531/C 来源:牛客网 题目描述 牛牛有一块长度大小为n的菜园,他首先对这块菜园从1到n进行了编号,每一块地分别为1号 ...

  4. 牛客练习赛63 F 牛牛的树行棋 (SG函数+树差分)

    链接:https://ac.nowcoder.com/acm/contest/5531/F 来源:牛客网 牛牛的树行棋 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K, ...

  5. 牛客练习赛76 E 牛牛数数(线性基加二分)

    牛客地址 思路:全部组合异或,很容易想到使用线性基,正好线性基中有一个求第k小的用法,那我们可以二分来找 K是第几小的数,然后用总数减去. #include <iostream> #inc ...

  6. 牛客练习赛68题解 A-C

    A.牛牛的mex 题目传送门 牛牛的mex 题目大意 给你一个长度为n的序列a1~an(0<=ai<n且ai互不相同),有q次询问,每次想询问区间[l,r]中最小的未出现的自然数. 思路 ...

  7. 牛客练习赛63 F.牛牛的树行棋(博弈 SG函数)

    题目链接:https://ac.nowcoder.com/acm/contest/5531/F 牛牛的树行棋 前置知识 思路 代码 前置知识 这道题目需要博弈论中的SG函数的知识,这里就不多赘述.主要 ...

  8. 牛客练习赛63 B 牛牛的鱼缸

    分类讨论即可: AC代码: int main() {int t;int l, h;int L, H;sdd(h, l);sdd(H, L);double ans, x;x = (H * l * 1.0 ...

  9. 牛客练习赛67-A、牛牛爱字符串

    题目链接 题意 给定一个字符串,提取其中的数字并以空格分隔输出,字符串长度 0 ≤ l e n ≤ 1000 0 \le len \le 1000 0≤len≤1000 思路 遍历一遍字符串,遇见连续 ...

最新文章

  1. BZOJ4031: [HEOI2015]小Z的房间
  2. 利用Phtoshop去掉图片中的线性渐变背景
  3. 机器学习——数据降维
  4. c++ dump某个变量_linux内核调试之 crash分析dump文件
  5. 12306的变态验证码算得了什么?我有Python神器!
  6. sainsbury online order
  7. CF24D Broken robot | DP 高斯消元
  8. 如何从零开始用Keras开发一个机器翻译系统
  9. 史上最容易理解————GET和POST两种基本请求方法的区别
  10. python multiprocessing.Process 应用
  11. cmd cvf war包
  12. eclipse 构建maven web工程
  13. 【LeetCode-面试算法经典-Java实现】【136-Single Number(仅仅出现一次的数字)】
  14. 一个“新生代”白帽的自我修养
  15. 配置管理系统和整体变更系统有什么区别与联系
  16. 图片验证码的逻辑实现
  17. 花生壳域名绑定动态IP原理浅析
  18. 功能测试 —— TPShop商城项目
  19. utf-8的英文字母和中文汉字是一个字符占几个字节
  20. 用代码在最短时间做成事

热门文章

  1. 奔驰c260语言设置方法图解,奔驰C260L灯光使用方法 C260L灯光开关图解说明
  2. uni.getUserProfile报错:fail can only be invoked by user TAP gesture
  3. Android传感器之光线传感器介绍
  4. wps怎么恢复成单页_WPS怎么调回单页显示
  5. excel减法函数_Excel办公实操,提取多个条件的数据,办公必会技能
  6. 【LaTex-错误和异常】\verb ended by end of line.原因是因为闭合边界符没有在\verb命令所属行中出现;\verb命令的正确和错误用法、verbatim环境的用法
  7. 我的感悟:一切都是最好的安排
  8. WebGL 是什么?
  9. 爆笑三国之张飞流水账【爆笑中体验哲理】
  10. SigFox Vs. LoRa:技术和商业模式之间的比较