摘要: "洛谷" 这个题目是黑题,本来想打表的,但是表调不出来(我逊毙了)! 然后随便打了一个递推,凑出了样例, 竟然。 竟然。。 竟然。。。 A了!!!!!!! 直接:$f[i]=f[i 1] 2+f[i 2]~~~f[0]=0,f[1]=1$,恭喜你! code: cpp include using n 阅读全文
posted @ 2018-09-09 21:35 fuyan0101 阅读(415) 评论(8) 推荐(5) 编辑
摘要: "洛谷" 这题是旁边同学介绍的,听他说记忆化搜索可以过。。。 不过我还是老老实实的想$dp$吧~ 先看看数据范围,$n\leq10^{18}$相当于$n \leq fib[86]$。 以前打$cf$的时候做过一个题目,好像证明过任何数都可以用斐波那契数组成。 不过现在忘记证了。。。 但是刚好这个可以 阅读全文
posted @ 2018-09-08 15:25 fuyan0101 阅读(227) 评论(1) 推荐(4) 编辑
摘要: "洛谷" "巨" 说这是一道单调队列好题,但是我并不是用单调队列做的诶。 如果往最暴力的方向去想,肯定是$n^3$的$dp$了。 $f[i][j][k]$代表当前正方形的左上角定点是$(i,j)$,边长是$k$的正方形的最佳答案。 转移方程很简单,但是你一定会妥妥的$\texttt{TLE}$。 那 阅读全文
posted @ 2018-09-08 15:06 fuyan0101 阅读(143) 评论(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 阅读(131) 评论(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 阅读(166) 评论(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 阅读(143) 评论(0) 推荐(4) 编辑
摘要: 这题其实可以用vector水掉! 定义: 记住要用结构体(c为价格,x为美丽值)! 以c排序。 插入: upper_bound的作用是将当前节点插到合适位置,以达到排序效果。 记住不能插入同样价格的花。 所以用vis[]数组统计。 删除: 大节点就删除最后一个,记住要把vis[]清掉。 vector 阅读全文
posted @ 2018-09-07 09:51 fuyan0101 阅读(191) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 听说这题可以$n^2$水过去,不过这里介绍一种$O(n)$的做法。 $f[i]$为第$1~i$位合并的次数。 $pre[i]$为第$1~i$位最末尾的数。 $j$为满足$sum[i]−sum[j] =pre[j]$的最大数。 所以很好推出: $f[i]=f[j]+i−j−1~~~~~pre 阅读全文
posted @ 2018-09-07 09:48 fuyan0101 阅读(168) 评论(0) 推荐(4) 编辑
摘要: 最近在 "水郁" 大佬的博客园里学到了这个鼠标点击爱心效果。 想要弄的同学可以直接把下面这个复制粘贴到页首(尾)html。 或者直接在后台管理中上传文件。 在自己电脑上创建xxx.js的文件。并输入下面的代码。。。 html 粘贴到页首(尾)html处。然后就完成了。 有可能有一些延迟,但是爱心特效 阅读全文
posted @ 2018-09-06 15:21 fuyan0101 阅读(2697) 评论(0) 推荐(5) 编辑
摘要: "洛谷" 这大概是我真正意义上的第一道黑题吧! 自己想出了一个大概,状态转移方程打错了一点点,最后还是得看题解。 一句话题意:求出有多少个$n$位的数,满足各个位置上的数字从左到右不下降,且被$p$整除。 刚开始没有看到数位不下降这个条件,于是自信满满的喊了一句:“这是假黑题吧!” 后来发现了,想了 阅读全文
posted @ 2018-09-05 10:53 fuyan0101 阅读(243) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 这一题,乍一眼看上去只想到了最暴力的暴力——大概$n^4$吧。 仔细看看数据范围,发现$1 \leq m \leq 2$,这就好办了,分两类讨论。 我先打了$m=1$的情况,拿了30分。 就相当于最大$k$段子段和。 直接用$dp[i][j][0/1]$数组表示第$i$个选了$j$段的最大 阅读全文
posted @ 2018-09-04 20:37 fuyan0101 阅读(189) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 这题一看就是卡塔兰数。 因为$cnt[1] \leq cnt[0]$,很显然的卡塔兰嘛! 平时我们推导卡塔兰是用一个边长为n的正方形推的, 相当于从(0,0)点走到(n,n)点,向上走的步数不能超过向右走,求出的方案数就是卡塔兰数。 即总方案$ $不合法方案 $\frac{C_{2n}^{ 阅读全文
posted @ 2018-09-04 10:50 fuyan0101 阅读(118) 评论(1) 推荐(4) 编辑
摘要: "懒得复制,直接贴网页吧" "懒得复制,直接贴网页吧 2" "懒得复制,直接贴网页吧 3" 最近发现有个同学写了这么一篇博客, 阅读量挺高,就转载了一番。 原文在这 "Chank" 阅读全文
posted @ 2018-09-04 08:57 fuyan0101 阅读(183) 评论(3) 推荐(4) 编辑
摘要: "洛谷" 第一次找规律A了一道紫题,写篇博客纪念一下。 这题很明显是数位dp,但是身为蒟蒻我不会呀,于是就像分块打表水过去。 数据范围是$10^{12}$,我就$10^6$一百万一百万的打表。 于是我就发现了一些规律。 先献给大家一个打表程序吧~ 488895 600001 600000 60000 阅读全文
posted @ 2018-09-04 08:36 fuyan0101 阅读(348) 评论(0) 推荐(4) 编辑
摘要: "洛谷" 这题就是区间开根号,区间求和。我们可以分块做。 我们记布尔数组vis[i]表示第i块中元素是否全部为1。 因为显然当一个块中元素全部为1时,并不需要对它进行根号操作。 我们每个块暴力开根号,因为数字最大$2^{31}$,所以最多每个数字开几次根号,所以时间复杂度很低。 记录sum[i]表示 阅读全文
posted @ 2018-09-02 21:44 fuyan0101 阅读(342) 评论(0) 推荐(4) 编辑