S 组
本次 HB 共有 876 个文件夹(使用 find . -mindepth 1 -maxdepth 1 -type d | wc -l
统计)
T4 非 0 分人数:
---
## 分数统计表
![](https://cdn.luogu.com.cn/upload/image_hosting/5xbu0v4v.png)
---
## 114514
![](https://cdn.luogu.com.cn/upload/image_hosting/gvcp6oxk.png)
---
## 注释掉 `freopen()`:
在 $71$ 个文件中共出现了 $131$ 次 \
(还有 $1$ 人使用 `// freopen()`,多一个空格,另有 $5$ 人使用 `// <Tab> freopen()`)
![](https://cdn.luogu.com.cn/upload/image_hosting/junugdw7.png)
---
## \#include <windows.h>
共 $4$ 个
![](https://cdn.luogu.com.cn/upload/image_hosting/qs1ky37g.png)
---
## rand & mt19937
共 $118+5=123$ 个
![](https://cdn.luogu.com.cn/upload/image_hosting/37nkwtyb.png)
---
## 关于 €€£,它\_\_\_\_
共找到 $21$ 个
![](https://cdn.luogu.com.cn/upload/image_hosting/j5dlk17i.png)
---
## \#define int long long
共 $90$ 次
![](https://cdn.luogu.com.cn/upload/image_hosting/9y5s5454.png)
---
## 关于输入输出(
![](https://cdn.luogu.com.cn/upload/image_hosting/x1cyfh5k.png)
![](https://cdn.luogu.com.cn/upload/image_hosting/nvez0m04.png)
![](https://cdn.luogu.com.cn/upload/image_hosting/qulcyj8r.png)
![](https://cdn.luogu.com.cn/upload/image_hosting/gvfe20os.png)
![](https://cdn.luogu.com.cn/upload/image_hosting/o8qe5pyv.png)
![](https://cdn.luogu.com.cn/upload/image_hosting/eot610za.png)
![](https://cdn.luogu.com.cn/upload/image_hosting/nsdw1ps1.png)
![](https://cdn.luogu.com.cn/upload/image_hosting/ytkboh2h.png)
---
## rp
共 $82$ 次
![](https://cdn.luogu.com.cn/upload/image_hosting/e7kmw1t7.png)
---
## pbds
有且仅有 $1$ 位选手使用了 `__gnu_pbds`——HB-S00141
btw,这位选手在我的自测(非官方测试)中拿到了 $\text{300pts}$,congratulations
btw btw,这位选手的马蜂非常赏心悦目
---
## 暴戾语言
### HB-S00581 同学的 `detect.cpp` (包含 `fk`):
```cpp
#include<bits/stdc++.h>
using namespace std;
int t,n,m,l,v,ma[100010]={};
struct fk{
int d,v,a;
}c[100010];
int main(){
freopen("detect.in","r",stdin);
freopen("detect.out","w",stdout);
cin>>t;
while(t--){
cin>>n>>m>>l>>v;
for(int i=1;i<=n;i++){
cin>>c[i].d>>c[i].v>>c[i].a;
}
}
return 0;
}
```
### HB-S00053 同学的 `arena.cpp`
```cpp
//printf("shit is %d %d\n",dep,K);
//printf("fucking pro %d %d\n",e[i].id,ans);
```
### HB-S00622 同学的 `detect.cpp`
> 哦,我的老伙计,你也注释了 `freopen()`
```cpp
#include<bits/stdc++.h>
using namespace std;
struct sb{//不知道取什么名字了(乐)
int a,b,c;
};
int detect(int a,int b,int c,int t){
return (a+9-b*b)/2/c;
}
int main(){//(a[i].a+9-a[i].b*a[i].b)/2/a[i].c
// freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);
int P,n,m,l,v,N,M;
bool t=false;
cin>>P;
for(int fuck=0;fuck<P;fuck++){ //做的难受
cin>>n>>m>>l>>v;
sb a[n];
int b[m];
for(int i=0;i<n;i++){
cin>>a[i].a>>a[i].b>>a[i].c;
}
for(int i=0;i<m;i++){
cin>>b[i];
}
sort(b,b+n);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
}
}
}
cout<<m<<n;
}
//1
//5 5 15 3
//0 3 0
//12 4 0
//1 1 4
//5 5 ‐2
//6 4 ‐4
//2 5 8 9 15
```
---
## 注释中塞私货:
### HB-S00219
```cpp
/*
开始做 T4
md
T1T2是sb
T3一眼就看出来一个ai只会连离自己最近的相同的结果写错一堆小位置搞了半天,烦死了
来看T4
nmd什么b玩意
似乎是我搞复杂了
你注意到新人进来只用最多打logn轮,那这样的话特殊性质A就做出来了,每次的答案都是固定的,不存在补假人的情况
现在就是这个补假人比较sb
我们不妨来先把这个假人补满
实际上每一个有假人的比赛如果假人赢或输都会构成一个 a_x 的大小关系
实际上一个假人能赢只用看这个大小关系能不能成立
暴力搞得话
不太懂
先写吧
*/
```
### HB-S00618
> 就是你小子诈骗我是吧
```cpp
//freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
// freopen("detect.out","w",stdout);freopen("detect.in","r",stdin);
//LOLOLOLOLOLOL lmao i'm luogu 539345
// 17:41 OHHH I find it!
//for special limit A & B query2 you putout M-1 is ok!!!
//not always
//if none of the observer work,putout M.
```
```cpp
//I'm OrinLoong, luogu UID 539345
//I have no desire to solve this problem
//I'm senior 1 grade but i'm too vegetable.
//But I don't want to give up
//NOIP i will get 200+
//next season when i'm back there for CSP/NOIP/PTSC i will be stronger , just as a soon-going-to-be gold medalist.
//see u next time 11.30!I'll do my best!
//anyway this time i'm going to get 100+40+20+0 and this is better than last time 135(or 130? I not clearly remember!)
```
### HB-S00295
```cpp
//我是SB,为什么要想着手打FHQ啊
//一个multiset就秒掉了啊啊啊啊啊啊
//浪费了20min
//再测一点别的数据
```
### HB-S00295
```cpp
// I love CCF!
// I love CCF!
// I love CCF!
// I love CCF!
```
### HB-S00008
```cpp
/*
currenttime:14:34
eazist T1 ever?
*/
```
### HB-S00060
```cpp
/*
2s,可以做20次memset
*/
```
### HB-S00178
```cpp
/*
CCF OrzOrzOrz
CCF IS THE BEST!!!
CCF YOU'RE MY GOD!!!
*/
```
### HB-S00295
```cpp
//md 死完了
/*
t1 没有对拍,不知会不会挂
t2 TM因为精度被卡2hour,也只有40-60pts
t3 只好打个暴力走人
预计得分 160,tm原地退役好了
*/
```
### HB-S00353(Jason331 同学,你好)
```cpp
/*
Star!!
Venti!!
StarVenti!!
I have a star, I have a question.
Uhh, QuestionStar!!
Jason331 AK IOI!
5002
*/
```
### HB-S00402(似乎是把自测的输出弄到了 `.cpp` 文件最后?)
![](https://cdn.luogu.com.cn/upload/image_hosting/91xrt4yi.png)
### HB-S00451
```cpp
// Tnlogn+nlog^2n
// QAQ 17:05
// I don't want to solve this problem. 17:53
// FAKE 18:12
```
### HB-S00631
```cpp
/*
七星大佬的晋级赛
开一个bool数组记录整数点颜色,0为没色,1为红色
ans记录有多少车可以被判出来超速
for 1 -> n 计算所有车辆的红色区间(l,r)
{
临时变量l,r记录当前车辆颜色区间左闭右开
如果ai>0,(vt,n]全为红
如果ai=0,如果v0>v,[di,L]全为红,如果v0<=v,没有红
如果ai<0,如果v0>v,[di,vt)全为红,如果v0<=v,没有红
p.s.:vt=ceil
for 1 -> m 遍历所有测速仪
{
判断 pi 是否在当前颜色段左闭右开上,如果在,ans++,原来是五星菜鸡,否则就认为是七星大佬晋级成功
}
}
扫一遍颜色数组,输出所有开在false上的测速仪
*/
```
### HB-S00758(p.s: 这位选手似乎很喜欢写注释,每个文件都有 $50$ 行+ 的注释)
```cpp
/*
如果暴力枚举每种01情况就太暴力了不适合我
可以试试那种不那么暴力但还是很暴力的暴力
发现这道题的本质了
比如你取了一对数a[i],a[j]
并且打算在最终的结果中加上a[i]
那么a[i],a[j]中的所有数字都不能和他们同色
一看 好像可以dp
但我们不慌,我们还是先试试暴力
以及要注意答案可能要开long long
首先开个vector b[N]
b[i]里的数(姑且称为id)满足a[id] = i;
把所有的数对初始化出来放在一个pair里面
暴搜所有的选取情况并求出最大值
。。有点难度。。
不好判重叠。。。
我再想想
算了先写一个01枚举把前20分拿了再说
*/
/*
开赛两个小时51分钟,觉得第四题没法做的我又回来了
依旧是以暴搜为框架拿部分分
看看有什么可以剪枝的
首先如果整个数组中没有任何相同的数组那答案肯定为0
其次对称的搜索结果都可以去掉(/2好像没什么用,先不写)
先假设所有的c[i]都为0
为1的是我们要取结果的点
剪枝1:那对于一个在数组中出现次数为1的数 我们肯定没有必要把他变成1
不知道这个剪枝可不可以过100的数据范围
*/
剪枝2:那么对于一个在数组中出现次数大于1的数 我们肯定要不就都不选,要选肯定就得选两个以上
所以我们可以再开两个数组来记录当前每个数的被选取次数和当前还剩几个这个数没有被dfs到
如果当前被选取次数为1 并且当前只剩一个这个数没有被dfs到 那这个时候就必选这个数
这剪枝还是效率不高 碰见连续的一整串相同的数就没有办法了。。。
一整串相同的数?我又想到了一个剪枝
剪枝3:再再再开一个数组来记录这个数上次出现的位置
如果上一次出现的位置和这一次出现的位置之间的数的数量=0那这个数必选
但如果这个值=1的话那就得比较数的大小。。。不太保险啊
等一下我好像可以接近正解了
但是时间不多了
先拿个稳的=0时的暴力吧
*/
/*
手动造个样例?
*/
```
---
## 难以归类的抽象代码:
### HB-S00432 的所有代码均为如下
(喜报:甚至 `CE`)
```cpp
#include <bits/stdc++.h>
using namespace std;
//10101xxx06666hhhhhdsafjdsfkdsfh
int n;
int main(){
freopen("duel.in","r",stdin);
freopen("duel.out","w",stdout);
cin>>n;
cou<<n;
return 0;
}
```
### HB-S00021
```cpp
#include<bits/stdc++.h>
using namespace std;
//有没有人告诉我这可碍的题目是啥意思,我头一次在今年csp体会到同学做数学卷子22题应用题读不懂题的感觉
int T,ans,n,a[200400];
int main(){
/*
freopen("color.in","r",stdin);
freopen("color.out","w",stdout);
*/
cin>>T;
ans=T;
while(T--){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
}
if(ans==3){
cout<<1<<endl<<0<<endl<<8;
return 0;
}
if(ans==10){
cout<<18<<endl;
cout<<37<<endl;
cout<<3592<<endl;
cout<<75337<<endl;
cout<<728694<<endl;
cout<<2790568<<endl;
cout<<565203<<endl;
cout<<440224<<endl;
cout<<50720490<<endl;
cout<<3766392328<<endl;
return 0;
}
return 0;
}
```
### HB-S00662
```cpp
#include <bits/stdc++.h>
using namespace std;
int main(){
freopen("colour.in","r",stdin);
freopen("colour.out","w",stdout);
cout<<"Genshin,launch!";
return 0;
}
```
### HB-S00127
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("arena.in","r",stdin);
freopen("arena.out","w",stdout);
long long rp;
while(1) rp++;
return 0;
}
```