NOIP2018 填数游戏 (加强版)题解

洛谷链接(官方数据版)
XSY链接(加强版)
这题考场上只有50分,后来找到了规律,可以 O ( l o g ( n ) ∗ O(log(n)* O(log(n)巨大常数 ) ) )求解,能过 n , m ≤ 1 0 18 n,m\leq 10^{18} n,m1018的数据。(巨大常数是因为多次快速幂+取模)

题意不多说,打表可得几个结论:(记n行m列的答案为 f n , m f_{n,m} fn,m
1. f n , m = f m , n f_{n,m}=f{m,n} fn,m=fm,n
2. f n , m = { 2 m , n = 1 4 ∗ 3 m − 1 , n = 2 112 ∗ 3 m − 3 , n = 3 f n , n + 1 ∗ 3 m − n − 1 , 4 ≤ n ≤ m − 1 f_{n,m}=\begin{cases} & 2^m,n=1\\ & 4*3^{m-1},n=2\\ & 112*3^{m-3},n=3 \\ & f_{n,n+1}*3^{m-n-1},4\leq n\leq m-1 \end{cases} fn,m=2m,n=143m1,n=21123m3,n=3fn,n+13mn1,4nm1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值