已知等边 Δ P 0 P 1 P 2 \Delta P_0P_1P_2 ΔP0P1P2,它的外接圆是 O O O,设 O O O的半径是 R R R。同时,设 Δ P 0 P 1 P 2 \Delta P_0P_1P_2 ΔP0P1P2所经过的所有点的集合是 S 0 S_0 S0。显然, S 0 S_0 S0中有无限个元素。
接下来,在 O O O上取点 P 3 , P 4 , P 5 P_3,P_4,P_5 P3,P4,P5,使得四边形 P 0 P 3 P 4 P 5 P_0P_3P_4P_5 P0P3P4P5是正四边形。记这个四边形经过的所有点的集合为 S 1 S_1 S1。
接下来,在 O O O上取点 P 6 , P 7 , P 8 , P 9 P_6,P_7,P_8,P_9 P6,P7,P8,P9,使得五边形 P 0 P 6 P 7 P 8 P 9 P_0P_6P_7P_8P_9 P0P6P7P8P9是正五边形。记这个五边形的点集为 S 2 S_2 S2。
中间省略 n − 2 n-2 n−2次操作。
最后,在 O O O上取点 δ 1 , δ 2 , δ 3 , . . . , δ n \delta_1,\delta_2,\delta_3,...,\delta_n δ1,δ2,δ3,...,δn,使得 n + 1 n+1 n+1边形 P 0 δ 1 δ 2 δ 3 . . . δ n P_0\delta_1\delta_2\delta_3...\delta_n P0δ1δ2δ3...δn是正 n + 1 n+1 n+1边形。
记所有 P 0 δ 1 δ 2 δ 3 . . . δ n P_0\delta_1\delta_2\delta_3...\delta_n P0δ1δ2δ3...δn上的非单一点的集合为 W ′ W' W′。
非单一点的定义是:
对于每一个点, S 0 , S 1 , . . . , S n − 1 S_0,S_1,...,S_{n-1} S0,S1,...,Sn−1中任意一个集合包含了它
设这个点的坐标是 x , y x,y x,y,则 x , y x,y x,y满足 x 2 + y 2 = R 2 x^2+y^2=R^2 x2+y2=R2
显然, P 0 P_0 P0是一个非单一点。
记 W ′ W' W′中元素的个数为 L ′ L' L′。
回答下列问题:
(1)当 n = 9 n=9 n=9时,求 L ′ L' L′;
(2)当 n = 99 n=99 n=99时,求 L ′ L' L′;
(3)证明或证伪: n n n有无限种取值方法,使得 L ′ = 1 L'=1 L′=1;
(4)求 2 1.048576 × 1 0 6 2^{1.048576\times 10^6} 21.048576×106边形与 3 3 27 3^{3^{27}} 3327的公共点数。
(5)证明或证伪:并非对于所有的 n = 2 2 x n=2^{2^x} n=22x,都存在 L ′ = 1 L'=1 L′=1。
让我们先单独讨论 M M M边形的情况。
不妨设 M M M边形的 M M M个点分别为 P 0 , P 1 , . . . , P M − 1 P_0,P_1,...,P_{M-1} P0,P1,...,PM−1,且外接圆心为 O O O,半径为 R R R。
定义 ∠ P i O P 0 = θ i \angle P_iOP_0=\theta_i ∠PiOP0=θi,设 P 0 ( R , 0 ) P_0(R,0) P0(R,0)。
则有 θ i = 2 π i M \theta_i=\frac{2\pi i}{M} θi=M2πi。
那么我们可以求出
P i ( x i , y i ) x i = R cos θ i , y i = R sin θ i . P_i(x_i,y_i)\\ x_i=R\cos\theta_i,\\ y_i=R\sin\theta_i. Pi(xi,yi)xi=Rcosθi,yi=Rsinθi.
那么我们回到原题。
由于非单一点的第二个条件,我们得知它在圆 O O O上。
不妨设 N N N边形( N = n + 1 N=n+1 N=n+1)的第 i i i个点与 K K K边形的第 j j j个点重合。
那么我们有:
θ i = θ j + 2 k π 2 π i N = 2 π j K + 2 k π , 1 ≤ j < K < N , i < N i N = j K + k ∵ 0 ≤ i N < 1 , 0 ≤ j K < 1 ∴ k = 0 ∴ j N = i K , i = j N K \theta_i=\theta_j+2k\pi\\ \frac{2\pi i}{N}=\frac{2\pi j}{K}+2k\pi,1\leq j
例如,当 n = 9 n=9 n=9时, N = n + 1 = 10 N=n+1=10 N=n+1=10,符合的结果有:
i = 0 , c h o o s e j = 0 i = 1 , N o W a y i = 2 , c h o o s e j = 1 , K = 5 i = 3 , N o W a y i = 4 , c h o o s e j = 2 , K = 5 i = 5 , c h o o s e j = 2 , K = 4 i = 6 , c h o o s e j = 3 , K = 5 i = 7 , N o W a y i = 8 , c h o o s e j = 4 , K = 5 i = 9 , N o W a y i=0,choose\ j=0\\ i=1,No\ Way\\ i=2,choose\ j=1,K=5\\ i=3,No\ Way\\ i=4,choose\ j=2,K=5\\ i=5,choose\ j=2,K=4\\ i=6,choose\ j=3,K=5\\ i=7,No\ Way\\ i=8,choose\ j=4,K=5\\ i=9,No\ Way i=0,choose j=0i=1,No Wayi=2,choose j=1,K=5i=3,No Wayi=4,choose j=2,K=5i=5,choose j=2,K=4i=6,choose j=3,K=5i=7,No Wayi=8,choose j=4,K=5i=9,No Way
第一问答案为 6 6 6。
假设 N = β 1 α 1 β 2 α 2 . . . β n α n , β i < β j w h e n i ≤ j , N=\beta_1^{\alpha_1}\beta_2^{\alpha_2}...\beta_n^{\alpha_n},\beta_i<\beta_j\ when\ i\leq j, N=β1α1β2α2...βnαn,βi<βj when i≤j,且 β i \beta_i βi为质数。
显然 i = p M i=pM i=pM,且 M = β i β j . . . M=\beta_i\beta_j... M=βiβj...( β i \beta_i βi可能与 β j , . . . \beta_j,... βj,...相等)
则有 j = p , K = N M j=p,K=\frac{N}{M} j=p,K=MN。
显然 K < N K
对于 N = 100 N=100 N=100的情况,
N = 2 2 ⋅ 5 2 = 2 ⋅ 2 ⋅ 5 ⋅ 5 N=2^2·5^2=2·2·5·5 N=22⋅52=2⋅2⋅5⋅5
i = 1 × 2 = 2 , 2 × 2 = 4 , . . . , 49 × 2 = 98. 1 × 5 = 5 , 2 × 5 = 10 , . . . , 19 × 5 = 95. i=\\ 1\times 2=2,\\ 2\times 2=4,\\ ...,\\ 49\times 2=98.\\ \\ 1\times 5=5,\\ 2\times 5=10,\\ ...,\\ 19\times 5=95. i=1×2=2,2×2=4,...,49×2=98.1×5=5,2×5=10,...,19×5=95.
在这些点中,有 9 9 9种重复的情况。因此得到结果为 49 + 19 − 9 + 1 = 60 49+19-9+1=60 49+19−9+1=60种。(还要加上 P 0 P_0 P0)
总结规律,发现实质上就是求 N N N所有的不与它互质且小于它自己的数。注意 N > 4 N>4 N>4,因为图里面没有二边形
那么对于每一个质数,显然 L ′ L' L′只能为 1 1 1。而质数有无限个,那么第三问得证。
对于第四问,显然这两个数互质,没有重复的点。
对于第五问,存在许多反例,其中一个就是 n = 5 n=5 n=5,此时的 N N N不是质数,则必定存在除 P 0 P_0 P0外的非单一点。
Non-Single Points
如下。
已知等边 Δ P 0 P 1 P 2 \Delta P_0P_1P_2 ΔP0P1P2,它的外接圆是 O O O,设 O O O的半径是 R R R。同时,设 Δ P 0 P 1 P 2 \Delta P_0P_1P_2 ΔP0P1P2所经过的所有点的集合是 S 0 S_0 S0。显然, S 0 S_0 S0中有无限个元素。
接下来,在 O O O上取点 P 3 , P 4 , P 5 P_3,P_4,P_5 P3,P4,P5,使得四边形 P 0 P 3 P 4 P 5 P_0P_3P_4P_5 P0P3P4P5是正四边形。记这个四边形经过的所有点的集合为 S 1 S_1 S1。
接下来,在 O O O上取点 P 6 , P 7 , P 8 , P 9 P_6,P_7,P_8,P_9 P6,P7,P8,P9,使得五边形 P 0 P 6 P 7 P 8 P 9 P_0P_6P_7P_8P_9 P0P6P7P8P9是正五边形。记这个五边形的点集为 S 2 S_2 S2。
中间省略 n − 2 n-2 n−2次操作。
最后,在 O O O上取点 δ 1 , δ 2 , δ 3 , . . . , δ n \delta_1,\delta_2,\delta_3,...,\delta_n δ1,δ2,δ3,...,δn,使得 n + 1 n+1 n+1边形 P 0 δ 1 δ 2 δ 3 . . . δ n P_0\delta_1\delta_2\delta_3...\delta_n P0δ1δ2δ3...δn是正 n + 1 n+1 n+1边形。
记所有 P 0 δ 1 δ 2 δ 3 . . . δ n P_0\delta_1\delta_2\delta_3...\delta_n P0δ1δ2δ3...δn上的非单一点的集合为 W ′ W' W′。
非单一点的定义是:
对于每一个点, S 0 , S 1 , . . . , S n − 1 S_0,S_1,...,S_{n-1} S0,S1,...,Sn−1中任意一个集合包含了它
设这个点的坐标是 x , y x,y x,y,则 x , y x,y x,y满足 x 2 + y 2 = R 2 x^2+y^2=R^2 x2+y2=R2
显然, P 0 P_0 P0是一个非单一点。
记 W ′ W' W′中元素的个数为 L ′ L' L′。
T T T组数据。
每一组数据只有一行,输入 n n n。
T T T行,按顺序输出每个样例的 L ′ L' L′。
1
9
6
对于 100 % 100\% 100%的数据,有 7 < n < 5 × 1 0 6 7
传送门
如下。
传送门
单独讨论 M M M边形的情况。
不妨设 M M M边形的 M M M个点分别为 P 0 , P 1 , . . . , P M − 1 P_0,P_1,...,P_{M-1} P0,P1,...,PM−1,且外接圆心为 O O O,半径为 R R R。
定义 ∠ P i O P 0 = θ i \angle P_iOP_0=\theta_i ∠PiOP0=θi,设 P 0 ( R , 0 ) P_0(R,0) P0(R,0)。
则有 θ i = 2 π i M \theta_i=\frac{2\pi i}{M} θi=M2πi。
那么我们可以求出
P i ( x i , y i ) P_i(x_i,y_i) Pi(xi,yi)
x i = R cos θ i , x_i=R\cos\theta_i, xi=Rcosθi,
y i = R sin θ i . y_i=R\sin\theta_i. yi=Rsinθi.
那么我们回到原题。
由于非单一点的第二个条件,我们得知它在圆 O O O上。
不妨设 N N N边形( N = n + 1 N=n+1 N=n+1)的第 i i i个点与 K K K边形的第 j j j个点重合。
那么我们有:
θ i = θ j + 2 k π \theta_i=\theta_j+2k\pi θi=θj+2kπ
2 π i N = 2 π j K + 2 k π , 1 ≤ j < K < N , i < N \frac{2\pi i}{N}=\frac{2\pi j}{K}+2k\pi,1\leq j
i N = j K + k \frac{i}{N}=\frac{j}{K}+k Ni=Kj+k
∵ 0 ≤ i N < 1 , 0 ≤ j K < 1 \because 0\leq\frac{i}{N}<1,0\leq\frac{j}{K}<1 ∵0≤Ni<1,0≤Kj<1
∴ k = 0 \therefore k=0 ∴k=0
∴ j N = i K , i = j N K \therefore jN=iK,i=j\frac{N}{K} ∴jN=iK,i=jKN
例如,当 n = 9 n=9 n=9时, N = n + 1 = 10 N=n+1=10 N=n+1=10,符合的结果有:
i = 0 , c h o o s e j = 0 i=0,choose\ j=0 i=0,choose j=0
i = 1 , N o W a y i=1,No\ Way i=1,No Way
i = 2 , c h o o s e j = 1 , K = 5 i=2,choose\ j=1,K=5 i=2,choose j=1,K=5
i = 3 , N o W a y i=3,No\ Way i=3,No Way
i = 4 , c h o o s e j = 2 , K = 5 i=4,choose\ j=2,K=5 i=4,choose j=2,K=5
i = 5 , c h o o s e j = 2 , K = 4 i=5,choose\ j=2,K=4 i=5,choose j=2,K=4
i = 6 , c h o o s e j = 3 , K = 5 i=6,choose\ j=3,K=5 i=6,choose j=3,K=5
i = 7 , N o W a y i=7,No\ Way i=7,No Way
i = 8 , c h o o s e j = 4 , K = 5 i=8,choose\ j=4,K=5 i=8,choose j=4,K=5
i = 9 , N o W a y i=9,No\ Way i=9,No Way
样例答案为 6 6 6。
假设 N = β 1 α 1 β 2 α 2 . . . β n α n , β i < β j w h e n i ≤ j , N=\beta_1^{\alpha_1}\beta_2^{\alpha_2}...\beta_n^{\alpha_n},\beta_i<\beta_j\ when\ i\leq j, N=β1α1β2α2...βnαn,βi<βj when i≤j,且 β i \beta_i βi为质数。
显然 i = p M i=pM i=pM,且 M = β i β j . . . M=\beta_i\beta_j... M=βiβj...( β i \beta_i βi可能与 β j , . . . \beta_j,... βj,...相等)
则有 j = p , K = N M j=p,K=\frac{N}{M} j=p,K=MN。
显然 K < N K
那么我们就能发现非单一点的数量 L ′ L' L′实质上是所有小于 N N N且不与 N N N互质的数字的数量再加一。
统计与 N N N互质的数字可以借助于欧拉函数。
介绍
AC代码:
#include
#include
using namespace std;
const int N = (int)5e6;
int a[N];
inline void read(int &x) { // 返回类型必须为void,否则竞赛中Linux测评会报错,Windows没事
x = 0;
short flag = 1;
char c = getchar();
while(c < '0' || c > '9'){
// 此处如果只用if的话容易在数据不规范时出错,特别是cin和read混用
if(c == '-')flag = -1;
c = getchar();
}
while(c >= '0' && c <= '9') {
x = (x << 3) + (x << 1) + (c ^ 48); // 48这个数字恰好往后10个数都可以使用位运算,可以写成二进制证明;位运算能用当然更好
c = getchar();
}
x *= flag;
}
/*
inline int read()
{
int X = 0, w = 0; char ch = 0;
while (!isdigit(ch)) { w |= ch == '-'; ch = getchar(); }
while (isdigit(ch)) X = (X << 3) + (X << 1) + (ch ^ 48), ch = getchar();
return w ? -X : X;
}
*/
inline void write(int x)
{
if (x < 0) putchar('-'), x = -x;
if (x > 9) write(x / 10);
putchar(x % 10 + '0');
}
void phi_table() //打表,求出1500000中所有的数的欧拉函数值
{
memset(a,0,sizeof(a));a[1]=1;
for(register int i=2;i<=N;++i)
if(!a[i])
{
for(register int j=i;j<=N;j+=i)
{
if(!a[j])a[j]=j;
a[j]=a[j]/i*(i-1);
}
}
}
int main(){
int T,n;
read(T);
phi_table();
while (T--) {
read(n);
write(n+1-a[n+1]);
putchar('\n');
}
return 0;
}