C T H

news/2024/9/27 21:12:26

$\ \ \ \ \ \ \ $HZ的机房的格局,是和别处不同的:都是当街一个曲尺形的大柜台,柜里面预备着热水和各色各样的饮料。

$\ \ \ \ \ \ \ $学OI的人,上午下午有了奥赛课,便来机房学习,有时还可以附送一部题单,一边学习一边刷题。倘肯多花一块钱,便可以买一些内部资料,如果出到十几块钱,那就能买到大佬的授课。但这些OIers,多是短衣帮,上网学的东西都是拿不上台面的,所以都是站着上网的,教练一来,也好撒腿就跑,短衣帮大抵没有这样阔绰。只有穿长衫的,才踱进店面隔壁的房子里,要题要课,慢慢地一边坐一边看。

  我从十二岁起,便在HZ的机房里当伙计。一开始,教练说,样子太傻,怕侍候不了长衫主顾,就在外面做点事罢。外面的短衣主顾,虽然容易说话,但唠唠叨叨缠夹不清的也很不少。他们往往亲自带着计数器,下课的时候要看看网站有没有少算AC了的题,然后才放心:在这严重监督下,对网站计数器做手脚也很为难。所以过了几天,教练又说我干不了这事。幸亏荐头的情面大,辞退不得,仍在机房里学习罢了。

  我从此便整天的站在柜台里,专管我的职务。虽然没有什么失职,但总觉得有些单调,有些无聊。教练是一副凶脸孔,主顾也没有好声气,教人活泼不得;只有 CTH 到机房,才可以笑几声,所以至今还记得。

  CTH 是站着写题而穿长衫的唯一的人。他身材很高大;青白脸色,时常带些伤痕。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。他对人说话,总是满口窝草里吗,教人半懂不懂的。因为他姓C,别人便从描红纸上的“上大人CTH”这半懂不懂的话里,替他取下一个绰号,叫作CTH。

$\ \ \ \ \ \ \ $CTH 一到店,所有喝酒的人便都看着他笑,有的叫道“ CTH ,你又没有思路了!”他不回答,只是将题解 ctrl+c 再 ctrl+v 到 subline。他们又故意的高声嚷道,“你一定又写不出代码了了!” CTH 睁大眼睛说,“你怎么这样凭空污人清白……” “什么清白?我前天亲眼见你复制了别人的整段代码,吊着打。” CTH 便涨红了脸,额上的青筋条条绽出,争辩道,“复制代码不能算复制……借鉴!……OIer的事,能算借鉴么?”接连便是难懂的话,什么“拓展思路”,什么“学习”之类,引得众人都哄笑起来:评论区内外充满了快活的空气。

  听人家背地里谈论, CTH 原来也学过OI,还是Pascal和Python,但终于没有进学,又不会营生;于是愈过愈穷,弄到将要讨饭了。幸而写得一手漂亮的代码,运行起来很快很强大,便接一些私活,换一碗饭吃。可惜他又有一样坏脾气,便是摆着学过其他语言的架子愤世嫉俗。坐不到几天,便在同学的代码里面挑刺,说这段复杂度不对,那段常数太大……搞得团队很紧张,经常延误工时。如是几次,叫他做事的人也没有了。 CTH 没有法,便免不了偶然写写题解。

   CTH 写过半道题,涨红的脸色渐渐复了原,旁人便又问道,“ CTH ,你当真会OI么?” CTH 看着问他的人,显出不屑置辩的神气。他们便接着说道,“你怎的连半个奖牌也捞不到呢?” CTH 立刻显出颓唐不安模样,脸上笼上了一层灰色,嘴里说些话;这回可是全是指针堆栈之类,一些不懂了,随口便抛出一句:“你们这些人,要回家复习功课了”,在这时候,众人也都哄笑起来:评论区内外充满了快活的空气。

  在这些时候,我可以附和着笑,教练是决不责备的。而且教练见了 CTH ,也每每这样问他,引人发笑。 CTH 自己知道不能和他们谈天,便只好向孩子说话。有一回对我说道,“你写过程序么?”我略略点一点头。他说,“写过,……我便考你一考。数据结构里的线段树,怎样在实现单点修改和区间求和?”我想,讨饭一样的人,也配考我么?便回过脸去,不再理会。 CTH 等了许久,很恳切的说道,“不会罢?……我教给你,记着!这些模板应该记着。将来做教练的时候,混饭要用。”我暗想我和教练的等级还很远呢,而且我们教练也从不讲线段树;又好笑,又不耐烦,懒懒的答他道,“谁要你教,不就是线段树将每个长度不为 1 的区间划分成左右两个区间递归求解吗?” CTH 显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说,“对呀对呀!……线段树有四样写法,你知道么?你的这个办法不好,有很多冗余,万一有人写错了,也不好追查责任,我写给你看,你看我的代码,优美极了”:

