「HEOI2014」南园满地堆轻絮
题目链接
题目出处
菩萨蛮·南园满地堆轻絮
温庭筠
南园满地堆轻絮,愁闻一霎清明雨。雨后却斜阳,杏花零落香。
无言匀睡脸,枕上屏山掩。时节欲黄昏,无憀独倚门。
\(Solution\)
这个可以二分一下,再贪心的构造式子,如果满足则\(r\)变小,反之\(l\)变大很好理解的。
\(Code\)
#include<bits/stdc++.h>
#define int long long
#define rg register
#define file(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout);
using namespace std;
int read(){
int x=0,f=1;char c=getchar();
while(c<'0'||c>'9') f=(c=='-')?-1:1,c=getchar();
while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();
return f*x;
}
int a[5000010],b[5000010];
int n,Sa,Sb,Sc,Sd,mod,maxx;
int calc(int x){
return (((Sa*x%mod*x%mod*x%mod+Sb*x%mod*x%mod)%mod+Sc*x%mod)%mod+Sd)%mod;
}
bool check(int x){
for(int i=1;i<=n;i++)
b[i]=a[i];
for(int i=1;i<=n;i++){
if(b[i]+x<b[i-1]) return 0;
if(b[i]<b[i-1]) b[i]=b[i-1];
else b[i]=max(b[i-1],b[i]-x);
}
return 1;
}
main(){
n=read(),Sa=read(),Sb=read(),Sc=read(),Sd=read(),maxx=a[1]=read(),mod=read();
for(int i=2;i<=n;i++)
a[i]=(calc(a[i-1])+calc(a[i-2]))%mod,maxx=max(maxx,a[i]);
int l=0,r=maxx,minx=2147483647;
while(l<=r){
int mid=(l+r)>>1;
if(check(mid)) r=mid-1,minx=min(minx,mid);
else l=mid+1;
}
printf("%lld",minx);
return 0;
}
「HEOI2014」南园满地堆轻絮的更多相关文章
- 【BZOJ】【3613】【HEOI2014】南园满地堆轻絮
思路题 考试结束前5.6min的时候想到……但是写挂了QAQ 其实就是(差值最大的逆序对之差+1)/2; 找逆序对其实维护一个max直接往过扫就可以了……因为逆序对是前面的数大于后面的数…… 正确性显 ...
- BZOJ_3613_[Heoi2014]南园满地堆轻絮_二分答案
BZOJ_3613_[Heoi2014]南园满地堆轻絮_二分答案 Description 小 Z 是 ZRP(Zombies’ Republic of Poetry,僵尸诗歌共和国)的一名诗歌爱好者, ...
- 【BZOJ3613】[HEOI2014]南园满地堆轻絮(贪心)
[BZOJ3613][HEOI2014]南园满地堆轻絮(贪心) 题面 BZOJ 洛谷 题解 考虑二分的做法,每次二分一个答案,那么就会让所有的值尽可能的减少,那么\(O(n)\)扫一遍就好了. 考虑如 ...
- 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,僵尸诗歌共和国)的一名诗歌爱好者,最近他研究起了诗词音律 ...
- [BZOJ3613][Heoi2014]南园满地堆轻絮 二分答案
Description 小 Z 是 ZRP(Zombies’ Republic of Poetry,僵尸诗歌共和国)的一名诗歌爱好者,最近 他研究起了诗词音律的问题. 在过去,诗词是需要编成曲子唱 ...
- BZOJ3613 南园满地堆轻絮-二分法
http://www.lydsy.com/JudgeOnline/problem.php?id=3613 //话说BZOJ终于修好了... Description 小 Z 是 ZRP(Zombies' ...
随机推荐
- Pthreads 《并行程序设计导论》的补充代码
▶ 关于单链表的访问,插入结点和删除结点操作,并且将其推广到多线程中去. ● 代码,通用的随机数生成 // my_rand.h #ifndef _MY_RAND_H_ #define _MY_RAND ...
- leetcode814
class Solution { public: TreeNode* pruneTree(TreeNode* root) { if(root==NULL) { return nullptr; } if ...
- leetcode67
public class Solution { public string AddBinary(string a, string b) { var list = new List<string& ...
- Visual Basic 函数速查
Calendar 常数 可在代码中的任何地方用下列常数代替实际值: 常数 值 描述 vbCalGreg 0 指出使用的是阳历. vbCalHijri 1 指出使用的是伊斯兰历法. Color 常数 可 ...
- js 和 java互调
Java调JS JDK1.8 中Nashorn 比JavaScript性能更好 public static void main(String[] args) { long s = System.cur ...
- VLC接收网络串流缓冲时间的计算 (转)
原帖地址:http://blog.csdn.net/coroutines/article/details/7472743 VLC版本2.0.1 最近研究IP-STB音视频同步问题,发现方案自带的自动S ...
- SublimeText Videos Notes
[SublimeText Videos Notes] Getting Started 1.Hello:https://tutsplus.com/course/improve-workflow-in-s ...
- Servlet和JSP的本质和区别
基本概念 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTT ...
- classpath 和 classpath* 的区别:
classpath指的是java代码生成的class的路径. classpath 和 classpath* 区别: classpath:只会到你的class路径中查找找文件; classpath*:不 ...
- 程序的跟踪debug