排列:分为奇排列和偶排列、
一个排列中逆序数为奇数 ==》 奇排列
一个排列中逆序数为偶数 ==》 偶排列
eg:针对 1 2 3
偶排列:123,231,312.
奇排列:213,132,321.
-----------------------------------
常常看见~scanf(..)的用法, ~是取反的意思,
假如scanf没有读取到内容,返回值就是-1,也就是
就是11.....111,再取反就是00.....000 ,即0,
为假, 如果读取到了内容,假设读到了n个,返回值
就是n,n取反不会为0。只有n为-1时,n取反才会为0;
scanf(..)!=EOF 就是读到文件结尾(EOF = -1)就会结束读入的意思。
所以 ~scanf(...) 和 scanf(...)!=EOF 等价,
只是写法不同。
------------------------------------------
typedef int State[9];
这种命名方式的意思是,将一个含有9个int型元素
的类型定义一个别名叫State,即此时此刻,State型
就代表含有9个int型元素的一种自定义类型。
同理 ,typedef double Matrix[maxn][maxn];
也就是一样的去理解了,Matrix 是一个含maxn*maxn
个double型元素的二维数组。。。
-------------------------------------------
按位异或运算,对等长二进制模式按位或二进制数的每一位执行逻辑异按位或操作。操作的结果是如果某位不同则该位为1,否则该位为0
简言之:按位异或,相同为0, 不同为1。
-------------------------------------------
按位异或的一个规则, 一个数A异或上两次数B就会
还原为A。即A^B^B = A.
--------------------------------------------
void *memcpy(void *dest, const void *src, size_t n);
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中, 速度比for快! 头文件是<cstring>
--------------------------------------------
一个排列中逆序数为奇数 ==》 奇排列
一个排列中逆序数为偶数 ==》 偶排列
eg:针对 1 2 3
偶排列:123,231,312.
奇排列:213,132,321.
-----------------------------------
常常看见~scanf(..)的用法, ~是取反的意思,
假如scanf没有读取到内容,返回值就是-1,也就是
就是11.....111,再取反就是00.....000 ,即0,
为假, 如果读取到了内容,假设读到了n个,返回值
就是n,n取反不会为0。只有n为-1时,n取反才会为0;
scanf(..)!=EOF 就是读到文件结尾(EOF = -1)就会结束读入的意思。
所以 ~scanf(...) 和 scanf(...)!=EOF 等价,
只是写法不同。
------------------------------------------
typedef int State[9];
这种命名方式的意思是,将一个含有9个int型元素
的类型定义一个别名叫State,即此时此刻,State型
就代表含有9个int型元素的一种自定义类型。
同理 ,typedef double Matrix[maxn][maxn];
也就是一样的去理解了,Matrix 是一个含maxn*maxn
个double型元素的二维数组。。。
-------------------------------------------
按位异或运算,对等长二进制模式按位或二进制数的每一位执行逻辑异按位或操作。操作的结果是如果某位不同则该位为1,否则该位为0
简言之:按位异或,相同为0, 不同为1。
-------------------------------------------
按位异或的一个规则, 一个数A异或上两次数B就会
还原为A。即A^B^B = A.
--------------------------------------------
void *memcpy(void *dest, const void *src, size_t n);
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中, 速度比for快! 头文件是<cstring>
--------------------------------------------