$S=\{1,2,\cdots,n\}$, $f$是从$S$到$S$的双射,
将$\{i\in S:i\ge a\wedge i\le b\}$记为$S[a,b]$,
[即$S[a,b]=[a,n]\cap[1,b]\cap S$. 当$a\le b$时, $S[a,b]=[a,b]\cap S$; 当$a>b$时, $S[a,b]=\emptyset$.]
证明:
$$\bigcup_{i=1}^nS[i,f(i)]=\bigcup_{i=1}^nS[f(i),i]=S$$
例子: n=5, f(1)=3, f(2)=2, f(3)=4, f(4)=5, f(5)=1, 则
S[1,f(1)]={1, 2, 3},
S[2,f(2)]={2},
S[3,f(3)]={3, 4},
S[4,f(4)]={4, 5},
S[5,f(5)]=$\emptyset$,
它们的并集是S={1,2,3,4,5}.
S[f(1),1]=$\emptyset$,
S[f(2),2]=$\emptyset$,
S[f(3),3]=$\emptyset$,
S[f(4),4]=$\emptyset$,
S[f(5),5]={1,2,3,4,5},
它们的并集也是S={1,2,3,4,5}.
取RandomSample验证:
n = 5;
S = RandomSample[Range[n]];
T = {};
For[i = 1, i <= n, i++, AppendTo[T, Range[i, S[[i]]]]]
Union[Flatten[T]] == Range[n]
输出True
n = 5;
S = RandomSample[Range[n]];
T = {};
For[i = 1, i <= n, i++, AppendTo[T, Range[S[[i]], i]]]
Union[Flatten[T]] == Range[n]
输出True |