https://www.luogu.com.cn/blog/qaq-c14/ka-chang-mei-you-qian-tu
卡常寄巧自取
by C6H6 @ 2024-01-22 08:35:15
@[Myself_Hisy](/user/922691)
by C6H6 @ 2024-01-22 08:35:27
```cpp
#define gc() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, MAXSIZE, stdin), p1 == p2) ? EOF : *p1++)
const int MAXSIZE = 1 << 20;
char buf[MAXSIZE], *p1, *p2;
void read() {}
template <class T1, class ...T2>
void read(T1& ret,T2&... rest) {
ret = 0; char c; bool f = false;
while (!isdigit(c = gc() ) ) f = c == '-';
while(isdigit(c) ) {
ret = (ret << 3) + (ret << 1) + (c ^ '0');
c = gc();
}
if(f) ret = -ret;
read(rest...);
}
```
试试这个快读
用法:
read(a, b, c);
by C6H6 @ 2024-01-22 08:37:24
为什么还是1.03s!
```cpp
#include<cstdio>
inline int scan(void){
register int minus=1;
register int number=0;
register char got=getchar();
while('9'<got||got<'0'){
got=getchar();
};
while('0'<=got&&got<='9'){
number=(number<<3)+(number<<1)+(got^'0');
got=getchar();
};
return number*minus;
};
inline void print(register int answer){
if(answer>9){
print(answer/10);
};
putchar(answer%10+'0');
};
int high[100001];
int main(void){
register int maxn=scan();
for(register int iter=1;iter<=maxn;iter++){
high[iter]=scan();
};
for(register int head=1,tail;head<=maxn;head++){
bool flag=true;
for(tail=head+1;tail<=maxn;tail++){
if(high[head]<high[tail]){
print(tail);
flag=false;
putchar('\n');
break;
};
};
if(flag){
putchar('0');
putchar('\n');
};
};
return 0;
};
```
by Kapo_Hisy @ 2024-01-29 14:37:13
有没有一种可能你这是O(n^2)的,不是常数的问题
by xutianze @ 2024-03-16 18:06:53