HDU 5793 A Boring Question ——(找规律,快速幂 + 求逆元)
参考博客:http://www.cnblogs.com/Sunshine-tcf/p/5737627.html。
说实话,官方博客的推导公式看不懂。。。只能按照别人一样打表找规律了。。。但是打表以后其实也不是很好看出规律的。。。而且这个表都写了半天233。。。(真是太弱了= =)为了打表,我们应当先知道k数列必须是不递减的才能满足值不为0,因此我们可以用递归来写这个表(类似于dfs)。
AC代码如下:
- #include <stdio.h>
- #include <algorithm>
- #include <string.h>
- using namespace std;
- typedef long long ll;
- const int mod = ;
- int qpow(int a,int b)
- {
- int ans = ;
- while(b)
- {
- if(b & ) ans = 1LL * ans * a % mod;
- b >>= ;
- a = 1LL * a * a % mod;
- }
- return ans;
- }
- int inv(int p)
- {
- return qpow(p,mod-);
- }
- int main()
- {
- int T;scanf("%d",&T);
- while(T--)
- {
- int n,m;scanf("%d%d",&n,&m);
- int ans = qpow(m,n+);
- ans = ((ans - ) % mod + mod) % mod;
- ans = 1LL * ans * inv(m-) % mod;
- printf("%d\n",ans);
- }
- }
打表代码如下:
- #include <stdio.h>
- #include <algorithm>
- #include <string.h>
- using namespace std;
- int c[][];
- //int n,m;
- void init()
- {
- c[][] = c[][] = c[][] = ;
- for(int i=;i<=;i++)
- {
- c[i][] = c[i][i] = ;
- for(int j=;j<i;j++)
- {
- c[i][j] = c[i-][j-] + c[i-][j];
- }
- }
- }
- int ans = ,a[];
- void solve(int pos,int now,int n,int m)
- {
- a[pos] = now;
- if(pos == m)
- {
- int t = ;
- for(int i=;i<=m;i++) t *= c[a[i]][a[i-]];
- ans += t;
- return;
- }
- for(int i=now;i<=n;i++)
- {
- solve(pos+,i,n,m);
- }
- }
- void getAns(int n,int m)
- {
- memset(a,,sizeof(a));
- ans = ;
- for(int i=;i<=n;i++)
- {
- solve(,i,n,m);
- }
- }
- int main()
- {
- init();
- for(int i=;i<=;i++)
- {
- for(int j=;j<=;j++)
- {
- getAns(i,j);
- printf("f(%d,%d)=%d ",i,j,ans);
- }
- puts("");
- }
- /*while(scanf("%d%d",&n,&m)==2)
- {
- memset(a,0,sizeof(a));
- ans = 0;
- for(int i=0;i<=n;i++)
- {
- solve(1,i);
- }
- printf("%d\n",ans);
- }*/
- }
总感觉,,数论的题目都好难想到思路啊= =。。
HDU 5793 A Boring Question ——(找规律,快速幂 + 求逆元)的更多相关文章
- HDU 5793 A Boring Question (找规律 : 快速幂+乘法逆元)
A Boring Question Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- hdu 5187 zhx's contest [ 找规律 + 快速幂 + 快速乘法 || Java ]
传送门 zhx's contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- HDU 5793 - A Boring Question
HDU 5793 - A Boring Question题意: 计算 ( ∑(0≤K1,K2...Km≤n )∏(1≤j<m) C[Kj, Kj+1] ) % 1000000007=? (C[ ...
- HDU4869:Turn the pokers(快速幂求逆元+组合数)
题意: 给出n次翻转和m张牌,牌相同且一开始背面向上,输入n个数xi,表示xi张牌翻转,问最后得到的牌的情况的总数. 思路: 首先我们可以假设一开始牌背面状态为0,正面则为1,最后即是求ΣC(m,k) ...
- HDU 5793 A Boring Question (找规律 : 快速幂+逆元)
A Boring Question 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5793 Description Input The first l ...
- HDU 5793 A Boring Question (逆元+快速幂+费马小定理) ---2016杭电多校联合第六场
A Boring Question Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- hdu 5793 A Boring Question(2016第六场多校)
A Boring Question Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- HDU 5793 A Boring Question 多校训练
There are an equation. ∑0≤k1,k2,⋯km≤n∏1⩽j<m(kj+1kj)%1000000007=?∑0≤k1,k2,⋯km≤n∏1⩽j<m(kj+1kj)%1 ...
- ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies (打表找规律+快速幂)
题目链接:https://nanti.jisuanke.com/t/31716 题目大意:有n个孩子和n个糖果,现在让n个孩子排成一列,一个一个发糖果,每个孩子随机挑选x个糖果给他,x>=1,直 ...
随机推荐
- Bootstrap3基础教程 01 概述
移动设备优先是 Bootstrap 3 的最显著的变化. 基础的页面: <!DOCTYPE html> <html> <head> <meta charset ...
- MVC4学习要点记二
一.分页(PagedList.MVC)1.安装PagedList.MVCPM>install-package PagedList.mvc 2.控制器中使用PagedList 3.csht ...
- Pytorch中nn.Conv2d的用法
Pytorch中nn.Conv2d的用法 nn.Conv2d是二维卷积方法,相对应的还有一维卷积方法nn.Conv1d,常用于文本数据的处理,而nn.Conv2d一般用于二维图像. 先看一下接口定义: ...
- md加密 16位 32位
16位大写 //生成MD5 public static String getMD5(String message) { String md5 = ""; try { Message ...
- element table切换分页不勾选的自带方法
场景一:没有回显勾选的情况 table表格加row-key标识选中行唯一标识,多选框加reserve-selection设置为true <template> <el-table v- ...
- struct:二进制数据结构的打包与解包
介绍 struct模块包括一些函数,这些函数可以完成字节串与原生Python数据类型(如数字和字符串)之间的转换 函数与Struct类 struct提供了一组处理结构值的模块级函数,另外还有一个Str ...
- JS笔记02
回顾: html: 超文本标记语言 后缀名: *.html 或 *.htm 标签分类: 围堵标签: 双标签 <html>标签体</html> 空标签: 单标签 <br/& ...
- DA_06_iptables 与 firewalld 防火墙
8.1 防火墙管理工具 防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用.主要功能都是依据策略对穿越防火墙自身的流量进行过滤.防火墙策略可以基于 流量的源目地址.端口号.协 ...
- Linux基础命令01
绝对路径:从“/”根目录下开始 常用的一些命令选项 ls ls :使用方式 ls {空格}选项 {空格}参数 (全写为list)(等同于dir) 列出当前目录下所有的文件,包括隐藏文件 ls -a ...
- maven-将本地jar包添加到本地仓库
一.使用场景 1.把网上的jar包下到本地,如果要在maven的pom文件中配置使用,就必须将jar包按照maven的规范添加到maven仓库中,然后再pom中既可以配置引用了. 二.准备工作 1.电 ...