kuangbin RMQ】的更多相关文章

这是kuangbin的RMQ,一维的,代码很简洁,附上: //kuangbin templet(查询最大值) 一维 //若想查最小,看提示更改 + ; ];//第二维是范围,即2^20约等于100万 //PS 如果同时要求最大最小,要多开一个dp2[][]来存最小 int mm[MAXN];//mm是间接存的数组 //b[]才是数据,并且b从1开始 void initRMQ(int n,int b[]) { mm[]=-; ;i<=n;i++) { mm[i]=((i&(i-))==)?mm…
题意: 一个月饼店做月饼,总营业时间m小时,只能在整点做月饼,可以做无限个,不过在不同的时间做月饼的话每个月饼的花费是不一样的,假设即为cost[i],再给n个订单,即为在某个时间要多少个月饼,时间从2000年1月1日0时开始计算,必须在每个订单的时间之前完成这么多月饼,月饼还有保质期T小时以及保存费用S每小时,现在问满足这n个点的最小成本是多少. 解法: 因为月饼有保质期T,所以第i个月饼只能在[Ti-T+1,Ti]时间内做好.如果时间j有订单,假设在时间i做月饼是最好的,那么这个订单每个月饼…
Bob’s Race Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1994    Accepted Submission(s): 619 Problem Description Bob wants to hold a race to encourage people to do sports. He has got trouble i…
Alice's mooncake shop Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2596    Accepted Submission(s): 619 Problem Description The Mid-Autumn Festival, also known as the Moon Festival or Zhongqiu…
这里说几篇博客,建议从上到下看 https://blog.csdn.net/qq_31759205/article/details/75008659 https://blog.csdn.net/sgh666666/article/details/80448284 https://www.cnblogs.com/kuangbin/p/3227420.html ----------------------------------------------------------------------…
layout: post title: 「kuangbin带你飞」专题十八 后缀数组 author: "luowentaoaa" catalog: true tags: - kuangbin - 字符串 - 后缀数组 传送门 倍增法 struct DA{ bool cmp(int *r,int a,int b,int l){ return r[a]==r[b]&&r[a+l]==r[b+l]; } int t1[maxn],t2[maxn],c[maxn]; int r…
板子测试POJ1330,一发入魂,作者是KuangBin神犇,感谢?‍ #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAXN = 10010; int rmq[2 * MAXN]; // rmq数组,就是欧拉序列对应的深度序列 struct ST { int mm[2 * MAXN]; int dp[2 * MAXN][20]; // 最…
3489: A simple rmq problem Time Limit: 40 Sec  Memory Limit: 600 MBSubmit: 1594  Solved: 520[Submit][Status][Discuss] Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过一次的数,并且要求找的这个数尽可能大.如果找不到这样的数,则直接输出0.我会采取一些措施强制在线. Input 第一行为两个整…
训练指南P198 题意:给出一个非降序排列的整数数组a1, a2…… an,你的任务是对于一系列询问(i,j),回答ai, ai+1 ……aj 中出现的次数最多的次数 这题不仅学到了rmq的应用还学到了游程编码 对于一组数 -1, 1, 1, 2, 2, 2, 4就可以编码成(-1, 1), (1, 2), (2, 3), (4, 1),其中(a, b)表示 b 个连续的 a,cnt[i]表示第 i 段中数出现的次数.num[p] 表示p位置的数所在的段的标号, left[p]表示p位置的数所在…
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1174 题意:中文题诶- 思路:RMQ模板题 关于RMQ: http://blog.csdn.net/liang5630/article/details/7917702 代码: #include <bits/stdc++.h> #define MAXN 10010 using namespace std; ], a[MAXN]; //dp[i][j]存储从下…