用斐波那契分解正整数

news2024/11/28 13:44:23

https://vjudge.net/contest/591700#problem/C

在这里插入图片描述

观察这个形式,如果交替做,就是个斐波那契数列

打表可得,任何正整数都可以大约由 log ⁡ \log log 个斐波那契数加起来

然后直接拼斐波那契数即可

#include<bits/stdc++.h>
using namespace std;
#ifdef LOCAL
 #define debug(...) fprintf(stdout, ##__VA_ARGS__)
#else
 #define debug(...) void(0)
#endif
#define int long long
inline int read(){int x=0,f=1;char ch=getchar(); while(ch<'0'||
ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}return x*f;}
#define Z(x) (x)*(x)
#define pb push_back
#define fi first
#define se second
//mt19937 rand(time(0));
//mt19937_64 rand(time(0));
//srand(time(0));
//#define N
//#define M
//#define mo
int n, m, i, j, k, T;
int f[100], mx, x, y; 
vector<pair<int, int> >v; 
vector<int>G[100]; 

void suan(int op) {
	if(op==1) ++x; 
	if(op==2) ++y; 
	if(op==3) x+=y; 
	if(op==4) y+=x; 
	debug("[%lld %lld]\n", x, y); 
}

void dfs(int x) {
	if(!x) {
		for(auto t : v) {
			debug("%lld %lld | %lld\n", mx, t.se, t.fi); 
			if(t.se%2) G[mx-t.se].pb(2); 
			else G[mx-t.se].pb(1); 
		}
		for(i=k=0; i<=mx; ++i) k+=G[i].size()+1; 
		printf("%lld\n", k); 
		for(i=0; i<=mx; ++i) {
			for(auto j : G[i]) {
				printf("%lld\n", j); suan(j); 
			}
			printf("%lld\n", (i%2 ? 3 : 4)); suan((i%2 ? 3 : 4)); 
		}
		return ; 
	}
	for(int i=90; i>=1; --i)
		if(x>=f[i]) {
			mx=max(mx, i); v.pb({f[i], i}); dfs(x-f[i]); 
			return ; 
		}
}

