bzoj 2660: [Beijing wc2012]最多的方案【dp】
2024-09-08 10:16:58
有点神奇的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;
}
最新文章
- SqlServer--代码创建约束
- swift学习笔记之-扩展(Extensions)
- AngularJS开发指南10:AngularJS依赖注入的详解
- Java 判断图片资源的存在否
- tar命令: 对某目录文件打tar包时,排除指定的目录或文件
- C#自定义控件的开发:Pin和Connector
- Word Ladder 解答
- MVC-03 控制器(4)
- 14.9.2 Specifying the Row Format for a Table 指定 表的行格式
- http://www.spasvo.com/ceshi/open/kyxncsgj/Jmeter/
- IE6 下 输入类型表单控件背景问题
- IOS 清除UIWebview的缓存以及cookie
- [线程]Thead 中传参数RuntimeError: thread.__init__() not called
- [JavaScript,Java,C#,C++,Ruby,Perl,PHP,Python][转]流式接口(Fluent interface)
- 使用shell脚本来自动化处理我们的工作,解放双手
- A1086. Tree Traversals Again
- MD5与SHA散列单项加密
- LeetCode--429--N叉树的层序遍历
- springboot---->;springboot的使用(一)
- tensorflow :ckpt模型转换为pytorch : hdf5模型
热门文章
- 动态规划:HDU 1114 Piggy-Bank
- Triangle(dp)
- HDU 2059 【DP】
- HTML DOM对象的属性和方法介绍(原生JS方法)
- css实现文字渐变
- 如何在Win7 x64上的配置32位的PostgreSQL ODBC数据源
- Spring4.0MVC学习资料,注解自己主动扫描bean,自己主动注入bean(二)
- VM虚拟机ping不通局域网其他主机的解决办法
- swiper插件制作轮播图swiper2.x和3.x区别
- Java基础面试:集合、内部类、线程