day 0
原来我们还是要期中考试的丫
停课了十几天能考出个啥……
不管不管先去学军好了,我要死在学军
报道的时候我们居然被分到绍兴那边去了。然而义乌不是属于金华的么?我们学校还是改名叫绍兴中学附属中学好了
然后拍照的时候边上走过来一个学校,大概有几十个人,好像都是来参加复赛的
于是才明白我们这乡下学校有多么弱鸡
晚上老师带我们吃了顿好的,睡觉前又把前几天更的剑来补完了。完全没准备明天的比赛因为完全不知道准备啥
day 1
六点起来吃早饭,不得不说宾馆里的早饭真的太丰盛了我真的想死在杭州不回去了。
在休息厅里碰到好多衢二大佬,zzk,ljn,jz,ltl(然而似乎都不认识我这个大菜鸡)。也看到纳尔了,然而一眼之后就找不到了
进考场了,右边坐着个初二的,压力有点大……
(T1)仔细一看,yy了一下觉得可以贪心,就是从左到右扫过去,(ans+=max(0,a[i]-a[i-1])),yy了一下发现正确性没错
(T2)看了看想到了前几天模拟赛做的一道题目,简而言之就是先排个序,从小到大判新加的物品能不能被之前的物品表示出来,也就是判断(a_1x_1+a_2x_2...+a_mx_m=p)((p)即新加的物品,前面的(a)表示之前已经加过的物品)。如果这个方程有非负整数解就跳过,否则就把新的物品加进去。设(a_1)为最小的,那么化为(a_2x_2+...+a_mx_mequiv ppmod{a_1}),然后在膜意义下跑最短路,看看(dis[p\% a_1])是否小于等于(p)即可。加上几发玄学剪枝,勉强跑过极限数据
(T3)发现是个二分+贪心,所有节点维护一下每一个儿子能往下伸的最长链,如果有两条链合起来能达到二分的长度就(++res),最后判断(res)是否大于等于(m)即可
然而发现大样例死活过不去。冷静思考了一下发现对于每条链得去(lower\_bound)找能和它接一起的,于是每个节点开了个multiset。过了大样例非常高兴,测了下极限数据,2s
吐血,考虑各种玄学优化,比如说每个节点用vector来存,码了半小时再测,4s
算了能有几分给几分好了……
然后根据被jzoj坑的经验,悲催的发现如果是链的话dfs会爆栈,于是趁最后特判了一下链的情况
预计得分100+100+???=2??
出来之后上了个厕所……md怎么厕所里全都是AK的,不上了影响心情……
听说某纳尔一个小时就AK了……而且屏幕左边拍一个,右边拍一个,中间一个扫雷……
听说,(T2)可以背包?我好像想复杂了
听说,今天三题全有原题?好吧我还是刷题太少……
下午不小心把剑来看完了,于是又开了个新坑
晚上好像睡太早了……他们吃宵夜都没带上我……
day 2
早饭一如昨天的好吃啊……
刚进休息厅就碰到纳尔了,于是坐他边上趁他睡着的时候戳他衣服上的纳尔玩
我本想今天干脆三份退火骗分好了,然而纳尔一句“计数题呢”把我拉回了现实
(T1)刚开始没看(m)的范围,想了个贪心发现是错的。看了看(m)发现贪心没问题,再仔细看看发现对(n=m)的情况不行
后来想了想,如果(m=n-1),就从每个点优先向他字典序小的儿子遍历,如果(n=m),为了更优肯定有一条边不用走,枚举一下是哪条边就行了
然而我似乎没特判链的情况……dfs可能要爆栈了……
(T2)还真是计数题?不管了打表打表,打了一个小时的表发现啥规律也没有,只能无奈地把(3*3)的表以及(n=2)的情况给打起来
(T3)一开始还以为(m)为边数,想了半天怎么搞掉环
后来发现这居然是一棵树?暴力树形dp好了……
又想了想链的情况,发现如果有一个点必为(1)和询问的点相邻的情况可做,正着跑一遍反着跑一遍然后加起来就行了
然而不知出什么毛病了,最后检查的时候发现一堆bug,赶着最后的时限把找到的都改了,不知还有多少没发现的
预计得分100+45+64=185
出来后听说什么动态链分治啦状压dp啦(虽然前者没有听说过然而在我心中还是后者更难),算了乖乖滚粗吧
发现个尴尬的事情,我平时考试一般都是老师提醒提交之后才建子文件夹的。所以……我考场上到底有没有建子文件夹……
洛谷上测了一下,发现自己的d1t3链特判的时候忘记赋初值了……(95->65)
原来链的时候dfs不会爆栈的么……被jzoj坑了……
d2t2一个特判(m)打成(n)了,(45->25)
d2t3特判写了(n<=1000),而且字符串读进来的时候读错了(64->28)
呵呵……我脑子里在想什么……
实际100+100+100+100+20+44=464
day 3
wc去不了了滚回去学文化课了