有点神奇的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()
{
scanf("%lld",&n);
a[0]=1,a[1]=1;
for(int i=2;i<=90;i++)
a[i]=a[i-2]+a[i-1];
for(int i=90;i>=1;i--)
if(n>=a[i])
n-=a[i],s[++top]=i;
f[top][0]=(s[top]-1)/2,f[top][1]=1;
for(int i=top-1;i>=1;i--)
{
f[i][1]=f[i+1][0]+f[i+1][1];
f[i][0]=((s[i]-s[i+1]-1)/2)*f[i+1][1]+((s[i]-s[i+1])/2)*f[i+1][0];
}
printf("%lld\n",f[1][0]+f[1][1]);
return 0;
}

bzoj 2660: [Beijing wc2012]最多的方案【dp】的更多相关文章

  1. bzoj 2660: [Beijing wc2012]最多的方案

                       Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 617  Solved: 361[Submit][Status][ ...

  2. bzoj2660: [Beijing wc2012]最多的方案

    题目链接 bzoj2660: [Beijing wc2012]最多的方案 题解 对于一个数的斐波那契数列分解,他的最少项分解是唯一的 我们在拆分成的相临两项之间分解后者,这样形成的方案是最优且不重的 ...

  3. bzoj千题计划213:bzoj2660: [Beijing wc2012]最多的方案

    http://www.lydsy.com/JudgeOnline/problem.php?id=2660 很容易想到是先把n表示成最大的两个斐波那契数相加,然后再拆分这两个斐波那契数 把数表示成斐波那 ...

  4. BZOJ 2660 (BJOI 2012) 最多的方案

    Description 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一 ...

  5. BZOJ 2662: [BeiJing wc2012]冻结(最短路)

    这道题和 BZOJ 2763飞行路线 几乎一模一样..然后飞行路线我是1A,这道题WA了4次,我开始怀疑我的智商了.. ---------------------------------------- ...

  6. Bzoj 2662: [BeiJing wc2012]冻结 dijkstra,堆,分层图,最短路

    2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 647  Solved: 348[Submit][Sta ...

  7. bzoj 2659: [Beijing wc2012]算不出的算式

    2659: [Beijing wc2012]算不出的算式 Time Limit: 3 Sec  Memory Limit: 128 MB Description 算不出的算式背景:曾经有一个老掉牙的游 ...

  8. BZOJ 2661: [BeiJing wc2012]连连看 费用流

    2661: [BeiJing wc2012]连连看 Description 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规则是,给出一个闭 ...

  9. BZOJ 2663: [Beijing wc2012]灵魂宝石

    2663: [Beijing wc2012]灵魂宝石 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 261  Solved: 108[Submit][S ...

随机推荐

  1. Thinkphp 3.2使用Redis

    (1)直接调用框架自带的Redis类: 路径:\ThinkPHP\Library\Think\Cache\Driver\Redis.class.php. public function test(){ ...

  2. Animation显示ListView的每一条记录

    activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  3. PAT (Advanced Level) 1032. Sharing (25)

    简单题,不过数据中好像存在有环的链表...... #include<iostream> #include<cstring> #include<cmath> #inc ...

  4. json三种类型小笔记

    JSON基本语法与图例 Object(对象类型)用{ }包含一系列无序的key–Value键值对表示,其中Key和Value之间用冒号分割,每个key-value之间用逗号分割. Array(数组类型 ...

  5. 蓦然回首,Java 已经 24 岁了!

    01.蓦然 真没想到,Java 竟然 24 岁了(算是 90 后)! 提起 Java,印象最深刻的当然就是: class Cmower {  public static void main(Strin ...

  6. Office EXCEL 如何为宏命令指定快捷键或者重新设置快捷键

    1 工具-宏-宏,打开宏窗口   2 鼠标单击任意宏将其选中,点击宏选项,即可修改或为他增加快捷键.   3 注意,你直接在Visual Basci编辑器里面改是不行的,因为加了'的只是注释而已  

  7. 在DIV中自己主动换行

    word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自己主动换行. 它们的差别就在于: 1,word-break:break-all 比如di ...

  8. JSX 语法

    jsx 不能直接运行,是被 babel-loader 中的 react 这个 preset 翻译的 需要注意: 1.必须被一个单独的大标签包裹,比如:div 或者 section 2.标签必须封闭 3 ...

  9. Nerv --- React IE8 兼容方案

    创建项目 创建一个目录,使用npm快速初始化 $ mkdir my-project && npm init -y 安装依赖 安装webpack以及babel $ npm install ...

  10. WebApi-路由机制 Visual Studio 2015中的常用调试技巧分享

    WebApi-路由机制   一.WebApi路由机制是什么? 路由机制通俗点来说:其实就是WebApi框架将用户在浏览器中输入的Url地址和路由表中的路由进行匹配,并根据最终匹配的路由去寻找并匹配相应 ...