请求加强数据
查看原帖
请求加强数据
281668
FOX_konata楼主2021/10/28 12:18

rt,感觉这题数据有点水

一开始我求phi函数写假了,如下:

#define For( i , j , k ) for( ll i = ( j ) ; i <= ( k ) ; ++ i )
ll prime[ maxn ] , cnt_prime , phi[ maxn ];
bool isprime[ maxn ];
inline void Prime( ll x ){
	memset( isprime , true , sizeof( isprime ) );
	isprime[ 0 ] = isprime[ 1 ] = false;
	cnt_prime = 0;
	For( i , 2 , x ){
		if( isprime[ i ] ){
			prime[ ++ cnt_prime ] = i;
			phi[ i ] = i - 1;
		}
		For( j , 1 , cnt_prime ){
			ll xx = i * prime[ j ];
			if( xx > x ) break;
			//这里漏写了个isprime[ xx ] = false; 
			if( i % prime[ j ] == 0 ){
				phi[ xx ] = phi[ i ] * phi[ j ];
				//此处应该为phi[ xx ] = phi[ i ] * prime[ j ];
				break;
			}
			phi[ xx ] = phi[ i ] * ( phi[ j ] - 1 );
			//此处应该为phi[ xx ] = phi[ i ] * ( prime[ j ] - 1 ); 
		}
	}
	return ;
}

但还是始终re/wa一个点,得91分。

请求加强数据。

2021/10/28 12:18
加载中...