洛谷 这个题目是黑题,本来想打表的,但是表调不出来(我逊毙了)! 然后随便打了一个递推,凑出了样例, 竟然. 竟然.. 竟然... A了!!!!!!! 直接:\(f[i]=f[i-1]*2+f[i-2]~~~f[0]=0,f[1]=1\),恭喜你! code: #include <bits/stdc++.h> using namespace std; typedef long long ll; ll a[86]={0,1,2},n,ans,q[800]; /*void search(ll x)…
传送门 题意简述:语文不好不会写,自己看吧 思路如此精妙,代码如此简洁,实是锻炼思维水经验之好题 这种题当然是一眼DP啦. 设\(dp_n\)为把\(n\)拆分后的答案.为了方便我们设\(dp_0=1\) 由题意有 \[ dp_n=[n=0]+\sum_{i=1}^n dp_{n-i}f_i \] 按照套路,我们考虑它的生成函数\(A(x)\) \[ \begin{align*} A(x)&=\sum_n ([n=0]+\sum_{i=1}^n f_i dp_{n-i})x^n\\ &=1…
题面 传送门 题解 我对生成函数一无所知 我们设\(F(x)\)为斐波那契数列的生成函数,\(G(x)\)为答案的生成函数,那么容易得到递推关系 \[g_n=\sum_{i=0}^{n-1}f_ig_{n-i}+f_n\] 其中\(g_0=0,g_1=1\) 那么写成生成函数的形式就是 \[G=FG+F\] \[G={F\over 1-F}\] 我们考虑一下\(F\),因为 \[F(x)=\sum_{i=1}^\infty f_ix^i\] \[xF(x)=\sum_{i=2}^\infty f…
整数的lqp拆分 [问题描述] lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 ,a2 ,a3…am>0,且a1+a2+a3+…+am=N的一个有序集合.通过长时间的研究我们发现了计算对于N的整数拆分的总数有一个很简单的递推式,但是因为这个递推式实在太简单了,如果出这样的题目,大家会对比赛毫无兴趣的. 然后lqp又想到了斐波那契数.定义F0=0,F1=1,Fn=Fn-1+Fn-2 (…
#include <bits/stdc++.h> using namespace std; typedef long long LL; inline LL read () { LL res = ;) ;char ch = getchar (); ;ch = getchar();} ) + (res << ) + (ch ^ ) ,ch = getchar(); return res * f ; } LL n; LL a[<<]; signed main () { n=r…
题目链接:洛谷 题目大意:求对于所有$n$的拆分$a_i$,使得$\sum_{i=1}^ma_i=n$,$\prod_{i=1}^mf_{a_i}$之和.其中$f_i$为斐波那契数列的第$i$项. 数据范围:$n\leq 10^6$ 首先不要被这个[国家集训队]给吓到了,其实很简单的. 首先考虑打表,....(逃 显然一眼就能想到卷积,设$F(x)$为$f$的生成函数.则 $$F(x)=\frac{x}{1-x-x^2}$$ $$Ans=\sum_{i=0}^nF^i(x)[x^n]$$ $$=…
我们的目标是求$\sum\prod_{i=1}^m F_{a_i}$ 设$f(i) = \sum\prod_{j=1}^i F_{a_j}$那么$f(i - 1) = \sum\prod_{j=1}^{i - 1} F_{a_j}$又有递推式$f(i) = \sum_{j = 1}^{i - 1}f(j) * F_{a_i - j}$ 那么推吧$$f(i) - f(i - 1)$$$$=\sum_{j = 1}^{i - 1}f(j) * F_{a_i - j} - \sum_{j = 1}^{…
题解: 考场上靠打表找规律切的题,不过严谨的数学推导才是本题精妙所在:求:$\sum\prod_{i=1}^{m}F_{a{i}}$ 设 $f(i)$ 为 $N=i$ 时的答案,$F_{i}$ 为斐波那契数列第 $i$ 项.由于 $a$ 序列是有序的,要求的答案可以表示成:$f(i)=\sum_{j=1}^{i}f(j)*F_{i-j}$由于斐波那契数列第 0 项是 0,显然可以表示成:$f(i)=\sum_{j=1}^{i-1}f(j)*F_{i-j}$考虑一下 $f(i+1)$ 和 $f(i…
洛谷P2634 [国家集训队]聪聪可可 静态点分治 一开始还以为要把分治树建出来……• 树的结构不发生改变,点权边权都不变,那么我们利用刚刚的思路,有两种具体的分治方法.• A:朴素做法,直接找重心,处理过重心的所有路径.然而,路径端点在同一子树(即路径实际上并不过重心)的情况会发生重复计数,需要使用类似容斥的方法,不断删去重复计数的部分.• B:采用类似树形背包的思路,遍历子树时,只考虑当前子树和先前处理完的多颗子树之间的路径,以保证路径端点在不同的子树中,防止重复计数,不需要麻烦的容斥.在一…
洛谷题目链接:[国家集训队]矩阵乘法 题目背景 原 <补丁VS错误>请前往P2761 题目描述 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. 输入输出格式 输入格式: 第一行两个数N,Q,表示矩阵大小和询问组数: 接下来N行N列一共N*N个数,表示这个矩阵: 再接下来Q行每行5个数描述一个询问:x1,y1,x2,y2,k表示找到以(x1,y1)为左上角.以(x2,y2)为右下角的子矩形中的第K小数. 输出格式: 对于每组询问输出第K小的数. 输入输出样例 输入样例#…