[CF126D]Fibonacci Sums/[BJOI2012]最多的方案 题目大意: 将\(n(n\le10^9)\)表示成若干个不同斐波那契数之和的形式,求方案数. 思路: 如果不考虑\(0\),则\(10^9\)以内的斐波那契数只有86个. 首先求出字典序最大的方案,考虑分裂里面的数. 用\(c_i\)表示字典序最大方案在斐波那契数列中的下标(递增),\(f_{i,j}\)表示考虑到第\(i\)个数,本身是否分裂的方案数. 转移方程为: \[ f_{i,0}=f_{i-1,0}+f_{i…
BJOI2012 最多的方案 Description ​ 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的和的形式.如果我们要求不同的方案中不能有相同的斐波那契数,那么对一个N最多可以写出多少种方案呢? Input ​ 只有一个整数N. Output ​ 一个方案数 Sample Input ​ 16 Sample Output ​ 4 HINT Hint…
第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的和的形式.如果我们要求不同的方案中不能有相同的斐波那契数,那么对一个N最多可以写出多少种方案呢? 题意是说数列中不能出现相同的数. 显然要记忆化搜索. 直接搜会T,我们枚举下一个数填什么是要从大到小枚举,可以使效率有指数级的提升. 这是枚举上界,枚举下界可以用前缀和+二分来优化枚举复杂度. 加了这两个优化后代…
题目描述 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的和的形式.如果我们要求不同的方案中不能有相同的斐波那契数,那么对一个N最多可以写出多少种方案呢? 输入输出格式 输入格式: 只有一个整数N. 输出格式: 一个方案数 输入输出样例 输入样例#1: 复制 16 输出样例#1: 复制 4 说明 Hint:16=3+13=3+5+8=1+2+13=1+2+…
题目链接 首先我们知道: 也很好理解.如果相邻两项出现在斐波那契表示法中,那它们显然可以合并. 所以我们能得到\(n\)的斐波那契表示,记\(pos[i]\)为\(n\)的斐波那契表示法中,第\(i\)项在原斐波那契的下标,那么:\(n=\sum_{i=1}^{cnt}F[pos[i]]\). 如果方案中不直接存在\(F[pos[i]]\)(把\(F[pos[i]]\)分解),那它只能由\(<pos[i]\)的项构成.于是我们考虑递推. \(f[i][1/0]\)表示当前考虑到\(pos[i]\…
洛谷 这题是旁边同学介绍的,听他说记忆化搜索可以过... 不过我还是老老实实的想\(dp\)吧- 先看看数据范围,\(n\leq10^{18}\)相当于\(n \leq fib[86]\). 以前打\(cf\)的时候做过一个题目,好像证明过任何数都可以用斐波那契数组成. 不过现在忘记证了... 但是刚好这个可以派上用场,先假设\(p[i]\)代表组成\(n\)的第\(i\)个斐波那契数的位置. 另外,还有一个性质我们也需要分析出来. 因为\(fib[i]=fib[i-1]+fib[i-2]\),…
题意 题目链接 求出把$n$分解为斐波那契数的方案数,方案两两不同的定义是分解出来的数不完全相同 Sol 这种题,直接爆搜啊... 打表后不难发现$<=1e18$的fib数只有88个 最先想到的应该是直接把$n$加入到搜索状态里,然后枚举能被分成哪些 但是这样分解出来的数可能会有重复的,因此我们还要把当前考虑到第几个数也加入到状态里. 不难得到以下代码 但是很显然会T飞. 优化一下,只考虑当前的fib数对答案的贡献, 也就是搜两种情况: 1.用该数分解 2.不用该数分解 代码是这样的 然而还是会…
题目链接 bzoj2660: [Beijing wc2012]最多的方案 题解 对于一个数的斐波那契数列分解,他的最少项分解是唯一的 我们在拆分成的相临两项之间分解后者,这样形成的方案是最优且不重的 我们可以把它的分解某一项拆分 设dp[i][1/0]表示 对于最少拆分成的第i项斐波那切数拆不拆 在上一项j与这一项i的斐波那契数之间拆i项共有(i-j)/2种拆分方法, 转移方程就有了 代码 /* 对于一个数的斐波那契数列分解,他的最少项分解是唯一的 我们在拆分成的相临两项之间分解后者,这样形成的…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2660 当然可以看出  选了第 i 个斐波那契数<=>选了第 i - 1 和第 i - 2 个斐波那契数: 还有一个关键是:题目给出的这个数能表示成几个斐波那契数的和<=>该数可以被用斐波那契数分解. 如果把选不选每一个斐波那契数用二进制表示的话,首先要尽量使最高位最大,才能算出最多的方案. 把第一次分解的那些斐波那契数的位置记录下来,用dp表示这些数选不选. 若选这个数,则上…
题目链接:http://codeforces.com/contest/126/problem/D 题意:一个数能够有多种由互不同样的斐波那契数组成的情况: 解法:dp,easy证明:每一个数通过贪心能够找到一种最少数量的斐波那契数组成方案.然后找到有多少种取代的方案:dp[i][0]表示前i个里面第i个数不动的方案数.dp[i][1]表示前i个里面第i个数下放的方案数.由于下放最多下放到已经有了的数,并且下放过程中,i下放.那么i-1就会固定无法下放,最多仅仅能继续下放i-2.直到下放到已经存在…
                   Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 617  Solved: 361[Submit][Status][Discuss] Description 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的和的形式.如果我们要求不同的方案中不能有相同的斐波那契数,那么对一个…
Description 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的和的形式.如果我们要求不同的方案中不能有相同的斐波那契数,那么对一个N最多可以写出多少种方案呢? Input 只有一个整数N. Output 一个方案数 Sample Input 16 Sample Output 4 HINT Hint:16=3+13=3+5+8=1+2+13=1+2…
先考虑一个斐波那契数能分成其他斐波那契数的方案,假如f[i]表示第i个斐波那契数,那么只要对他进行拆分,f[i-1]这个数字必定会存在.知道这一点就可以进行递推了.先将数字分成最少项的斐波那契数之和,s[i]表示第i项的数字对应的斐波那契数编号,F[i]表示对不第i项进行拆分,G[i]表示对第i项进行拆分,g[i]表示对编号为i的斐波那契数拆分的话,有多少种方案.那么可以得到递推式: F[i]=F[i-1]+G[i-1]; G[i]=F[i-1]*(g[s[i]-s[i-1]])+G[i-1]*…
http://www.lydsy.com/JudgeOnline/problem.php?id=2660 很容易想到是先把n表示成最大的两个斐波那契数相加,然后再拆分这两个斐波那契数 把数表示成斐波那契进制的形式,第i位表示有没有第i个斐波那契数 比如16=13+3     001001 那么拆分一个数就是把一个1变成0,左边的两个0变成1 前面的1不影响后面 后面1拆出的两个1不能拆到前面1的前面 所以b[i] 表示n的第i个1是第几项斐波那契数 所以dp[i][0/1] 表示b中的i所在位(…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq574857122/article/details/34120269 题目链接:点击打开链接 题意: 给定一个数n 问把这个数拆成多个不同样的fibonacci数 有多少种拆法 #include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> #include<mat…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2660 首先,多种方案的出现是因为一个较大的斐波那契数可以变成两个较小的: 用一个01串来表示这个数的斐波那契数情况,1表示有这个斐波那契数,0表示没有: 所以首先尽量把这个数往大的斐波那契数来分,作为DP的初始状态: 记录一个数组p,表示每个斐波那契数在这个01串里的位置: 考虑对于一个数选或不选:若选则没有什么影响,把之前的状态加起来即可: 若不选,则考虑它往前拆,还需看看前一个斐波那契…
有点神奇的dp 首先注意到任意一个数都能被表示成若干个斐波那契数的和的形式 先求出n可以字典序最大的表示 设f[i][0/1]表示第i个斐波那契数选或者不选 如果当前数不选,那就选比他小的两个数,否则,需要不选比他小的两个数(连续的影响) #include<iostream> #include<cstdio> using namespace std; const int N=105; long long n,a[N],s[N],top,f[N][2]; int main() { s…
新浪微博当你弹出一个视频的时候再点下一页时,原视频还在,而且地址栏的url的页数变了.对于这种网上讨论最多的方案有以下几种: 一.通过锚点Hash实现在这方面其实国内很早就有做了,比如淘宝画报,通过的是在地址栏后面加#锚点实现的,浏览器是可以识别锚点为单位的历史记录的.但不 是说页面本身有这个锚点,锚点的Hash只是起到一个引导浏览器将这次的记录推入历史记录栈顶的作用. 二.通过HTML5加强型的History对象实现(类Pjax)可以通过window.history.pushState这个方法…
“叮咚,叮咚……”,微信提示音一声接一声,声音是那么的频繁,有妖气,待俺去看一看. 这天刚吃完午饭,打开微信,发现我们的技术讨论组里有 100 多条未读消息,心想,是不是系统出问题了?怎么消息那么频繁? 于是迅速的爬楼,历时 1 秒 23,爬到楼顶,虚惊一场.了解消息的来龙去脉,大体意思:下午两点,研发一组在第二会议室开会,会议主题是:开发一个适合多个业务场景的分布式 ID 生成器. 到了两点,我们都来到第二会议室,开始了激烈讨论. 可能你们都知道,ID 是某个体系中唯一的编码,用来标识事务,比…
JavaScript中实现继承的6种方案 01-原型链的继承方案 function Person(){ this.name="czx"; } function Student(){} var p1=new Person(); Student.prototype=p1; var student1=new Student(); console.log(student1); // Person{} console.log(student1.name); // czx 这是最简单的一种方案,同…
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…
今天给大家献上"C"级题:50095106扔核弹(XDC,你懂的)!! 试题编号:0304   50095106扔核弹(XDC,你懂的) 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 21xx年,ussr与us爆发了战争,us想将ussr肢解,于是毫不犹豫的准备使用战略核导弹.你现在正是战略打击部队的司令官,你收到了一幅由卫星发送的加密图片(n*m大小),在这张图片中"."代表空地,"…
  这遍文章转过来做个笔记,时不时看看. 转:http://blog.csdn.net/nethibernate/article/details/6658855 Exception如下: org.hibernate.util.JDBCExceptionReporter - SQL Error:0, SQLState: 08S01 org.hibernate.util.JDBCExceptionReporter - The last packet successfully received fro…
最近的项目中遇到了需求,用户在页面点击下载,将页面以PDF格式下载完成供用户浏览,所以上网找了下实现方案. 在Java世界,要想生成PDF,方案不少,所以简单做一个小结吧. 在此之前,先来勾画一下我心中比较理想的一个解决方案.在企业应用中,碰到的比较多的PDF的需求,可能是针对某个比较典型的具备文档特性的内容,导出成为PDF进行存档.由于我们现在往往使用一些开源框架,诸如ssh来构建我们的应用,所以我们相对熟悉的方案是针对具体的业务逻辑设计实体,使用开源框架来实现我们的业务逻辑.而PDF的导出,…
素数对个数 题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5.6和13,它们能应用于通信加密.现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5.6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳方案”,当然密码学会希望你寻找出“最佳方案”. 输入: 有一个正偶数N(N≤100),表示待挑选的自…
javascript跨域请求解决方案 前言 对于很多前端或者做混合开发的同学,我们难免会遇到跨域发起请求业务,比如A站点向B站点请求数据等等.由于最近要做一个站点集群的项目,所以具体业务要求很多个站点之间的消息推送,所以难免要做跨域请求. 这两天我在度娘上面用 "javascript php 跨域 ajax"等关键字找了好几遍,发现真的没有一篇博客写出一个具体的解决方案(ps.最多的方案基本都是选择jsonp,我相信get满足不了大家的吧?),所以我觉得总结一下我自己遇到的坑(其实是自…
碰到这个异常的原因很偶然: 现象:Solution在ReBuild过程中断电了,来电恢复了,重析编译整个Solution不报错,但在浏览页面时始终无法正常浏览,而在design的视图中,每个aspx的首行代码都报错. 解决过程: 搜索找到很多国内的方案,有的建议重新引用AjaxControlToolkit.dll,还有就是清除asp.net的缓存文件,但都没有看到想要的效果,最后在一个国外MSDN的贴子(http://social.msdn.microsoft.com/Forums/en-US/…
2244: [SDOI2011]拦截导弹 Time Limit: 30 Sec  Memory Limit: 512 MBSec  Special JudgeSubmit: 237  Solved: 103[Submit][Status][Discuss] Description 某 国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度.并且能够拦截任意速度的导 弹,但是以后每一发炮弹都不能高于前一发的高度,其拦截的导弹的飞行速度…
牛顿迭代法求平方: (define (sqrt-iter guess x) (if (good-enough? guess x) guess (sqrt-iter (improve guess x) x) ) ) (define (improve guess x) (average guess (/ x guess))) (define (average x y) (/ (+ x y) )) (define (square x) (* x x)) (define (good-enough? gu…
碰到这个异常的原因很偶然: 现象:Solution在ReBuild过程中断电了,来电恢复了,重析编译整个Solution不报错,但在浏览页面时始终无法正常浏览,而在design的视图中,每个aspx的首行代码都报错. 解决过程: 搜索找到很多国内的方案,有的建议重新引用AjaxControlToolkit.dll,还有就是清除asp.net的缓存文件,但都没有看到想要的效果,最后在一个国外MSDN的贴子(http://social.msdn.microsoft.com/Forums/en-US/…