JZOJ.3769【NOI2015模拟8.14】A+B
Description
你的任务很简单,给你两个用斐波拉切数最大化表示的两个数字,输出他们相加后用斐波那契最大化表示的数字。
Input
每一行开头一个n,表示长度
然后紧接着n个数字,为从低位到高位。
Output
Sample Input
4 0 1 0 1
5 0 1 0 0 1
Sample Output
6 1 0 1 0 0 1
Data Constraint
对于100%的数据 长度 <= 1000000
算出十进制值相加后再用斐波那契最大化表示显然接受不了,我们得在序列里找出规律。
这里有两个不难发现的运算法则:
1.如果有连续两位i,i-1是1,那么它们可以“运算”使得第三位i+1是1. 如 0 1 0 1 1 0 = 0 1 0 0 0 1
2.如果这个位i是2,那么它可以使它的后一位i+1和前两位i-2是1. 如 0 0 2 0 0 1 0=1 0 0 1 0 1 0
随便弄上十几次这样就可以了。
#include<cstdio>
#include<iostream>
using namespace std;
int f[],n,x,len1,len2;
int main(){
f[]=;
f[]=;
f[]=;
scanf("%d",&len1);
for (int i=;i<=len1;i++)
scanf("%d",&f[i]);
scanf("%d",&len2);
for (int i=;i<=len2;i++){
int x=;
scanf("%d",&x);
f[i]+=x;
}
int qwq=max(len1,len2);
int qoq=true;
do{
qoq=false;
int qaq=qwq;
for (int i=;i<=qwq;i++){
if ((f[i-])&&(f[i])){
f[i+]++;
qwq=max(qwq,i+);
f[i]--;
f[i-]--;
}
}
if (f[]==){
f[]++;
f[]=;
}
if (f[]==){
f[]++;
qwq=max(qwq,);
f[]++;
f[]=;
}
bool quq=true;
do{
quq=false;
for (int i=;i<=qaq;i++){
if (f[i]>=){
quq=true;
f[i+]++;
qwq=max(i+,qwq);
f[i-]++;
f[i]--;
f[i]--;
}
}
if (quq) qoq=true;
} while(quq);
} while(qoq); //直到没修改为止
printf("%d ",qwq);
for(int i=;i<=qwq;i++)
printf("%d ",f[i]);
return ;
}
神奇的代码
JZOJ.3769【NOI2015模拟8.14】A+B的更多相关文章
- JZOJ【NOIP2013模拟联考14】隐藏指令
JZOJ[NOIP2013模拟联考14]隐藏指令 题目 Description 在d维欧几里得空间中,指令是一个长度为2N的串.串的每一个元素为d个正交基的方向及反方向之一.例如,d = 1时(数轴) ...
- JZOJ 【NOIP2017提高A组模拟9.14】捕老鼠
JZOJ [NOIP2017提高A组模拟9.14]捕老鼠 题目 Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里的仓库灭灭鼠.于是,猫被农夫约派去捕 ...
- JZOJ.5274【NOIP2017模拟8.14】数组
Description
- JZOJ.5275【NOIP2017模拟8.14】水管
Description
- JZOJ.5273【NOIP2017模拟8.14】亲戚
Description
- JZOJ.3777【NOI2015模拟8.17】最短路(shortest)
Description 小Y最近学得了最短路算法,一直想找个机会好好练习一下.话虽这么说,OJ上最短路的题目都被他刷光了.正巧他的好朋友小A正在研究一类奇怪的图,他也想凑上去求下它的最短 ...
- [JZOJ]100047. 【NOIP2017提高A组模拟7.14】基因变异
21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化与基因的变异息息相关,考察基因变 ...
- [JZOJ]100046【NOIP2017提高A组模拟7.14】收集卡片
Star 计划订购一本将要发行的周刊杂志,但他可不是为了读书,而是-- 集卡. 已知杂志将要发行 N 周(也就是 N 期),每期都会附赠一张卡片.Star 通 过种种途径,了解到 N 期杂志附赠的卡片 ...
- JZOJ[3771] 【NOI2015模拟8.15】小 Z 的烦恼
题目 描述 题目大意 有从111到nnn的数字,每个数字都可以放在一个盒子里(可以不放).一旦放,满足: 如果它不在第mmm个盒子,那么它的两倍一定在后面一个盒子里. 如果它不在第111个盒子,那么它 ...
随机推荐
- JavaScript-CasperJs使用教程
如果是类似12306这种网站的话, 必须使用--ssl-protocol=any --ignore-ssl-errors=true选项, 例如 casperjs --ssl-protocol=any ...
- java.lang.NullPointerException org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
java.lang.NullPointerException org.apache.jsp.index_jsp._jspInit(index_jsp.java:22) org.apache.jsp.i ...
- php json_decode失败,返回null
在使用json_decode之前,一定得保证字符串是utf-8编码,而执行json_decode失败的原因有很多,罗列如下: 1)编码不对: 2)字符串格式不对: 3)字符串格式对,但是有异常字符: ...
- 【转】可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)
原文地址:http://www.cnblogs.com/justnow/p/3382160.html (最新版本:V6.0,2017.12.11 .即将推出Xamarin移动端版本,包括 Androi ...
- javascript开源大全
javascript开源大全 Ajax框架-jQuery 可视化HTML编辑器-CKEditor 国产jQuery-UI框架-(jUI)-DWZ 网页开发FireFox插件-Firebug 服务器端的 ...
- C语言初级链表(之有头节点的单向链表)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> typedef struct No ...
- 服务容器——laravel服务器容器(未完)
参考: https://www.insp.top/learn-laravel-container https://www.cnblogs.com/lilili/p/6953749.html
- Atitit。Js调用后台语言 java c# php swing android swt的方法大总结
Atitit.Js调用后台语言 java c# php swing android swt的方法大总结 1. Js调用后台语言有三种方法1 2. Swt BrowserFunction 绑定方法 ...
- 分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)
一.问题描述 问题: 使用<pg:param name="key" />标签传递中文参数时,会有乱码. 原因: 因为它默认是用gb2312来对添加的参数进行编码,如果你 ...
- 用mysql写带占位符的select语句
sql.append(" AND t.f_user_name LIKE CONCAT('%',?,'%')");//模糊查询 sql.append(" AND t.f_u ...