摘要: "洛谷" 这题是旁边同学介绍的,听他说记忆化搜索可以过。。。 不过我还是老老实实的想$dp$吧~ 先看看数据范围,$n\leq10^{18}$相当于$n \leq fib[86]$。 以前打$cf$的时候做过一个题目,好像证明过任何数都可以用斐波那契数组成。 不过现在忘记证了。。。 但是刚好这个可以 阅读全文
posted @ 2018-09-08 15:25 fuyan0101 阅读(223) 评论(1) 推荐(4) 编辑
摘要: "洛谷" "巨" 说这是一道单调队列好题,但是我并不是用单调队列做的诶。 如果往最暴力的方向去想,肯定是$n^3$的$dp$了。 $f[i][j][k]$代表当前正方形的左上角定点是$(i,j)$,边长是$k$的正方形的最佳答案。 转移方程很简单,但是你一定会妥妥的$\texttt{TLE}$。 那 阅读全文
posted @ 2018-09-08 15:06 fuyan0101 阅读(138) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 我讲的应该没有这个[https://www.luogu.org/blog/user55639/solution p2467]清楚。 贴个代码算了: cpp include using namespace std; int n,p,f[2][5000]; int main() { cin n 阅读全文
posted @ 2018-09-08 14:53 fuyan0101 阅读(126) 评论(2) 推荐(4) 编辑
摘要: "洛谷" 不知道大家做没做过 "传球游戏" ,这一题和传球游戏的转移方程几乎一样。 令$A$为$1$点,$E$为$5$点,那么$f[i][j]$代表第i步走到j的方案数。 $$f[i][j]=f[i−1][j+1]+f[i−1][j−1]$$ 因为题中给的是一个环,所以有几种情况。 $$if(j== 阅读全文
posted @ 2018-09-08 08:08 fuyan0101 阅读(158) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 这道题只要知道这个公式就可以秒切了。$$gcd(f[n],f[m])=f[gcd(n,m)]$$ 具体怎么做呢? 看到数据范围,$10^9$,所以要用矩阵快速幂。 直接先求$gcd(n,m)$,令其等于$t$,然后在用矩阵就出$f[t]$。 矩阵应该不用讲吧,直接给出来。 $$\begin 阅读全文
posted @ 2018-09-08 07:54 fuyan0101 阅读(140) 评论(0) 推荐(4) 编辑