回顾
代码总长达到了 14k。
lock
约 25 分钟通过。
game
https://www.luogu.com.cn/problem/CF1223F
如果存在两个前缀满足它们所对应的栈的状态一致,那么这两个前缀的差就是合法序列,因为中间部分被削除了。
我将之弱化到了“栈的大小一致”,结果假假假。
我是什么 Shaber!1.5h 时完成 50 分。
struct
近 3h 时通过了所有大样例。
细节如下:
- 4 操作特判“没有任何 2 操作”,输出 ERR;
tree
最后一小时开,考虑二分答案,然后算各节点最晚种的时间。
各节点最晚种的时间,拆了半天式子不会解,所以直接二分。
接下来的贪心更假。我对点按最晚种的时间排序,对于各点暴力向上跳;而正解是,一个点的真实的最晚种的时间被儿子更新,du=min(dv-1)。
估分情况
10.22 13:26:洛谷 100+50+100+60=310
10.22 13:33:云斗 100+50+100+55=305
10.22 13:34:小图灵 100+50+100+55=305
10.29 17:41 最终出分 100+50+100+90=340 CCF NB!!!
反思
时间分配与代码实现问题
gwx 的 T3 不到 2k。我写到了 6.7k。
我没有学会正确的变量命名方式。
对比。
for(int i=1;i<=types[typecnt].memc;++i)
types[typecnt].memstart[i]=(
i==1?0:
ceilto(types[typecnt].memstart[i-1]
+getsize(types[typecnt].memtyp[i-1])
,getdqyq(types[typecnt].memtyp[i])));
auto &ptr = f.ls[n].o;
ptr = assign(las, q[u].as);
las = ptr + q[u].sz;
f.ad[ptr] = {f.ls[n].t, n};
不要重复写同一个,可以写一个 auto const&
。
变量名可以在必要情况下缩写。若没有缩写,vim 下用 Ctrl-N 自动补全。
思维技巧问题
假了,就应该对限制强化,但我没有做实质上的强化。