开场先看 t1,发现答案的分子就是 \(\sum_i\) 颜色 \(i\) 在 A 中的出现次数乘上颜色 \(i\) 在 B 中的出现次数,分母就是 B 的长度,就去写了一个按颜色的出现次数分类的东西,复杂度为 \(O(n\sqrt q+q\sqrt n)\),交上去直接 pp 了。数组
而后去看 t2,感受是个分类讨论题,想了一下感受第一问仍是很可作的,就去写第一问了。优化
过了一会发现 A 题空间是 \(O(q\sqrt n)\) 的,就去改为了 \(O(n\sqrt n)\) 的。spa
而后就去把 t2 的第一问写完了。指针
接着就去作 t3 了,先把暴力写了,而后看了一下提示,说是要容斥。想了一会并无想到怎么容斥。code
被打爆了。排序
pt 分:\(100+60+10=170\)游戏
出来后欧稳欧、zjt 都说 t3 是傻逼题。图片
晚上鸽了开幕式去睡觉了。文档
先看了 t1,感受能够点分。过了一会发现直接线段树合并就行了(固然也能够离线树状数组),花了半个小时写了一下交上去就 pp 了。图像处理
t2 看到 feature2
能够把重心求出来就去想点分了。怎么想都只会 \(O(n\log^2n)\) 的垃圾作法。写完后交上去直接过了除了 \(lim1=3999,lim2=3997\) 的点。而后构造了几组数据卡了卡常,就没管了。
t3 我好像以前看过相似的题,想了一下,直接对凸包的最后一条边DP是 \(O(n^4)\) 的,按极角排一下序就 \(O(n^3)\) 了。因而就花了半个多小时写完了。感受仍是挺好写的。
而后回来看 t2,发现仍是不会。
被打爆了。
pt 分:\(100+79+100\)
出来后 zjt 又说 t2 是傻逼题,只要没去想点分治,一层层作就 win 了。
8 个图像处理题。
开场翻了一下手册,感受要从前日后作。
先花了半个多小时把前两个点写了,而后花了一个半小时搞中间两个点,最后剩下一点时间把第五个点写了。
感受前面几个点都没什么技术难度,把文档读完而后对着文档写就行了。
读文档必定要仔细,有几个同窗就由于读漏了某些条件被坑了。
感受正常人都不太能写得完。。。我只写了前面五个点。神仙 zjt 写完了前面七个点。
上午在报告厅听讲评,顺便和神O、神J、麦老大、老K聊天。讲题人说两天的 t3 都只有个位数的人过。
下午听学长们介绍算协、科协,听 LazyJazz 讲提早上学、光线追踪、写游戏,还有清华老师吹水。而后就发协议奖状了。
今年由于某些缘由,不能直接发协议,只能先发奖状。
显然答案的分子就是 \(\sum_i\) 颜色 \(i\) 在 A 中的出现次数乘上颜色 \(i\) 在 B 中的出现次数,分母就是 B 的长度。
把询问拆成四个前缀的询问,而后直接莫队就行了。
块大小设为 \(O(\frac{n}{\sqrt q})\),复杂度为 \(O(n\sqrt q+q\log q)\)。
大力分类讨论。
先把第一次 \(A=B\) 就中止变成要求 \(m\) 次操做后 \(A=B\)。
记 \(f(i)\) 为第 \(i\) 次操做后 \(A=B\) 且前面都不知足要求的方案数,\(g(i)\) 为第 \(i\) 次操做后 \(A=B\) 的方案数,\(w\) 为 \(A=B\) 以后每次操做可选的方案数,就有 \(f(i)=g(i)-wg(i-1)\),求一下和就有 \(\sum_{i=1}^m f(i)=\sum_{i=1}^m g(i)-\sum_{i=0}^{m-1}wg(i)\)。
而后容斥,枚举最终有多少个 \(i\) 不知足 \(a_i=b_i\),而后就是要求:某些点 \(a_i\geq b_i\),某些点 \(a_i>b_i\) 的方案数。
对于每个 \(b_i\) 的值分别DP。
每一层记 \(h_{i,j}\) 为考虑了前 \(i\) 个位置,不合法的区间个数为 \(j\) 的方案数(乘上容斥系数)。由于合法区间个数是 \(O(n^3)\) 的,不合法的区间个数只有 \(O(n^2)\)。转移的时候枚举下一个位置是选 \(b_i\) 仍是选 \(b_i+1\),直接多项式乘法便可。
时间复杂度:\(O(n^4)\)。
对于每一条边 \(i\),计算子树内有多少个点 \(j\) 知足 \(a_i+c_j\leq b_i+d_j\) 以及 \(c_j\)、\(d_j\) 的和。子树外同理。
而后随便搞搞就行了。
先用 \(n-1\) 次 feature1
算出每一个点的深度,而后对于每一个点求它的父亲是上一层的那个点,每一个点求父亲能够用一次 feature2
或 \(O(\log n)\) 次 feature1
操做完成(要注意到询问的集合是可重集)。
\(\overline{x}=\frac{\sum x}{m},\sigma^2=\frac{x^2}{m}-{(\frac{\sum x}{m})}^2\)。这样就只用计算方案数、面积和、面积的平方和了。
DP出下凸壳的两个端点为 \(i,j\) 的方案数:记 \(f_{i,j,k}\) 是左端点为 \(i\),最后两个点为 \(j\) 和 \(k\) 的信息。转移时枚举下一个点 \(l\),判断是否可行,转移到 \(f_{i,k,l}\)。按极角排序一下而后用双指针扫一下能够优化到 \(O(n^3)\)。
而后把两个凸壳拼在一块儿就行了。
对着文档码码码就行了。