Loading

模拟26—「神炎皇·降雷皇·幻魔皇」

神炎皇

emmm,是个数学题,乱搞搞着搞着就会做了。

其实这种题不能怕费时间,无脑乱撞总能撞准。

首先看数据范围,\(1e14\),看起来像个根号的算法。

努力想平方,根号之类,无脑乱撞发现如果都除去\(\mathrm {gcd}\),然后乘上一个东西,就出现平方了。

具体看土哥博客。

\(tick:\)欧拉函数是\(k\)以内与\(k\)互质的数的个数,也是和为\(k\)的互质数对的个数。

降雷皇

线段树上记录最长前面的转移项和他有几个就行了,考试每加够取模油炸了。

幻魔皇

分类讨论\(\mathrm{Lca}\)是黑色还是白色就行了。
发现枚举深度会\(\mathrm{TLE}\)所以直接搞一个前缀和就行了。

code
#include <cstdio>
#include <cstring>
#include <algorithm>
#define int long long
#define R register int
#define printf Ruusupuu = printf
#define scanf Ruusupuu = scanf
#define freopen rsp_5u = freopen

int Ruusupuu ;
FILE * rsp_5u ;

using namespace std ;
typedef long long L ;
typedef double D ;
const int N = 1e4 + 10 ;
const int P = 123456789 ;

inline void of(){ freopen( "in.in" , "r" , stdin ) , freopen( "out.out" , "w" , stdout ) ; }
inline void cf(){ fclose( stdin ) , fclose( stdout ) ; } 
inline int read(){
	int w = 0 ; bool fg = 0 ; char ch = getchar() ;
	while( ch < '0' || ch > '9' ) fg |= ( ch == '-' ) , ch = getchar() ;
	while( ch >= '0' && ch <= '9' ) w = ( w << 1 ) + ( w << 3 ) + ( ch - '0' ) , ch = getchar() ;
	return fg ? -w : w ;
}

int n , fib [N] , ans [N] ;

void sc(){
	n = read() ;
}

void work(){
	fib [1] = fib [2] = 1 ;
	for( R i = 3 ; i <= n ; i ++ ) fib [i] = ( fib [i - 1] + fib [i - 2] ) % P ;
	for( R i = 2 ; i <= n ; i ++ )
		ans [i] = ( ans [i] + fib [i - 1] * fib [n - i] ) % P ;
	for( R i = 1 ; i < n ; i ++ ){ //黑儿子距离
		ans [i + 1] = ( ans [i + 1] + ( fib [i - 1] * ( fib [n - i + 1] - 1 + P ) % P ) % P ) % P ;
		for( R j = 3 ; j < n ; j ++ ) // 白儿子距离
			ans [i + j] = ( ans [i + j] + ( fib [i - 1] * fib [j - 2] ) % P * ( fib [n - max( i , j ) + 1] - 1 + P ) % P ) % P ;
	}
	
	for( R i = 1 ; i <= 2 * n ; i ++ ) printf( "%lld%c" , ans [i] % P , ( i == 2 * n ) ? '\n' : ' ' ) ;		
}

signed main(){
//	of() ;
	sc() ;
	work() ;
// 	cf() ;
	return 0 ;
}

考完试之后还是能自己推出来,其实感觉\(\mathrm{Fib}\)找规律的题不是太难,只要静下心推就行,你会发现你想要的东西都能表示成\(\mathrm{Fib}\)数列。

总结

1.\(\mathrm{T1}\)这种数学题要分配点时间,因为这种题只要能推出来能和暴力拉出来很多分。

2.\(\mathrm{T2}\)拍出来错误数据之后就很着急,本来距考试结束还有\(1.5\)小时,但是就是一直调没用的浪费掉了,没取模真的是毛病,克服秘籍就是看\(lzy\)盗版我的\(\mathrm{OI}\)宝典

posted @ 2021-07-28 20:55  Soresen  阅读(74)  评论(0)    收藏  举报