老想着数表结合的方法,,结果就是找不到规律。

这个题看起来好像是一个函数就可以做,但其实不是的,斐波那契函数有很好的形势:f【i】=f【i-1】+f【i-2】,

他可以看成两个点转移到一个点,也可以看成一个点拆成两个点,,

所以就按照拆分dp就可以了

注意:相邻的两个有两种情况,一种是两个的拆分互不相关的,一种是右边的多出一个1,需要左边的拆分,需要判断一下可行性

f【位数】【是否越界一个1】

码:

#include<iostream>
#include<cstdio>
using namespace std;
#define ll long long
ll 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]);
}

2017.10.22 最多的方案 失败总结相关推荐

  1. 2017.10.22 诸神眷顾的幻想乡 失败总结

    这个题有一个比较提示性的条件:叶子节点只有20个,点数总共是100000,那显然是要100000*20级别的效率 所以就考虑对叶子节点进行处理,首先要把树上的链拆成子串,所以就不会了.. 可以试图利用 ...

  2. 2017.10.22 方格染色 失败总结

    详细题解网上有好多.. 一开始想用一个并查集维护  确定关系 一个并查集维护相等关系 但会出现一些无解判不出来(原因未知) 所以就只能写加权并查集,记录每个点和他根节点的相等关系:0相等 1不等 然后 ...

  3. 2017.10.27 sue的小球 失败总结

    这个题是论文题...说这个题之前先说一下关路灯 这两个题都有时间的限制,但都不能作为状态设计进去 关路灯那个题,由于要忽略时间的限制,所以对于一个区间省得最多,是不是就是最优解了呢 首先,就算你知道这 ...

  4. 2017.10.24 学校食堂Dining 失败总结

    这题目描述不清啊.省选应该有人解释吧, 对着理解错的题调了一上午... 注意  如果一个人b==5 那这个人后面6个以后的都不能在这个人以前选 这个题就是怎么处理7的问题,状压枚举,同时满足条件的选人 ...

  5. 2017.10.28 管道取珠 失败总结

    这个题有一个新套路:  ∑ai^2 要知道一般的计数题是∑ai,,所以这多乘了一个自己有什么意义呢? 于是想到,两两枚举,加起来正好是ai^2:: 所以就有一个想法,枚举两种取法, 然后就是插数dp, ...

  6. 2017.10.25 书柜的尺寸 失败总结

    这题只能想到第一步.. 首先题目要求的是最小化两个变量的关系,那就必须转化成一个变量的关系,化动为静 比如:枚举限制因素,枚举所有值,再或者就是贪心 一开始想到枚举限制因素,即枚举三个集合中高度最大的 ...

  7. 2017.10.23 卡牌游戏 失败总结

    dp好难啊.. 这个题主要是离散点找不准,但其实也就这样 1.尝试状态压缩,状态爆炸 2.状态里面1很多,尝试统计1的个数 3.枚举起点 但这样做还是没法做,因为没有终点 所以就再枚举一层终点.. 就 ...

  8. 2017.10.9 找相同字符 失败总结

    一上来先想到hash和dp.. 其实散的连续子串匹配问题后缀相关都是可以解决的 对于SA,,就只需两个串之间加#,然后扔到SA里,单调栈维护lcp贡献就可以了,,但似乎并不好写,SA的大循环容易残 于 ...

  9. 2017.10.7 phi的反函数 失败总结

    数论题好难啊,,分析也好,爆搜也好,剪枝也好,什么都不会啊 一开始能想到的就只有根据单点求phi来进行反推... 然后并不能保证最小解,,而且搜索意味不明. 其实需要注意到任意的phi值 全部都是可以 ...

最新文章

  1. 一位大厂程序员回老家当公务员了!
  2. 云安全课程:云平台使用安全
  3. Java多线程系列七——ExecutorService
  4. svn回退到历史版本
  5. 一文读懂人类信息存储进化史
  6. 跟我一起学.NetCore之中间件(Middleware)应用和自定义
  7. django-模板注释
  8. alwayson故障转移群集服务器 修改虚拟主机名及IP地址
  9. 【已解决】能连接上无线,但打不开网页怎么办?
  10. mysql 查看当前连接及修改连接数
  11. sql中exists,not exists的用法 1
  12. 算法:判断二叉树是否包含链表Linked List in Binary Tree
  13. 开发 高质量 android应用 pdf,《打造高质量Android应用》读书笔记
  14. 巨蟒python全栈开发-第5天 字典集合
  15. 【定时自动清理磁盘空间】
  16. shell脚本:从1加到100的几种实现方式
  17. 根据IP查询地理位置(简单易懂,详细注解)
  18. 如何在AI时代验证您的IT职业生涯
  19. 诺丁汉大学计算机科学硕士,诺丁汉大学 University of Nottingham
  20. EOS智能合约开发系列(14): 关于require_auth函数

热门文章

  1. js学习 字符串常用方法
  2. git clone 分支_Git 小团队的协作 (二)
  3. et al、e.g.、i.e.读音及释义
  4. pycharm运行时出现错误解决方法(持续更新中)
  5. Python官方文档学习心得(第五篇)
  6. python图像卷积_图像处理——卷积原理、二维卷积python实现
  7. js中文件写入(字符串写入)_note
  8. SPT20 协议_过户协议书模板五篇
  9. Java中使用JNA实现全局监听Linux键盘事件
  10. ajax velocity,velocity 使用js