复杂的DFS和BFS
倒水问题
隐性图:题目描述不像某种类型,但实际上就是这种类型
康托展开(数学知识)
相关题目:P1379 八数码难题
例子:
222 888 333 111 000 444 777 666 555
则其康托展开数的计算过程:
后面比2小的数有222个(分别是1,01,01,0),这个数后面有888个数(8,3,1,0,4,7,6,58,3,1,0,4,7,6,58,3,1,0,4,7,6,5),所以这一步是2∗8!2*8!2∗8!;
后面比8小的数有777个(分别是3,1,0,4,7,6,53,1,0,4,7,6,53,1,0,4,7,6,5),这个数后面有777个数(8,3,1,0,4,7,6,58,3,1,0,4,7,6,58,3,1,0,4,7,6,5),所以这一步是7∗7!7*7!7∗7!;
(以此类推……)
步骤
1. 首先将数转成数组
2. 找逆序对
DEQUE双端队列DEQUE双端队列DEQUE双端队列
1.头文件1.头文件1.头文件
2.定义双端队列Q2.定义双端队列Q2.定义双端队列Q
3.查找3.查找3.查找
4.添加元素4.添加元素4.添加元素
5.取出最前最后元素5.取出最前最后元素5.取出最前最后元素
6.删去最前最后元素6.删去最前最后元素6.删去最前最后元素
__INT128
含义
__int128是一种比short,int,long,long long都大的整数类型,它支持−1038<n<1038-10^{38}<n<10^{38}−1038<n<1038。
快读函数
快写函数
特别提示:特别提示:特别提示: __INT128 不允许使用不允许使用不允许使用输入输出。。。
相关题目推荐
Switch the Lamp On
迷宫之最少花费时间
Labyrinth
x+y