NOIP2017游记

day1

  开场先写t1。

  卧槽!这是啥啊!d1t1就考数论题?不管了,先写个暴力。然后慢慢推。这个好像扩欧啊,先算出\(ax+by=1\)的解,然后每次在当前解加上这个东西。写了一半发现并不能算出最大的解。

  然后就开始猜结论。不妨设\(a>b\),对于\(c\mod a=i\),算出最小的合法的\(c\),答案就是所有的\(c\)的最大值再减掉\(a\)。突然发现这不就是\((a-1)b\)吗?再减掉\(a\)就是\(ab-a-b\)。于是就这么做出来了,但是已经花了\(50\)分钟了。

  出来后有人把这道题挖了出来,就是一道小学奥数题。

  t2就是一道简单字符串模拟题,很快就写完并写过了大样例。然后想到一个问题,如果上界和下界是另一个循环变量会发生什么?于是就没有再去确认题意直接开始写了。随便脑洞了一个方法,写了接近\(200\)行。出考场后zjt一说才发现做了一道升级版的题。。。

  t3是一道最短路+DP题。先把最短路部分和判\(-1\)的部分写完。设\(d_i\)为从\(1\)\(i\)的最短路长度,\(f_{i,j}\)为从\(1\)\(i\),长度为\(d_i+j\)的方案数。然后开始思考DP的顺序,如果对于两个点\(i,j\)\(d_i\neq d_j\),那么\(i\)应该比\(j\)先转移。如果\(d_i=d_j\),那么就要把边权为\(0\)的边拿出来跑拓扑排序,按照拓扑序转移。

day2

  t1就是简单BFS题。考到一半发现会爆long long,就加了一个特判。出考场后一问,很多人都没加。

  t2看到\(n\leq 12\),感觉挺像暴搜的。随便写了一个暴力,加了最优性剪枝,跑过了\(n=8\)。然后开始剪枝。钦定转移的顺序。如果这次转移的点的深度小于上一次转移的点的深度就剪掉。还有一些奇奇怪怪的剪枝。最后\(n=12\)跑了\(0.5\)s,感觉能过。出考场后一问,他们都写了\(n3^n\)的状压DP,就我一个退役选手写了暴搜。

  t3就是一道数据结构题,是吉老师出的。NOIP开始光明正大的出数据结构题了。用\(n\)棵平衡树维护每行前面\(m-1\)个点,再用一棵平衡树维护所有行的最后一个点。每次最多会分裂一个点,总的点数就是\(O(n+m+q)\)的。感觉能过。
  

退役了退役了

  upd:最终拿了\(570\)分,d1t3被卡常了。

posted @ 2018-03-06 11:35  ywwyww  阅读(377)  评论(0)    收藏  举报