UOJ Logo huangsi的博客

博客

BJOI2017day1

2017-04-17 07:54:32 By huangsi

今天(4月16日)总算到了BJ省选day1的日子啦,一大早起来去北WA路考试。到了以后晃了两圈按照要求在机器上装了个Dev-C++5.11就没有事做,过了一会看到别人已经在看PDF了,这才发现考试开始了。。。

第一题。makina?一看这出题人就是个死宅。题目背景好几页,读了五分钟看不懂,果断弃。第二题描述很简练。树分治?想了那么三分钟觉得挺可做的,就去看第三题。第三题是个字符串题,没怎么想,推了推第二题,就开始写,觉得几个数组推一推就搞定了。这时已经八点二十了。问了一下栈的大小,结果两个监考员嘀咕了半天,告诉我在Windows下用cena评测。算了不耽误时间了,BFS保平安吧。

T2写了一会发现分治后数组上扫好像不那么显然,可能要一个set。马上又发现智障了,复杂度还不对,应该是线段树。20w,2s,不开O2,$log^2 n$,线段树?看来要被卡常卡掉几个点了。犹豫了一会,开始写。各种困,各种不想写。

写完了开始编译。max undefined?5.11的锅吧,自己写了一个。queue undefined?什么鬼啊。sort也undefined?总算发现using namespace std;没开,智障。。。十点刚过的时候T2过了样例,敲了个对拍和datamaker。小数据都顺利地过了。测了个20w,发现树分治跑了2s多。又测了一组链的情况,卧槽,22s!这就肯定不是常数问题了,一定是复杂度出了锅。然后各种调试,各种计数器。。。程序还TM跑的那么慢。。。中间等对拍跑的时候看了看第三题,发现前六十分就是裸的AC自动机,很好拿。十点五十的时候我想要是到了十一点T2还没有进展就果断弃聊,先干掉AC自动机。

终于到了十点五十七分,我发现了线段树的Change和Query居然一共调用了60多亿次!计数器都爆int了,开了long long才记下来。线段树还能错?我盯着哪个Query检查。if(left==right)return o->d;???就是说Query的时候一定会递归到底。MDZZ,赶紧改过来。又跑了一组数据。WA了?原来Change也错了,改过来,测了一下极限数据,跑了2.4s,凑活了吧,就当会T两个点。

这时十一点一刻。花了二十分钟把AC自动机写出来,测了测过了样例,应该能有60分。后40分是矩阵快速幂?这跟去年的打字机有什么区别啊,出题人也太省事了吧。后面有20还挺水的,马上开始矩阵快速幂。很快写出来了,结果快速幂部分莫名RE。怎么改也不对,把结构体名字从matrix改成Matrix也没用。最可气的是就算把文件输入输出全注释掉,改成屏幕读写,一运行,直接就RE,连数据都还没有输入。。。在RE的地方前面加个while(1);就好了,莫名其妙。。。折腾来折腾去也没有结果。

过了一会已经十二点半了,想着今天题这么水应该有好多上200的吧。看来要滚粗了。十二点三十四分的时候弃疗,去写T1的30分特大暴力。这时周围的键盘声已经没有那样密集了,很多人已经开始扫雷了。使劲码,WA了几次,到十二点五十几的时候总算过了样例。然后迅速看了看文件名,输入输出,把代码复制进提交文件夹里。看了看表,十二点五十九分零四秒!然后在草稿纸上写下大大的GG,瘫倒在座位上。

预估30+80+60=170

吃饭时moorhsum说他炸了。他跟QHF(初中母校)的wys(和某位大神的姓名缩写重名的另一位大神)互相赌20块钱谁考得低。。。

吃完饭在操场上转了一圈,觉得最放不下心的是AC自动机没对拍。想想也没有关系,今年滚粗了就好好学课内,明年再来。。。

过了好久总算测完了,居然是25+90+60=175,T1暴力有一个地方把n写成m了,WA了5分(居然只少了5分),T2只T了一个点。hld67890好强啊,220rank3。上200的人其实只有4个,看来BJ变得比去年弱了。

正解T1管道取珠,$n^4$的DP。T2单调队列,T3就是快速幂。还是太弱了,T1T2正解都想不出来。

今天还算不错吧,并列rank7,争取下周好好考,进BJ队还是有那么一点点希望的。

评论

huangsi
@huangsi
peehs_moorhsum
%%%
sxysxy
%%%%
tbw1033
%huangsi
mcfxmcfx
矩阵re大概是构造函数、矩阵乘法和数组越界的锅
peehs_moorhsum
省选后挖坟 于是您进了A队
oscar
NOI后挖坟
wzj
NOIP后挖坟 为什么我T2也是O(Nlog^2N)的分治T成了30分(

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。