[题目描述] 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 (n>1),F…
首先有序整数拆分有个显然的递推式是g(n)=Σg(i) (i=0~n-1),即枚举加入最后一个数之前和是多少.(虽然不用递推式也能显然地知道答案是2n-1). 类似地,lqp拆分有递推式f(n)=Σf(i)fib(n-i) (i=0~n-1).由乘法分配律就可以推出.特别地,f(0)=1. 又是一个卷积.是不是可以直接算了?啊要分治FFTn有1e6而且还不是NTT模数……肯定跑不过去啊.于是考虑生成函数. 设其生成函数为F(x),斐波拉契数列的生成函数为FIB(x).则F(x)=F(x)·FIB…
传送门 题意简述:语文不好不会写,自己看吧 思路如此精妙,代码如此简洁,实是锻炼思维水经验之好题 这种题当然是一眼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…
2173: 整数的lqp拆分 Description lqp在为出题而烦恼,他完全没有头绪,好烦啊- 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 ,a2 ,a3-am>0,且a1+a2+a3+-+am=N的一个有序集合.通过长时间的研究我们发现了计算对于N的整数拆分的总数有一个很简单的递推式,但是因为这个递推式实在太简单了,如果出这样的题目,大家会对比赛毫无兴趣的.然后lqp又想到了斐波那契数.定义F0=0,F1=1,Fn=F…
靠着暴力+直觉搞出递推式 f(n) = ∑F(i)f(n-i) (1≤i≤n) (直接想大概也不会很复杂吧...). f(0)=0 感受一下这个递推式...因为和斐波那契有关..我们算一下f(n)+f(n+1)... f(n)+f(n+1) = F(1)f(n-1)+F(2)f(n-2)+…+F(n)f(0) + F(1)f(n)+F(2)f(n-1)+…+F(n+1)f(0) = (F(0)+F(1))f(n)+(F(1)+F(2))f(n-1)+……+(F(n)+F(n+1))f(0) =…
整数的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 (…
题目大意 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 (n>1),Fn就…
我们的目标是求$\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}^{…
比较水的一题.居然是一道没看题解就会做的黑题…… 题目链接:洛谷 题目大意:定义一个长度为 $m$ 的正整数序列 $a$ 的价值为 $\prod f_{a_i}$.($f$ 是斐波那契数)对于每一个 $\sum a_i=n$ 的正整数序列,求出它们的价值之和. $1\le n\le 10^6$. 这题一看就是生成函数瞎搞. 令 $F$ 为 $f$ 的生成函数. 那么有 $F=x\times F+x^2\times F+x$. 就有 $F=\dfrac{x}{1-x-x^2}$. 答案即为 $\s…
题面 传送门 题解 我对生成函数一无所知 我们设\(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…
正题 题目链接:https://www.luogu.com.cn/problem/P4451 题目大意 给出\(n\),对于所有满足\(\sum_{i=1}^ma_i=n\)且\(\forall a_i\in N^+\)的序列求 \[\sum_{m=1}^{\infty}\prod_{i=1}^mFbi_{a_i} \] 其中\(Fbi_x\)表示第\(x\)个斐波那契数 \(1\leq n\leq 10^{10^4}\) 解题思路 因为刚学特征方程所以推的都会写下来,比较冗长 首先考虑斐波那契…
题目链接:洛谷 题目大意:求对于所有$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]$$ $$=…
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2173 题意:给出输出n.设一种拆分为n=x1+x2+x3,那么这种拆分的价值为F(x1)*F(x2)*F(x3),F为斐波那契额数列.求所有拆分的价值之和. 思路: i64 G[N]; void init(){    G[0]=0; G[1]=1;    int i;    for(i=2;i<N;i++) G[i]=(G[i-1]*2+G[i-2])%mod;} int n; int…
洛谷 这个题目是黑题,本来想打表的,但是表调不出来(我逊毙了)! 然后随便打了一个递推,凑出了样例, 竟然. 竟然.. 竟然... 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)…
#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…
题解: 考场上靠打表找规律切的题,不过严谨的数学推导才是本题精妙所在:求:$\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…
\(\mathcal{Description}\)   Link.   求 \[\sum_{m>0\\a_{1..m}>0\\a_1+\cdots+a_m=n}\prod_{i=1}^mf_{a_i} \]   其中 \(f_i\) 为 Fibonacci 数列第 \(i\) 项(\(f_0=0,f_1=1\)),答案对 \(10^9+7\) 取模.   \(n\le10^{10^4}\). \(\mathcal{Solution}\)   记 \(F(x)\) 为 \(\{f\}\) 的 O…
整数的有序拆分就是隔板法,无序拆分则有两种处理方法 DP递推 我们假设P(n,m)P(n,m)P(n,m)是正整数nnn无序拆分为mmm个正整数的方案数 对于某一种拆分,不妨将拆分出来的mmm个数从小到大排序,分类讨论 最小的数等于111,那么去掉这个111,相当于把剩下的n−1n-1n−1拆分成m−1m-1m−1个数,方案数就为P(n−1,m−1)P(n-1,m-1)P(n−1,m−1) 最下的数大于111,那么将所有的数减去111,相当于把剩下的n−mn-mn−m拆分成mmm个数,方案数就为…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
本篇博客按照题号排序(带*为推荐题目) 1008 [HNOI2008]越狱 很经典的题了..龟速乘,龟速幂裸题,, 1010 [HNOI2008]玩具装箱toy* 斜率优化 基本算是裸题. 1012 最大数 单调队列/单调栈 随便搞一搞就好 (水题...) 1045 糖果传递(双倍经验请做 3293 分金币) 贪心+中位数  排序后搞一搞可过..(水题...) 1051 受欢迎的牛* tarjan (提高T1+ -- T2难度) 1106: [POI2007]立方体大作战tet* 树状数组+贪心…
一.问题背景  整数拆分,指把一个整数分解成若干个整数的和 如 3=2+1=1+1+1  共2种拆分 我们认为2+1与1+2为同一种拆分 二.定义 在整数n的拆分中,最大的拆分数为m,我们记它的方案数为 f(n,m) 即 n=x1+x2+······+xk-1+xk ,任意 x≤m 在此我们采用递归递推法 三.递推关系 1.n=1或m=1时   拆分方案仅为 n=1 或 n=1+1+1+······ f(n,m)=1 2.n=m时 S1选取m时,f(n,m)=1,即n=m S2不选取m时,f(n…
数学什么的....简直是丧心病狂啊好不好 引入:Q1:前n个数中最多能取几个,使得没有一个数是另一个的倍数   答案:(n/2)上取整 p.s.取后n/2个就好了 Q2:在Q1条件下,和最小为多少 答案:从n/2向前枚举,对于每个数,倍增考虑后面选的数有多少个是它的倍数,如果只有一个,就用当前数替换后面的那个 (复杂度:nloglogn) 正文: 一.gcd与exgcd gcd(a,b)=gcd(b%a,a)  exgcd:已知Ax≡B (%C) 则Ax+By=C int g=gcd(A,B,C…
HDU-4655 Cut Pieces 题意:有N个格子能够被涂色,每个格子能够涂1-ai 种颜色,当N=6,涂色方案:112233 认为方案中共有3个颜色块:涂色方案:121212 认为方案中共有6个颜色块.所谓颜色块也就是整个涂色方案中相同连续的颜色被视作为一个颜色块.问如何安排 ai 的排列使得所有方案颜色块之和最大. 分析:从反面求解,首先能够产生的方案数一共有a1*a2*a3*...*an种,每种方案在没有相邻颜色认为为同一颜色块的情况下,颜色块的数量均为n.那么如何减掉重复计算的.可…
断断续续的学习数论已经有一段时间了,学得也很杂,现在进行一些简单的回顾和总结. 学过的东西不能忘啊... 1.本原勾股数: 概念:一个三元组(a,b,c),其中a,b,c没有公因数而且满足:a^2+b^2=c^2 首先,这种本原勾股数的个数是无限的,而且构造的条件满足: a=s*t,b=(s^2-t^2)/2,c=(s^2+t^2)/2 其中s>t>=1是任意没有公因数的奇数! 由以上概念就可以导出任意一个本原勾股数组. 2.素数计数(素数定理) 令π(x)为1到x中素数的个数 19世纪最高的…
[SinGuLaRiTy-1005] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved . 加法原理 设事件A有m种产生方式,事件B有n种产生方式,则事件A或B之一有m+n种产生方式.集合论语言:若 |A| = m , |B| = n , A∩B =  Φ, 则 |AUB| = m + n . <例> (1)某班选修企业管理的有 18 人,不选的有 10 人,则该班共有 18 + 10 = 28 人. (2)北京每天直达上海的客车有 5 次…
 介绍一种解决最近公共祖先的在线算法,倍增,它是建立在任意整数的二进制拆分之上.   代码:   //LCA:Doubly #include<cstdio> #define swap(a,b) a^=b^=a^=b #define maxn 500010 using namespace std; ]; struct node { int nxt,to; }edge[maxn<<]; int read() { ,f=; char c=getchar(); ||c>) f=c==…
MySQL的数据类型 MySQL数据库支持的数据类型主要有以下几种: 整型 浮点型 字符 BLOB型 枚举和集合类型 JSON类型(MySQL5.7新增加的支持) 整型 整数类型是数据库中最基本的数据类型.标准SQL中支持INTEGER和SMALLINT这两类整数类型.MySQL数据库除了支持这两种类型之外,还扩展支持了TINYINT, MEDIUMINT和BIGINT. MySQL中各种整型占据的字节数和取值范文如下: 整数类型 字节数 无符号数取值范围 有符号数取值范围(添加一位符号为,把无…
Problem 1752 A^B mod C Accept: 579    Submit: 2598Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,B,C<2^63). Input There are multiply testcases. Each testc…
本题应该有两种方法: 1.母函数法 2.递推法 母函数不了解,待充分了解之后,再进行补充! 这里为递推实现的方法: 思路: 定义:n为要拆分的整数: k为拆分的项数: f[n][k]代表 n的整数拆分中,最大项不超过k的方案数. 每一个整数n的拆分中,总有一项拆分为自己,即:n = n; 我们将其表示为f[n][1],而且f[n][1] = 1; 又,每一个整数n的拆分中,总有一项拆分为n个1,即:n = 1 + 1 + ...... + 1(n个1的加和); 我们将其表示为f[0][0],且f…
题意: 计算一个整数最多可以拆分为多少个合数(要求拆分的全是合数).例如:12的拆分法案是12=4+4+4. 合数是指除了1之外的非素数(正整数). 思路: 偶数的话用4.6就可以满足,奇数的话减去一个9就成偶数了. #include <bits/stdc++.h> using namespace std; map<int, int >M; ; int a[N]; int main() { int t, n; cin>>t; while(t--) { ; scanf(&…