洛谷P3795 钟氏映射
P3795 钟氏映射
题目背景
2233年,CSSYZ学校的数学老师兼数学竞赛顾问钟JG已经2200+岁啦!
为了庆生,他或她给广大人民群众出了道题。
题目描述
设集合
设为到的映射。
求满足:
的不同的映射的个数,由于答案较大,输出答案对取余的数即可。
输入输出格式
输入格式:
输入一个正整数
输出格式:
输出满足的不同的映射的个数对取余得到的数。
输入输出样例
3
4
说明
四个映射分别为:
f(1) | f(2) | f(3) |
---|---|---|
1 | 2 | 3 |
1 | 3 | 2 |
2 | 1 | 3 |
3 | 2 | 1 |
数据范围:
对于20%的数据,
对于其它的80%的数据,
内存20MB...(一开始开1MB把自己坑了)
被所谓的“数论”题坑了进来
f[i]表示i个元素的方案数
对于第i个元素,他可以自己影射自己,有f[i - 1]种方案
他也可以映射其他(i - 1)个人中的某一个,而那个人必须映射第i个元素,因此这两个元素固定下来,有f[i - 2]种方案。
滚起来就可以了。
#include <bits/stdc++.h> const int MAXN = 5000 + 10;
const int MOD = 14233333; inline void read(long long &x){x = 0;char ch = getchar();char c = ch;while(ch > '9' || ch < '0')c = ch, ch = getchar();while(ch <= '9' && ch >= '0')x = x * 10 + ch - '0', ch = getchar();if(c == '-')x = -x;}
inline void swap(long long &a, long long &b){long long tmp = a;a = b;b = tmp;} long long a,b,c,n; int main()
{
read(n);
a = 1;b = 2;c = 4;
if(n == 1)printf("%lld", a);
else if(n == 2)printf("%lld", b);
else if(n == 3)printf("%lld", c);
else
{
for(int i = 3;i <= n;i ++)
{
c = (b + (i - 1) * a) % MOD;
swap(b,c);
swap(a,c);
}
printf("%lld", b % MOD);
}
return 0;
}
洛谷P3795 钟氏映射的更多相关文章
- 洛谷 P3795 钟氏映射
洛谷 P3795 钟氏映射 题目背景 2233年,CSSYZ学校的数学老师兼数学竞赛顾问钟JG已经2200+岁啦! 为了庆生,他或她给广大人民群众出了道题. 题目描述 设集合N=M={x∣x∈N+, ...
- luogu P3795 钟氏映射(递推)
题意 n<=107 20MB 题解 也就是给n个点,把他们一个分为一组,或两个分为一组,有多少种方法. 空间大点随便做. 我们靠递推. 一个新点,要不自己一组,要不和前面的一个点构成一组. 所以 ...
- 【埃氏筛】洛谷P3383埃氏筛模板
思路: 如果我们要筛出 [1, n] 内的所有素数,使用 [1, √n] 内的素数去筛就可以了 设bool型数组 a,a[i] 表示 i 是否被某个素数筛过 从 2 开始枚举每个数 i: 若 a[i] ...
- 洛谷 P1379 八数码难题 Label:判重&&bfs
特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给 ...
- 洛谷 P3927 Factorial
题目描述 SOL君很喜欢阶乘.而SOL菌很喜欢研究进制. 这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘. SOL菌表示不服,立刻就要算这个数在k进制表示下末尾0的个数. 但是SOL菌太菜了于是请 ...
- 【洛谷P2584】【ZJOI2006】GameZ游戏排名系统题解
[洛谷P2584][ZJOI2006]GameZ游戏排名系统题解 题目链接 题意: GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在 ...
- FFT/NTT总结+洛谷P3803 【模板】多项式乘法(FFT)(FFT/NTT)
前言 众所周知,这两个东西都是用来算多项式乘法的. 对于这种常人思维难以理解的东西,就少些理解,多背板子吧! 因此只总结一下思路和代码,什么概念和推式子就靠巨佬们吧 推荐自为风月马前卒巨佬的概念和定理 ...
- 【算法学习】【洛谷】树链剖分 & P3384 【模板】树链剖分 P2146 软件包管理器
刚学的好玩算法,AC2题,非常开心. 其实很早就有教过,以前以为很难就没有学,现在发现其实很简单也很有用. 更重要的是我很好调试,两题都是几乎一遍过的. 介绍树链剖分前,先确保已经学会以下基本技巧: ...
- 洛谷P4312 [COCI 2009] OTOCI / 极地旅行社(link-cut-tree)
题目描述 不久之前,Mirko建立了一个旅行社,名叫“极地之梦”.这家旅行社在北极附近购买了N座冰岛,并且提供观光服务. 当地最受欢迎的当然是帝企鹅了,这些小家伙经常成群结队的游走在各个冰岛之间.Mi ...
随机推荐
- js 类数组转化数组
一.常见类数组集合 (1).arguements function fn(){ var arr = [].slice.call(arguements,0); } (2).HTMLCollection ...
- SQL中的long text
SQL中的long text 问题: 解决方法: SELECT CONVERT(VARCHAR(5000),参考文献) AS 参考文献 FROM tpi20160503 出现原因:
- 图解SQL的Join
原文地址:http://coolshell.cn/articles/3463.html 对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的 ...
- java连接neo4j
呼.博客要落灰了 记录一下Java连接neo4j的问题. 首先是neo4j的下载和配置,基本参考https://blog.csdn.net/appleyk/article/details/790918 ...
- 二分判定 覆盖问题 BZOJ 1052
//二分判定 覆盖问题 BZOJ 1052 // 首先确定一个最小矩阵包围所有点,则最优正方形的一个角一定与矩形一个角重合. // 然后枚举每个角,再解决子问题 #include <bits/s ...
- C语言作用域、链接属性和存储类型
C/C++中作用域详解 作用域 编译器可以确认的4种作用域-代码块作用域.文件作用域.函数作用域和原型作用域,一般来说,标识符(包括变量名和函数名)声明的位置决定它的作用域. (1)代码块作用域 一对 ...
- python基础---递归函数 知识点自查填空题
什么是递归函数:在函数中调()叫递归函数. 递归函数最大递归深度是997或998----是()设的限制. 注:如果递归次数太多,就不适合使用递归来解决问题. 递归的缺点: 占(). 递归的优点:会让代 ...
- 用wix制作属于自己的Flash网站
Wix 制作属于自己的Flash网站 Wix 是一款新兴的在线应用程序,它可以帮助用户轻松的创建出绘声绘色的Flash网站,而不需要任何相关的专业知识.Wix 是一家位于以色列的Startup开发的一 ...
- PAT甲级——A1060 Are They Equal
If a machine can save only 3 significant digits, the float numbers 12300 and 12358.9 are considered ...
- hadooplinux服务连接window平台问题
window eclipse下有hadoop 服务插件可以安装方便开发,今天突然发现连接不上做测试,鼓捣了一下.大多是因为端口问题 9000是DFS端口 50020是IPC服务端口,50070是web ...