洛谷专栏阅读:https://www.luogu.com.cn/article/0atx674s
一、概述
观前提示:本届CSP-S安徽省整活相较于其他省份不是那么“群英荟萃”,观看前请不要小零食(?)
本届CSP-S安徽共有1013人参赛,其中有效准考证号源文件夹共有1006个,7人因为种种原因最终没有留下任何参赛痕迹,让我们为他们致哀
其中AH-S00506考生最为特殊,ta将源文件夹名前多打了一个空格,也是安徽S组唯一一位,让我们为他致哀
这些文件夹的大小在202字节到9145904字节不等,其中AH-S00915不仅荣获最小文件奖,还将“arena”打成了“arean”,甚至文件夹内的文件是.cpp.cpp文件,在一众抽象考生中遥遥领先!
AH-S00385和422考生将测试数据放在了文件夹中导致文件非常大,让我们为以上考生致哀
二、抽象行为大赏
1. 在有限的文件中出现了7549个“114”,66个“114514”,8个“1919810”,3个“1145141919810”
2. 成分太复杂了导致我不想说什么,这里贴代码自己看
/*
__ __
<__X__>
/ _ _ \
| / \_/ \ |
|| ^ ^ ||
\\__v__//
() ()
|| ||
永远喜欢洛佬!!!
初始之音,响彻未来。
华风夏韵,洛水天依。
如果幸福有颜色,那一定是被末日之红染尽的蓝色。
世界上最幸福的女孩子——珂朵莉!!!
Only my RAILGUN can shoot it.
我炮还能再战100年!!!
和我签订契约,成为马猴烧酒吧~
——QB
似乎在梦里见过的样子...
Technoblade never dies!!!
无妹恨穹不是妹,有妹很妹不是穹。
妄想症Paranoia
一重加害
二重变革
三重爱恋
四重罪孽
五重空洞
六重不忠
七重痼病
八重回归
九重现实
三重恋爱
冷重乞愿
零重祈愿
自攻自受
妄想Paranoia
妄想Reality
0721
onanii~
Cyberpunk Edgerunners
saa,ganmu o hajimeiyo!
*/
//顺便提一句,这个380考生四个文件都有这一段()
#include<bits/stdc++.h>
// #include<ext/pb_ds/assoc_container.hpp>
// #include<ext/pb_ds/tree_policy.hpp>
#define ll long long
#define gc getchar
#define pc putchar
#define sc scanf
#define pr printf
#define foru(v,s,e) for(int v=s;v<=(e);v++)
#define ford(v,s,e) for(int v=s;v>=(e);v--)
using namespace std;
int in(){
int x=0;
char c=gc();
while(c<'0'||c>'9') c=gc();
while(c>='0'&&c<='9') x=x*10+c-'0',c=gc();
return x;
}
......
3. 歌词哥
//AH-S00418
/*
风把我不想知道的事情 告诉我
河把我不想忘记的故事 也带走
我摘下我的翅膀 他变成白鸟
白鸟我的白鸟 逆着风去吧
飞过河滩 挥一挥 一去不回还
一去不回还 风起水起难靠岸
白鸟白鸟 不要回头望
你要替我飞去那地方
一去那地方 那是你我共同故乡
抓住和抓不住的照片 哪张更美
去过和没去过的地方 哪里更远
白鸟啊我的白鸟 你要飞得更高不要回来
若还想与我相见 就来我的梦里面
白鸟过河滩 挥一挥 一去不回还
一去不回还 风起水起难靠岸
白鸟白鸟 不要回头望
你要替我飞去那地方
一去那地方 那是你我共同故乡
别回来 我将终究顺流入大海
顺流入大海 海不问我从何处来
长风长风飘在山海间 白鸟白鸟展翅入苍天
一去入苍天 苍天远在海背面
一去入苍天 苍天远比海更远
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=100005;
int tc,sub,n,m,K,nowk,A[N],O[4],a[N],le[N<<2],ri[N<<2],ban[N<<2],lfp[N]; ll cur,ans[N],outval; vector<int>c[21];
struct Qry{
int k,id;
bool operator < (const Qry &a) const { return k<a.k; }
}q[N];
......
//AH-S00526
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,f[N],x,al,no;
int main(){
freopen("duel.in","r",stdin);
freopen("duel.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&x);f[x]++;
}
for(int i=1;i<=100000;i++){
no=min(no+f[i],al);
al+=f[i];
}
cout<<al-no;
return 0;
}
/*
蝉时雨 化成淡墨渲染暮色
渗透着 勾勒出足迹与车辙
欢笑声 与漂浮的水汽饱和
隔着窗 同城市一并模糊了
拨弄着 旧吉他 哼着四拍子的歌
回音中 一个人 仿佛颇悠然自得
等凉雨 的温度 将不安燥热中和
寻觅着 风的波折
我仍然在 无人问津的阴雨霉湿之地
和着雨音 唱着没有听众的歌曲
人潮仍是 漫无目的地向目的地散去
忙碌着 无为着 继续
等待着谁 能够将我的心房轻轻叩击
即便是你 也仅仅驻足了片刻便离去
想着或许 下个路口会有谁与我相遇
哪怕只一瞬的奇迹
夏夜空 出现在遥远的记忆
绽放的 璀璨花火拥着繁星
消失前 做出最温柔的给予
一如那些模糊身影的别离
困惑着 拘束着 如城市池中之鱼
或哽咽 或低泣 都溶进了泡沫里
拖曳疲惫身躯 落入冰冷的池底
注视着 色彩褪去
我仍然在 无人问津的阴雨霉湿之地
和着雨音 唱着没有听众的歌曲
人潮仍是 漫无目的地向目的地散去
忙碌着 无为着 继续
祈求着谁 能够将我的心房轻轻叩击
今天的你 是否会留意并尝试去靠近
因为或许 下个路口仍是同样的结局
不存在刹那的奇迹
极夜与永昼 别离与欢聚
脉搏与呼吸 找寻着意义
我仍然在 无人问津的阴雨霉湿之地
和着雨音 唱着卖不出去的歌曲
浮游之人 也挣扎不已执着存在下去
追逐着 梦想着 继续
请别让我独自匍匐于滂沱世末之雨
和着雨音 唱着见证终结的歌曲
人们终于结束了寻觅呆滞伫立原地
哭泣着 祈求着 奇迹
用这双手拨出残缺染了锈迹的弦音
都隐没于淋漓的雨幕无声无息
曲终之时 你是否便会回应我的心音
将颤抖的双手牵起
迎来每个人的结局
*/
4. 关键词检索,“CCF”共出现了34次,其中放一些典型例子
//AH-S00021
#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("arena.in","r",stdin);
freopen("arena.out","w",stdout);
printf("(笑了一下)人在无语的时候真的会笑一下的\n");
printf("看不懂,思密达!!!!!!!!!!!!!\n");
printf("CCF万岁,CSP-J/S/NOIP/NOI 万岁!!!!\n");
return 0;
}
//AH-S00061,这家伙宏定义全是CCF笑死我了
//Update:2024.11.10
//同时恭喜这位哥们获得AH S组最长火车头奖!!!
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<iomanip>
#include<vector>
#include<queue>
#include<stdio.h>
#include<map>
#include<algorithm>
#include<deque>
#include<cstdlib>
#include<bitset>
#include<stack>
#define CCF 100005
#define CCF1 1000005
#define ll long long
using namespace std;
ll t;
struct edge{
ll le,ri;
}q[CCF],q1[CCF1];
ll QAQ[CCF1];
ll cnt;
ll n,m,L,V;
ll d[CCF],v[CCF],a[CCF];
ll l[CCF],r[CCF];
ll p[CCF];
ll bj[CCF1];
ll sum[CCF1];
ll diff[CCF1];
bool cs[CCF];
bool cmp(edge x,edge y){
if(x.le!=y.ri)
return x.le<y.le;
return x.ri<y.ri;
}
......
//AH-S00558
......
cout<<"CCF I LOVE(= YOU\n";
//if(fl2==0)
//{
// int cnt=0;
// sort(p+1,p+m+1);
// for(i=1;i<=m;i++)has[p[i]]=i;
// for(i=1;i<=n;i++)
// {
// if(c[i].v<=V)continue;
// double sto=c[i].d-c[i].v*c[i].v/2/c[i].a;
// sh[++cnt]={has[lower_bound(p+1,p+n+1,c[i].d)-p],has[lower_bound(p+1,p+n+1,sto)-p]};
// }
//}
}
return 0;
}
//AH-S00485
愿CCF的样例能对我友好一些啊!!!
5. 不说了自己看吧
//AH-S00696
sort(p+1,p+m+1);
//cout<<teshuxingzhia()<<endl;
if(n>=3000){
//cout<<"wcnm";
int ans=0;
for(int i=1;i<=n;i++){
if(v[i]>V&&d[i]<=p[m]){
ans++;
}
}
cout<<ans<<" "<<m-1<<endl;
continue;
}
6. 读不进去
//AH-S00526
//题面样例的负号是怎么回事?读不进去?
/*
仍有不甘 沉默挣扎
我的存在仅仅
是为了搏谁一笑而表演吗
*/
7. 我不会
//AH-S00681
#include<bits/stdc++.h>
using namespace std;
//我不会!
int main(){
freopen("arena.in","r",stdin);
freopen("arena.out","w",stdout);
cout<<1;
fclose(stdin);
fclose(stdout);
return 0;//WA 0
}
8. 让我过吧
//AH-S00683
......
int main(){
freopen("duel.in","r",stdin);
//freopen("arena.in","r",stdin);
freopen("duel.out","w",stdout);
scanf(" %d", &n);
for (int i=0;i<n;i++){
int ri;
scanf(" %d", &ri);
r[i]=ri;
}
printf("%lld", fight());
return 0;
}
/*
orz CCF
让我过吧求求了
*/
9. 我旁边的人开了
//AH-S00882
......
int main() {
freopen("detect.in","r",stdin);
freopen("detect.out","w",stdout);
int T;
scanf("%d",&T);
while(T--) {
memset(p,0,sizeof(p));
memset(d,0,sizeof(d));
memset(v,0,sizeof(v));
memset(a,0,sizeof(a));
scanf("%d%d%lf%lf",&n,&m,&L,&V);
for(int i=1;i<=n;i++) {
scanf("%lf%lf%lf",&d[i],&v[i],&a[i]);
}
for(int i=1;i<=m;i++) scanf("%lf",&p[i]);
sort(p+1,p+m+1);
solve();
}
return 0;
}
//666我旁边的人开了
10. 游记哥
11. 表白哥
//AH-S00959
/*
其实我喜欢你很久了,走过四季的变迁,照亮彼此的人生道路,愿我们的感情能够越来越深厚。喜欢你。我都会对这那颗最亮的星星许愿,希望我们的感情能够越来越深厚。嗯,如果能牵着你的手,每当夜晚降临,我都想对你说……我曾无数次想象,星空璀璨。所以那该有多美好……你知道吗?
*/
// luogu 766675 AFO
12. 空行哥,这位大哥考场上每个文件都有整整一万行,四个文件加起来四万行!
//AH-S00438
#include<bits/stdc++.h>
uing namespace std;
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i];
}
cout << a[i] << n;
return 0;
}
//以下省略9988个空行
Update:2024.11.10
13.怒喷唐氏小孩哥
//AH-S00908
......
printf("%d\n",m-ans);
}
fclose(stdin);
fclose(stdout);
return 0;
}
// 对于性质 A,所有车匀速只要开一个就能检查所有车是否超速。
// 对于性质 B,ai>0 时总会在最后速度最大。因此能够检查到它是否超速的摄像头是从某个位置到最后的。选择最后的一个摄像头即可。
// 对于性质 C,ai<0 保留最早的一个摄像头。
// 以上就有 60pts。没有性质就是同时具有 B 和 C 两种性质。因此确认是否开头结尾都要选择即可。容易知道答案不小于 m-2。我草怎么假了。
// 哦草。不一定从开头驶入是吧。那就 2-points O(n) 检查是否超速。然后找最远的摄像头。最后做最少点覆盖区间。这是 C。
// 结合一下 int ans=0;ABC,A 不用分开考虑。B 应该可以和 C 兼容(转化为区间点覆盖)。但是细节实现大概会变成 qnlogn。
// 期望得分 90pts / 100pts。
// 感觉可以先做到这。
// 左边坐的唐氏小孩哥一直在发出奇异声响。愤怒了。
// 文字很难表述我现在愤怒的心情。
// 我超小孩哥发现了 t3 题面的问题。强啊。
// 16:06 完成了第一部分。草。怎么这么慢啊。
// 放在 luogu 上大概是思维黄题 代码量蓝题。
// ——这里是文文厨 AH-S00908,AH 交通广播 90.8 为您报道。
// 哦我草小孩哥开始左右扭动了。
// 等一下要考虑特殊情况
// 16:52 终于调完了。草。欸我怎么在天上飞阿!!!
// 看看特殊情况。如果恰好 B 和 C 都不超速,只有一个 A 超速。好像我会挂成 0。好像也不是。那没事了。期望得分来到 200pts。还剩 1h30min。
//是的和上面还是同一个人
......
int main()
{
freopen("color.in","r",stdin);
freopen("color.out","w",stdout);
int T;
scanf("%d",&T);
while(T--)solve();
fclose(stdin);
fclose(stdout);
return 0;
}
// 题目转化为数列分成两组,使得分别相邻同数的和最大。
// 考虑 n 方 dp。冲击一下 60pts。因为没有多测似乎也可以贪心乱搞。
// 2^15 暴搜有 20pts。nV^3 dp 大概有 30~40 分。
// 首先猜测结论:同种数字放在同组里一定不劣,因为 ai 的值至少也为 1。但是好像比较难以直接使用啊。
// 设 dp[l,r] 为 [l,r] 一段的答案最大值。然后发现有后效性。乐。
// 干不动而且时间不够了。写个 nV^3 走人。哦草好像假了。啊得大改了。
// 现在成 n^3 了。先看 t4 再写。
// 17:57 写完了 t3 的 n^3。感觉自己打的还是比较唐的。t1 浪费 15min。t2 劲爆调试 2h。t3 敷衍收尾还调了 30min。
// 如果不挂分的话 AH 1= 肯定没问题。但是感觉自己还是严重的太菜了。
// 还剩 0.5h 不知道做什么。t4 看不懂。现在请大家欣赏小孩哥驯服嘴部的珍贵影像。