[POJ3264]Balanced Lineup 做题笔记
来源:互联网 发布:霹雳知乎 编辑:程序博客网 时间:2024/06/02 12:38
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -·
题目来源:http://poj.org/problem?id=3264
这题是基本的rmq问题,可以用st算法来解决。本来是不想把这题贴上来的,但代码里有个奇怪的鲠!
代码里的u,v一定要定义到全局,否则直接wa,但是u,v在main外没有任何调用啊!
#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;int f[50000][30],n,q,u,v;//U & V must be defined here??int f2[50000][30];void init_rmq () { for (int j=1;j<=20;j++) for (int i=1;i<=n;i++) if (i+(1<<j)-1<=n) { f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]); f2[i][j]=min(f2[i][j-1],f2[i+(1<<(j-1))][j-1]); }}int query_rmq (int i,int j) { int k=floor(log(j-i+1)/log(2)); return (max(f[i][k],f[j-(1<<k)+1][k])-min(f2[i][k],f2[j-(1<<k)+1][k]));}int main () { //int u,v;This will make WA!Why?? scanf("%d%d",&n,&q); for (int i=1;i<=n;i++) { scanf("%d",&f[i][0]); f2[i][0]=f[i][0]; } init_rmq(); for (int i=1;i<=q;i++) { scanf("%d%d",&u,&v); printf("%d\n",query_rmq(u,v)); }}
0 0
- [POJ3264]Balanced Lineup 做题笔记
- RMQ经典题:【POJ3264】 Balanced Lineup
- POJ3264--Balanced Lineup(线段树模板题)
- Poj3264 Balanced Lineup 线段树基础题
- RMQ模板题 poj3264 Balanced Lineup
- POJ3264 Balanced Lineup
- POJ3264:Balanced Lineup
- poj3264 - Balanced Lineup
- POJ3264 Balanced Lineup
- POJ3264:Balanced Lineup
- POJ3264 Balanced Lineup
- POJ3264-Balanced Lineup RMQ
- poj3264 Balanced Lineup
- [Poj3264][Bzoj1699]Balanced Lineup
- POJ3264 Balanced Lineup
- poj3264 Balanced Lineup
- [POJ3264]Balanced Lineup
- POJ3264 Balanced Lineup
- 输出星号,倒三角
- 斯坦福大学深度学习与自然语言处理第四讲:词窗口分类和神经网络
- org.apache.axis2.AxisFault: Service class XXXXX must have public as access Modifier解决方案
- RealtimeBoard(可视化协同工作白板)
- JavaScript事件冒泡简介及应用
- [POJ3264]Balanced Lineup 做题笔记
- 求两个数的最大公约数
- POJ 2376 Cleaning Shifts 区间贪心
- 设计模式:单例模式
- sqlite字符串问题
- HanLP里使用DAT存取字典的方法
- J2EE轻量级框架--3.28学习心得
- 光电传感器笔记
- AndroidStudio R.java文件丢失的问题