2017.10.22 最多的方案 失败总结
来源:互联网 发布:mac系统还原到旧版本 编辑:程序博客网 时间:2024/05/29 02:48
老想着数表结合的方法,,结果就是找不到规律。
这个题看起来好像是一个函数就可以做,但其实不是的,斐波那契函数有很好的形势:f【i】=f【i-1】+f【i-2】,
他可以看成两个点转移到一个点,也可以看成一个点拆成两个点,,
所以就按照拆分dp就可以了
注意:相邻的两个有两种情况,一种是两个的拆分互不相关的,一种是右边的多出一个1,需要左边的拆分,需要判断一下可行性
f【位数】【是否越界一个1】
码:
#include<iostream>#include<cstdio>using namespace std;#define ll long longll o,f[999],i,ff[99][2],wz[99],tot;int main(){f[0]=1;f[1]=1;for(i=2;i<=91;i++)f[i]=f[i-1]+f[i-2];scanf("%lld",&o);for(i=91;i>=1;i--){if(o>=f[i]){wz[++tot]=i;//cout<<i<<" "<<f[i]<<endl;o-=f[i];}}wz[++tot]=0;ff[0][0]=1;ff[0][1]=0;for(i=1;i<tot;i++){//ff[i][0]为不拆最后一个//ff[i][1]为拆最后一个 ff[i][0]=ff[i-1][0]*((wz[i]-wz[i+1]-1)/2+1)+ff[i-1][1]*((wz[i]-wz[i+1]-1)/2); //继承 if((wz[i]-wz[i+1]-1)%2)ff[i][1]=ff[i-1][1]+ff[i-1][0];}printf("%lld",ff[tot-1][0]);}
阅读全文
0 0
- 2017.10.22 最多的方案 失败总结
- 【BeiJing2012】【BZOJ2660】最多的方案
- [Beijing wc2012]最多的方案
- 失败的方案
- 【bzoj2660】【beijing wc2012】【最多的方案】【dp】
- bzoj 2660 最多的方案 | dp
- BZOJ2660/Beijing wc2012 最多的方案
- BZOJ 2660 Beijing wc2012 最多的方案
- 2660: [Beijing wc2012]最多的方案
- 2660: [Beijing wc2012]最多的方案
- Lydsy 2660: [Beijing wc2012]最多的方案
- bzoj2660 [Beijing wc2012]最多的方案
- [DP] BZOJ2660: [Beijing wc2012]最多的方案
- 失败的第一次方案
- bzoj 2660 最多的方案 | 斐波那契数列
- bzoj 2660: [Beijing wc2012]最多的方案 递推
- 2017.10.22 诸神眷顾的幻想乡 失败总结
- 2017.10.7 phi的反函数 失败总结
- 模电解析 第二章 选择题&判断题
- (转自深入理解java虚拟机)被忽略掉的内存占用
- 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
- Android5.0 输入系统(一)————InputManagerService服务及相关对象的创建与启动
- 使用PHPExcel实现Excel文件的导入和导出
- 2017.10.22 最多的方案 失败总结
- 李宏毅机器学习课程笔记1:Regression、Error、Gradient Descent
- Vue+Swiper
- [机器学习] UFLDL笔记
- CentOS6.5 安装Python3.6
- Excel 联合查找填充表格
- java运行错误java.lang.NoSuchMethodError: javax.persistence.OneToOne.orphanRemoval()Z
- 数据库的简单回顾
- 免费送福利 腾讯 优酷 爱奇艺 搜狐VIP 视频免费观看