刷水题可耻

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <cmath>
#include <utility>
#include <vector>
#include <queue>
#include <map>
#include <set>
#define max(x,y) ((x)>(y)?(x):(y))
#define min(x,y) ((x)>(y)?(y):(x))

using namespace std;

int a[50005],N,Q,l,r,f[50005][20],g[50005][20];

void RMQ_ST(int n, int a[])//f[i][j]=max(a[i..i+2^j-1])
{
    for(int i=1; i<=n; i++)
    {
        f[i][0]=a[i];
        g[i][0]=a[i];
    }
    int m=floor(log(n*1.0)/log(2.0));
    for(int j=1; j<=m; j++)
        for(int i=1; i<=n-(1<<j)+1; i++)
        {
            f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);
            g[i][j]=min(g[i][j-1],g[i+(1<<(j-1))][j-1]);
        }
}
int main()
{
    scanf("%d%d",&N,&Q);
    for(int i=1; i<=N; i++)
        scanf("%d",&a[i]);
    RMQ_ST(N,a);
    for(int i=0; i<Q; i++)
    {
        scanf("%d%d",&l,&r);
        int k=floor(log((r-l+1)*1.0)/log(2.0));
        printf("%d\n",max(f[l][k],f[r-(1<<k)+1][k])-min(g[l][k],g[r-(1<<k)+1][k]));
    }
    return 0;
}

时间: 2024-10-06 01:56:39

刷水题可耻的相关文章

刷水题(二)

今天,我又去刷水题了.水题好多呀!这些题分为N个难度级别,做出第i个难度级别的任意一题都需要a[i]分钟,并获得b[i]点积分.我最多可以刷T分钟水题,问我最多能获得多少积分? [输入] 第一行两个正整数N和T,接下来的N行每行两个正整数数a[i]和b[i]. [输出] 一个数,表示我最多可以获得的积分. [样例输入] 4 50 1 10 3 40 9 130 27 400 [样例输出] 720 题解: 直接上代码(没错,就是这么简单) 1 #include<iostream> 2 using

刷水题 堆

题目背景 众所周知,熊本熊的洛谷大号是kakakaka.有的时候熊本熊会在洛谷上面刷水题,但是熊本熊并不知道该怎么计划好自己的时间,他想让你来帮他计划一下. 题目大意 熊本熊今天一时兴起想刷n道水题,熊本熊有m个大脑,每个大脑都只能独立工作,也就是说,熊本熊可以在同一时间做m道题.由于熊本熊刷的水题都是topcoder,codeforces,usaco,CCF上最新出的水题,所以在熊本熊刷一道水题时,下一道水题可能还没有出来.又因为熊本熊又不会什么奇技淫巧,所以他完成每一道题都有一个特定的时间.

刷水题(五)

我要两天刷完所有n道水题,做出第i道题能获得a[i]点积分.现在我想要两天获得的积分尽量平均,问最小差多少? [输入] 第一行一个整数n,第二行n个整数,第i个整数a[i]表示做第i道水题获得的积分. [输出] 一个整数,表示两天积分的最小差值. [样例输入] 5 5 8 13 27 14 [样例输出] 3 [输出说明] (8+27)-(5+13+14)=3(积分) 和水题4类似,只不过总时间为所有积分总和的一半.(想想为什么) 1 #include<iostream> 2 using nam

hdu 3342 Legal or Not 拓扑排序判断环。 现在的我,除了刷水题,,还能干什么

Legal or Not Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4960    Accepted Submission(s): 2270 Problem Description ACM-DIY is a large QQ group where many excellent acmers get together. It is

hdu 2149 Public Sale 巴什博弈模型~~我这样刷水题真的好吗~~~

Public Sale Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4914    Accepted Submission(s): 2941 Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没有拿到奖学金.现在等待他的,就是像FarmJohn一样的农田生涯. 要种田得有田才

hdu 1849 Rabbit and Grass 谁都喜欢刷水题。。尼姆博弈

Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2507    Accepted Submission(s): 1888 Problem Description 大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是Rabbit和Grass这两个大学女生在今年的圣诞节却表现得一点都不浪漫:不去逛商场,不去

【Poj1003】刷水题刷的不亦乐乎

输入一个长度 利用循环计算需要多少张卡片 输出时注意i是从2开始,最后结束时i是多加了个1 所以输出i-2 #include<iostream> using namespace std; int main(){ double l; while(cin>>l && l!=0.0){ double lon=0.0; int i=2; for(;lon<l;i++) lon+=1.0/i; cout<<i-2<<" card(s)\

刷了500道水题是什么体验?

并没有什么卵用. 我马上大二了,大一两学期目测切了1000道水题了,毫无意义. 至今不理解kmp和后缀数组,只会模板.数论和博弈论是什么?能吃吗?只会打表.图论至今不会tarjan,话说dlx是什么?插头dp,这是什么?数据结构还好,经常做高中生的题,可持久化可持久化线段树也能花一下午时间写出来,然而并不会考. 平时做题只刷水题,遇到难题的时候,随手搜题解,看了看,哇,这居然能这么搞!然后抄一遍别人代码,交上去ac. cf一年几乎没缺过,花了大一上半年时间才滚上div1.然而至今紫号一堆,黄名一

POJ2013 Symmetric Order(继续我的水题之路)

[题意简述]:这个题意描述很简单,看输入输出就可以了. [分析]:还是刷水题心情好点~ 不过,不知为什么我的代码,G++过了,而C++却CE. // 748K 16Ms #include<iostream> #include<cstdio> using namespace std; #include<cstring> string cha[26]; string cha1[26],cha2[26]; int main() { int n; int count = 1;