signed main()
{
	#ifdef LOCAL
	  freopen("in.txt", "r", stdin);
	  freopen("out.txt", "w", stdout);
	#endif
//	T=read();
//	while(T--) {
//
//	}
	n=read(); 
	f[0]=f[1]=1; 
	for(i=2; i<=90; ++i) f[i]=f[i-1]+f[i-2]; 
	dfs(n); 
	return 0;
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

REF615C-D HCFFAEAGABC2BAA1XD 一体化工业解决方案

REF615C-D HCFFAEAGABC2BAA1XD 一体化工业解决方案 Crimson Control使客户能够使用IEC 61131编程语言——如梯形逻辑、功能块、结构化文本和指令列表——通过开发类似可编程逻辑控制器(PLC)或远程遥测单元(RTU)的逻辑控制来解决特定的应用需求&#xff0c;而无需额外的费用。该…

TikTok小企业营销:崭露头角的新机遇

在数字时代&#xff0c;社交媒体已经成为推广和营销的强大工具。其中&#xff0c;TikTok以其独特的短视频内容和庞大的用户基础&#xff0c;为小企业提供了前所未有的营销机会。本文将深入探讨TikTok小企业的崛起&#xff0c;以及它所带来的新机会和挑战。 TikTok&#xff1a;数…

新建Git仓库后!如何将本地项目直接推送上到git仓库中的详细教程!

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Git新建仓库二、来到你的本地仓库 前言 我们在git新建仓库后&#xff0c;如何直接在本地的项目文件夹中直接推送到git仓库中呢&#xff01;那么下面是详细…

QT6/5无痛安装和扩展,新手专用

QT6安装教程 注意在QT5.14.2以后版本只支持在线安装&#xff0c;所以如果需要离线exe版本&#xff0c;请安装5.14.2版本。这里是基于6.5版本Windows10的安装 如果觉得有用的话&#xff0c;请给个点赞收藏 1、安装链接 官方链接 qt官方链接&#xff1a;https://download.qt.io…

Angular异步数据流编程

1 目前常见的异步编程的几种方法 首先给出一个异步请求的实例&#xff1a; import {Injectable} from angular/core;Injectable({providedIn: root }) export class RequestServiceService {constructor() {}getData() {setTimeout(() > {let res zhaoshuai-lcreturn res…

uniapp写一个计算器用于记账(微信小程序,APP)

提要&#xff1a;自己用uniapp写了一个记账小程序&#xff08;目前是小程序&#xff09;&#xff0c;写到计算器部分&#xff0c;在网上找了别人写的计算器&#xff0c;大多数逻辑都是最简单的&#xff0c;都不能满足一个记账计算器的基本逻辑。与其在网上找来找去&#xff0c;…

Okta 数据泄露暴露了员工的个人信息

Okta 警告近 5000 名员工&#xff0c;他们的个人信息在第三方供应商遭到破坏后泄露。 Okta 是一家位于旧金山的云身份和访问管理解决方案提供商&#xff0c;其单点登录 (SSO)、多重身份验证 (MFA) 和 API 访问管理服务被全球数千个组织使用。 该 数据泄露通知 警告称&#xf…

PS学习笔记合集

2.一些快捷键 一、放大快捷键 Ctrl&#xff1a;在画布中点击一次&#xff0c;即可放大一次&#xff0c;可多次点击。 CtrlShift&#xff1a;在画布中点击一次&#xff0c;即可放大到适合窗口大小。 CtrlAlt&#xff1a;在画布中点击一次&#xff0c;即可放大到适合窗口大小&a…

Leetcode刷题详解——二叉树的所有路径

1. 题目链接&#xff1a;257. 二叉树的所有路径 2. 题目描述&#xff1a; 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,null,5]…

电器展示预约小程序的效果

大小电器是人们生活中必备的&#xff0c;电商经济条件下&#xff0c;很多消费者往往会通过线上购买电器&#xff0c;使得线下商家经营困难&#xff0c;但实体店依然有存在的意义&#xff0c;比如一些大件或精细电器&#xff0c;也需要亲自挑选、本地配送等。 对实体店商家来说…

云上智能驾驶三维重建优秀实践

本文重点介绍火山引擎多媒体实验室三维重建技术在动态、静态场景的以及结合先进光场重建技术的原理与实践&#xff0c;帮助大家能更好的了解和认识云上智能三维重建如何服务智能驾驶领域&#xff0c;助力行业发展。 智能驾驶技术的不断发展&#xff0c;正在改变着我们的出行方式…

【深入探究人工智能】历史、应用、技术与未来

深入探究人工智能 前言人工智能的历史人工智能的应用人工智能的技术人工智能的未来当代的人工智能产物结语&#x1f340;小结&#x1f340; &#x1f389;博客主页&#xff1a;小智_x0___0x_ &#x1f389;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &am…

第二十一章 模板

一、模板 1、模板的概念 模板就是建立通用的模具&#xff0c;大大提高复用性 例如生活中的模板 一寸照片模板&#xff1a; PPT模板&#xff1a; 模板的特点&#xff1a; 模板不可以直接使用&#xff0c;它只是一个框架 模板的通用并不是万能的 2、函数模板 C另一种编程思…

定时器和Timer

♫什么是定时器 定时器是一种计时设备&#xff0c;通过定时器可以让某段代码达到设定的时间后再执行。定时器是一个常用的组件&#xff0c;如在进行网络编程时就常用定时器来定时重发数据包、定时检测网络连接状态、定时更新缓存等操作。 ♫实现一个定时器 定时器需要有一个优先…

chat2db初步使用和体验AI

今天下载chat2db体验了下将主要功能和使用截图总结下&#xff1a; 功能&#xff1a; 1.传统客户端能使用的功能基本都有&#xff0c;并且增加了导出excel等便捷的能力。 2.报表功能&#xff1a; 可以根据查询结果进行对应报表可视化显示 3.AI解析sql 可以根据输入的汉语例如…

比如我的企业也想要申报抖音白名单进行直播招聘,该如何操作呢?

比如现在我的企业也想要申报抖音白名单进行直播招聘&#xff0c;该如何申报呢&#xff1f; 答&#xff1a;相关企业/商家在提供自身相关的招聘资质后&#xff0c;就可以进行抖音直播报白名单的申请&#xff0c;在审核通过之后就可以百分百的在抖音直播时畅聊关于自家企业的招聘…

全志XR806基于FreeRTOS的SoftAp配网实现

1.环境搭建 由于电脑上之前就有开发其他设备用的ubuntu18.06虚拟机环境&#xff0c;就在此环境基础上进行开发。基本环境搭建参考官方文档进行&#xff1a; 全志XR806开发板开发环境搭建 2.功能实现 2.1设计思路 从官方下载的SDK开发包project/example目录下有基本功能实现…

Java后端开发——JDBC组件

JDBC&#xff08;Java Database Connectivity&#xff09;是Java SE平台的一种标准API&#xff0c;它提供了一种标准的方法来访问关系型数据库&#xff0c;使得Java程序能够与各种不同的数据库进行交互&#xff0c;这篇文章我们来进行实验体验一下。 自定义JDBC连接工具类 1.编…

【快刊推荐】EI快刊盘点,仅29天录用,国人友好,接收领域广!

综合类EI • 快刊推荐 01 期刊简介 检索数据库&#xff1a;EI &Scopus &Google Scholar 版面类别&#xff1a;正刊 数据库收录年份&#xff1a;2009年 国人占比&#xff1a;47%&#xff0c;对国人友好 年发文量&#xff1a;20篇左右 02 接收领域 生物&#xff0…

使用C++的QT框架实现俄罗斯方块

今天实现一个简单的俄罗斯方块&#xff0c;网上别人写的都比较长还复杂&#xff0c;我就写了一个简单的&#xff0c;可以实现功能的俄罗斯方块&#xff0c;使用的是C语言&#xff0c;框架都可以&#xff0c;主要是逻辑思路有都可以实现 我这边实现的逻辑为两个数组包含各个动态…