JZOJ 3504. 运算符(calc)
题目
Description
1、n!k = n!(k-1) * (n-1)!k (n> 0 and k > 0)
2、n!k = 1 (n = 0)
3、n!k = n (k = 0)
现在鸡腿告诉你n和k你能告诉他n!k的不同约数个数有多少个吗?只要对1,000,000,009取模就可以了哦!
Input
Output
Sample Input
输入1: 3 1 输入2: 100 2
Sample Output
输出1: 4 输出2: 321266186
Data Constraint
对于100%的数据0 <n ≤ 1000, 0 <k ≤ 100。
分析
- 这道题显然我们需要先找规律
- 这里一个矩阵,代表
- 1 1 1 1 1
- 2 2 2 2 2
- 6 12 24 48
- 24 288....
- 所以当前数等于左边乘上面
- 左边一列是阶乘
- 然后我们要求的是约数个数
- 就要分解质因数
- 我们举个例子,24=4*6; 4=2^2,6=2*3 24=2^3*3
- 所以我们知道两个数相乘,质因子是相加的
- 所以设f[i][j][k]为到第i行j列第k个质因子转移显然
代码
1 #include<iostream> 2 using namespace std; 3 const long long mod=1000000009; 4 int f[1001][101][170],prime[1001],cnt; 5 bool vis[1001]; 6 int n,kk; 7 int main () 8 { 9 for (int i=2;i<=1000;i++) 10 if (!vis[i]) 11 { 12 prime[++cnt]=i; 13 for (int j=i+i;j<=1000;j+=i) 14 vis[j]=1; 15 } 16 cin>>n>>kk; 17 for (int i=1;i<=n;i++) 18 for (int j=1;j<=cnt;j++) 19 { 20 long long now=prime[j],t=i/now,t1=0; 21 if (t==0) break; 22 while (t) t1=(t1+t)%mod,t/=now; 23 f[i][1][j]=t1%mod; 24 } 25 for (int i=2;i<=n;i++) 26 for (int j=2;j<=kk;j++) 27 for (int k=1;k<=cnt;k++) 28 f[i][j][k]=(f[i-1][j][k]+f[i][j-1][k])%mod; 29 long long ans=1; 30 for (int k=1;k<=cnt;k++) 31 ans=ans*(f[n][kk][k]+1)%mod; 32 cout<<ans; 33 }
转载于:https://www.cnblogs.com/zjzjzj/p/11371350.html
JZOJ 3504. 运算符(calc)相关推荐
- 【纪中受难记】——Day17:本来能AK
(标题妄想). 95/0/0 第二题很水,后来花5分钟切了. 3503. 粉刷(paint) (Standard IO) Time Limits: 1000 ms Memory Limits: 13 ...
- 0x11.基本数据结构 — 栈与单调栈
目录 一.栈 0.AcWing 41. 包含min函数的栈 (自己造栈) 1.AcWing 128. 编辑器 (对顶栈) 2.AcWing 129. 火车进栈 3.AcWing 130. 火车进出栈问 ...
- 信息竞赛进阶指南--中缀表达式转后缀表达式并求值(模板)
// 后缀表达式转中缀表达式,同时求值,O(n)// 数值栈 vector<int> nums; // 运算符栈 vector<char> ops;// 优先级 int gra ...
- 后缀表达式、中缀表达式
一.后缀表达式 1.理解 对于算术表达式来说,其基本规则是:先乘除,后加减:先括号内,再括号外:相同优先级情况下从左到右.比如,5 + 6 / 2 - 3 * 4 就是一个算术表达式,它的正确理解应该 ...
- CSS3的calc()使用
什么是calc()? 学习calc()之前,我们有必要先知道calc()是什么?只有知道了他是个什么东东?在实际运用中更好的使用他. calc()从字面我们可以把他理解为一个函数function.其实 ...
- Css3新属性:calc()
一.前言 calc()看起来像是javascript中的一个函数,而事实上它是用在Css中的,可以用它来计算长度(宽度或高度),能够自动根据不同尺寸的屏幕自动调接数值,从而很轻松的实现自适应布局展示在 ...
- [css] CSS中的calc()有什么作用?
[css] CSS中的calc()有什么作用? 用来计算长宽的属性,非常好用,百分比,px,vh/vm都可参与计算, 不过正如上面的大兄弟说的,运算符的左右要有空格,要不然不生效 个人简介 我是歌谣, ...
- 信息学奥赛一本通 1356:计算(calc)
[题目链接] ybt 1356:计算(calc) [题目考点] 1. 表达式求值 中缀表达式求值 2. 表达式树 表达式树:一棵表达式树可以表示一系列的运算. 表达式树中的结点包括运算符与数值 str ...
- CSS3 calc() 函数,height: calc(100% - 70px);
今天做练习的时候遇到了这样一行代码:height: calc(100% - 70px);,100%的高度减去70px???这是什么函数?竟然支持不同单位之间的运算?! 通过查阅资料,我终于认识了这个函 ...
最新文章
- 必看!清华大学刘洋教授“浅谈研究生学位论文选题”方法,3月7日1小时视频公开课(附视频PPT下载)...
- 某油企产成品标准成本估算逻辑
- 贝叶斯分类器期望损失函数理解及衍生的全新理解
- 因果推断 - 基础知识
- java中英对比_2017-11-09 中英文代码对比系列之Java一例
- linux vi行尾总是显示颜色,【转载】Linux 下使用 vi 没有颜色的解决办法
- vue封装websocket_有关WebSocket必须了解的知识
- 汇编中寄存器加[]的意思
- android studio 更新 Gradle错误解决方法
- PD2SE-Net:植物病害诊断和严重性评估网络(首次)
- 台式计算机键盘示意图,电脑键盘示意图
- 【坐标标注】点坐标标注插件使用手册,可支持批量标注
- python播放音乐同步歌词_Python点阵字玩转动态歌词
- Linux系统防火墙概述
- windows10使用openssl生成ca证书并本地模拟https调试开发环境
- 新手小白怎么学抖音运营?抖音运营5大技巧
- Rounding necessary
- LIMS和TDM比较分析
- VTL:图形基本操作进阶——多分辨率策略(模型抽取的三种方法)
- java画球_我的世界 如何用指令画球 JAVA 1.13+
热门文章
- iOS【终极方案】精准获取webView内容高度,自适应高度
- 烂泥:更换ESXI5.0管理网卡及管理IP地址
- 构建高性能ASP.NET站点 第七章 如何解决内存的问题(后篇)—托管资源优化—监常用优化措施...
- SylixOS网络性能测试
- struts Caused by: no protocol dtd - Class: java.net.URL
- HDOJ 1282 回文数猜想(回文串类)
- 使用Aop管理所有Valid结构bindingResult
- SVM与feature
- 流程一改,魔鬼变天使
- Web后端学习笔记 Flask (5) 数据库