#include<bits/stdc++.h>
using namespace std;
int n,m;
const int MAX=1e5+10;
int a[MAX];
struct node{int l,r,max,sum;
}tree[MAX<<2];
int lson(int x) 
{return x << 1;	
}
int rson(int x) 
{return x<<1|1;
}
void build(int rt,int l,int r)
{tree[rt].l=l;tree[rt].r=r;if(l==r){tree[rt].sum=tree[rt].max=a[l];return;}int mid=(l+r)>>1;build(lson(rt),l,mid);build(rson(rt),mid+1,r);tree[rt].sum=tree[lson(rt)].sum+tree[rson(rt)].sum;tree[rt].max=max(tree[lson(rt)].max,tree[rson(rt)].max);
}
void update(int rt,int pos,int v)
{//cout<<'#';if(tree[rt].l==tree[rt].r){tree[rt].sum=tree[rt].max=v;return ;}int mid=(tree[rt].l+tree[rt].r)>>1;if(pos<=mid) update(lson(rt),pos,v);else update(rson(rt),pos,v);tree[rt].sum=tree[lson(rt)].sum+tree[rson(rt)].sum;tree[rt].max=max(tree[lson(rt)].max,tree[rson(rt)].max);
}
int query(int rt,int l,int r)
{if(l<=tree[rt].l&&tree[rt].r<=r) return tree[rt].sum;int mid=(tree[rt].l+tree[rt].r)>>1;if(r<=mid) return query(lson(rt),l,r);else if(l>mid) return query(rson(rt),l,r);else return (query(lson(rt),l,r)+query(rson(rt),l,r));
}
int main()
{cin>>n;if(n==0) {//cout<<0;return 0;}for(int i=1;i<=n;i++) cin>>a[i];build(1,1,n);cin>>m;string s;for(int i=1;i<=m;i++){//for(int i=1;i<=n;i++)cin>>s;if(s[0]=='S'){int x,y;cin>>x>>y;cout<<query(1,x,y)<<endl;}else{int x,y;cin>>x>>y;update(1,x,y+a[x]);a[x]=y+a[x];}}
}

$\ \ \ \ \ \ \ $我愈不耐烦了,努着嘴走远。写完后,CTH 向教练讨来一副模板,还想继续说些什么,见我毫不热心,便又叹一口气,显出极惋惜的样子。

   CTH 是这样的使人快活,可是没有他,别人也便这么过。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/65543.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

『模拟赛』CSP-S模拟5

『模拟赛记录』CSP-S模拟5Rank 一般A. 光 胱! 妈的传奇题目控我两个小时想 \(\mathcal{O(1)}\) 做法。 其实带下取整的四个四元一次方程根本解不了,考虑到这个题给的范围只有 \(n\le 1500\),可以枚举两维剩下二分到一个小区间里去做,复杂度 \(\mathcal{O(n^2\log n)}\),当…

pbootcms自动生成当前页面二维码

在PbootCMS中,生成二维码标签可以帮助用户更方便地访问特定的页面或内容。下面详细介绍如何在首页、列表页和文章内容页生成二维码标签。 生成二维码标签的方法 PbootCMS 提供了 {pboot:qrcode} 标签来生成二维码图片。这个标签可以用于生成对应文本的二维码图片,适用于各种页…

PbootCMS模版制作:当天发布的文章显示红色的方法

在PbootCMS中,如果你想让当天发布的文章显示为红色,可以通过条件判断来实现这一功能。具体步骤如下: 实现步骤获取当前日期:获取当前日期,并将其格式化为 m-d 格式。比较发布日期:比较文章的发布日期与当前日期是否相同。设置样式:如果发布日期与当前日期相同,则设置文章标…

PBootCMS后台系统内容修改

apps/admin/view/default/system/home.html 可以修改后台首页服务器信息扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML…

征程 6E/M 快速上手实战 Sample-Camera

01 Camera 模块简述 本文档简单介绍 Camera 子系统软件架构、列出已支持的 Camera 模组,并提供相应的配置说明,同时引用 Sensor 点亮调试方法介绍一颗新模组接入的步骤,再按根据重要功能按专题介绍接入方案限制、EMB 接收等,并最终汇总平台已有单板的 Camera 接入使用说明,…

章15——泛型generic

泛型的引入泛型引入前后代码的比较 public static void main(String[] args) {ArrayList arrayList = new ArrayList();arrayList.add(new Dog("wang",10));arrayList.add(new Dog("xin",1));arrayList.add(new Dog("ran",5));//遍历for (Object…

QGIS 操作

qgis 两个shp 文件 合并 去重,导出新的shp qgis 导出shp

IDA pro

网上可以找多许多讲解IDA pro的使用教程,想着自己能写一个尽量全一点的,于是补写了本片文章(本篇文章只讲解使用,默认大家都会下载与安装) 参考: https://lazzzaro.github.io/2020/05/12/reverse-IDA/ https://www.cnblogs.com/Chary/p/17195663.html页面介绍 静态分析界面…