为什么qwq
  • 板块灌水区
  • 楼主Atwi_llljx
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/9/6 23:02
  • 上次更新2023/11/2 22:29:56
查看原帖
为什么qwq
886208
Atwi_llljx楼主2023/9/6 23:02

灵异评测

代码:

/*

st[i][0]=s[i];
st[i][j]=min(st[i][j-1],st[i+1<<(j-1)][j-1]);
d=min(st[i][xx],st[i+p-(1<<xx)][xx]);

*/
#include<bits/stdc++.h>
#define ll long long
#define r read()
#define MAX 0x3f3f3f3f
#define MIN -0x3f3f3f3f
using namespace std;
ll read();
int n,s[1000010],st[1000010][30],p,xx;
ll read(){
    ll dx=0,x=1;
    char xx=getchar();
    for(;xx<'0'||xx>'9';xx=getchar())
        if(xx='-')
            x=-1;
    for(;xx>='0'&&xx<='9';dx=dx*10+xx-48,xx=getchar());
    return dx*x;
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    n=r;
    p=r;
    xx=log2(p);
    for(int i=1;i<=n;st[i][0]=s[i]=r,i++);
    for(int j=1;j<=log2(n);j++)
        for(int i=1;i<=n-(1<<j)+1;st[i][j]=min(st[i][j-1],st[i+(1<<(j-1))][j-1]),i++);
    for(int i=1;i<=n-p+1;cout<<min(st[i][xx],st[i+p-(1<<xx)][xx])<<"\n",i++);
    return 0;
}

测了数据都是对的,为什么说我第一行输了负号qwq

2023/9/6 23:02
加载中...