BZOJ3613: [Heoi2014]南园满地堆轻絮
分析:
构造数据时间有些长,可以用秦九韶优化一下。
二分答案+贪心,即:另每一个b[i]尽可能的小的同时满足题意,在枚举过程中,判断是否存在一个b[i-1]>a[i]+x
如果存在,那么向右找
如果不存在,向左找
附上代码:
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <queue>
//#include <ctime>
using namespace std;
#define N 5000005
#define ll long long
int a[N],f[N],b[N],n,Sa,Sb,Sc,Sd,mod;
int F(int x)
{
if(f[x]) return f[x];
return f[x]=((1ll*Sa*a[x]%mod+Sb)*a[x]*a[x]%mod+(1ll*Sc*a[x]%mod+Sd)%mod)%mod;
}
int check(int x)
{
b[0]=-1<<30;
for(int i=1;i<=n;i++)
{
if(a[i]>b[i-1]+x)
{
b[i]=a[i]-x;
}else
{
if(a[i]+x<b[i-1])return 0;
b[i]=b[i-1];
}
}
return 1;
}
int main()
{
a[0]=0;
scanf("%d%d%d%d%d%d%d",&n,&Sa,&Sb,&Sc,&Sd,&a[1],&mod);
for(int i=2;i<=n;i++)a[i]=(F(i-1)+F(i-2))%mod;
int l=0,r=1<<30;
while(l<r)
{
int m=(l+r)>>1;
if(check(m)) r=m;
else l=m+1;
}
printf("%d\n",l);
return 0;
}
卡了一下常数(loj上需要卡一下常数,bzoj和洛谷不用,开O2跑的飞快)
BZOJ3613: [Heoi2014]南园满地堆轻絮的更多相关文章
- [BZOJ3613][Heoi2014]南园满地堆轻絮 二分答案
Description 小 Z 是 ZRP(Zombies’ Republic of Poetry,僵尸诗歌共和国)的一名诗歌爱好者,最近 他研究起了诗词音律的问题. 在过去,诗词是需要编成曲子唱 ...
- BZOJ3613 HEOI2014南园满地堆轻絮
不明白在某谷上是怎么标到紫的.二分答案或者发现答案就是最大逆序差的一半. #include<iostream> #include<cstdio> #include<cma ...
- 2018.07.22 bzoj3613: [Heoi2014]南园满地堆轻絮(逆序对结论题)
传送门 做这道题有一个显然的结论,就是要使这个数列单调不减,就要使所有逆序对保证单调不减,也就是求出所有逆序对的最大差值,然后除以2然后就没了. 代码如下: #include<bits/stdc ...
- 【BZOJ3613】[HEOI2014]南园满地堆轻絮(贪心)
[BZOJ3613][HEOI2014]南园满地堆轻絮(贪心) 题面 BZOJ 洛谷 题解 考虑二分的做法,每次二分一个答案,那么就会让所有的值尽可能的减少,那么\(O(n)\)扫一遍就好了. 考虑如 ...
- BZOJ_3613_[Heoi2014]南园满地堆轻絮_二分答案
BZOJ_3613_[Heoi2014]南园满地堆轻絮_二分答案 Description 小 Z 是 ZRP(Zombies’ Republic of Poetry,僵尸诗歌共和国)的一名诗歌爱好者, ...
- 3613: [Heoi2014]南园满地堆轻絮
3613: [Heoi2014]南园满地堆轻絮 Time Limit: 50 Sec Memory Limit: 256 MB Submit: 827 Solved: 534 [Submit][Sta ...
- [HEOI2014]南园满地堆轻絮
[HEOI2014]南园满地堆轻絮 BZOJ luogu 二分答案贪心check 首先b[1]最小一定优 之后就贪心的最小化b[i]就行 #include<bits/stdc++.h> u ...
- [luogu] P4105 [HEOI2014]南园满地堆轻絮 (贪心)
P4105 [HEOI2014]南园满地堆轻絮 题目描述 小 Z 是 ZRP(Zombies' Republic of Poetry,僵尸诗歌共和国)的一名诗歌爱好者,最近 他研究起了诗词音律的问题. ...
- NC20012 [HEOI2014]南园满地堆轻絮
NC20012 [HEOI2014]南园满地堆轻絮 题目 题目描述 小 Z 是 ZRP(Zombies' Republic of Poetry,僵尸诗歌共和国)的一名诗歌爱好者,最近他研究起了诗词音律 ...
随机推荐
- 9.3.3 scrapy 框架
scrapy是一个非常好用的Web爬虫框架,非常适合抓取Web站点从网页中提取结构化的数据,并且支持自定义的需求.在使用scrapy爬取网页数据时,除了熟悉HTML标签,还需要了解目标网页的数据组织结 ...
- 大数据项目中的Oracle查询优化
今天发现自己之前写的一些SQL查询在执行效率方面非常不理想,于是尝试做了些改进. 需求为查询国地税表和税源表中,国税有而税源没有的条目数,之前的查询如下: SELECT COUNT(NAME) FRO ...
- CRM客户关系管理系统(十二)
十二章.学员报名流程开发 2 12.1.学员报名合同和证件信息上传 功能: 必须勾选报名合同协议 必须上传个人证件信息 最多只能上传三个文件 文件大小2M以内 列出已上传文件 (1)crm/urls ...
- springboot2 webflux 响应式编程学习路径
springboot2 已经发布,其中最亮眼的非webflux响应式编程莫属了!响应式的weblfux可以支持高吞吐量,意味着使用相同的资源可以处理更加多的请求,毫无疑问将会成为未来技术的趋势,是必学 ...
- MySQL 中索引的限制
MySQL 中索引的限制在使用索引的同时,我们还应该了解在MySQL 中索引存在的限制,以便在索引应用中尽可能的避开限制所带来的问题.下面列出了目前MySQL 中索引使用相关的限制.1. MyISAM ...
- Viavdo&ISE&Quartus II级联Modelsim级联仿真
博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...
- Python--简单接口测试实例(一)
适用人员:初学python的测试人员,若对抓包不太清楚的可先学习抓包的知识 接口测试流程:发送请求-->返回响应-->结果判定-->生成报告 案例:下面以[今目标]新建客户为例来进行 ...
- git如何移除某文件夹的版本控制
目录结构如下 project bin lib src ...... 执行如下的操作 git add . git commit -m "add bin/ lib/ src/" git ...
- Python自学编程开发路线图(文中有免费资源)
Python核心编程 免费视频资源<Python入门教程>:http://yun.itheima.com/course/145.html Python 基础学习大纲 所处阶段 主讲内容 技 ...
- C#语言中的XmlSerializer类的XmlSerializer.Serialize(Stream,Object)方法举例详解
在对象和 XML 文档之间进行序列化和反序列化操作. XmlSerializer 使您能够控制如何将对象编码为 XML. 命名空间: System.Xml.Serialization程序集: S ...