DAY1

  开场先看 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)\) 的。

  然后就去把 t2 的第一问写完了。

  接着就去做 t3 了,先把暴力写了,然后看了一下提示,说是要容斥。想了一会并没有想到怎么容斥。

  被打爆了。

  pt 分:\(100+60+10=170\)

  出来后欧稳欧、zjt 都说 t3 是傻逼题。

  晚上鸽了开幕式去睡觉了。

DAY2

  先看了 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 了。

DAY2+

  8 个图像处理题。

  1. 计算一个序列的 ADLER32 校验码(20分)
  2. 计算一个序列的 CRC32 校验码(30分)
  3. 读取简单 PNG 图片(50分)
  4. 写入简单 PNG 图片(50分)
  5. sobel 算子 边缘检测(20分)
  6. halton 序列 随机采样(20分)
  7. 基于像素的纹理合成(30分)
  8. 基于块的纹理合成(80分)

  开场翻了一下手册,感觉要从前往后做。

  先花了半个多小时把前两个点写了,然后花了一个半小时搞中间两个点,最后剩下一点时间把第五个点写了。

  感觉前面几个点都没什么技术难度,把文档读完然后对着文档写就好了。

  读文档一定要仔细,有几个同学就因为读漏了某些条件被坑了。

  感觉正常人都不太能写得完。。。我只写了前面五个点。神仙 zjt 写完了前面七个点。

DAY3

  上午在报告厅听讲评,顺便和神O、神J、麦老大、老K聊天。讲题人说两天的 t3 都只有个位数的人过。

  下午听学长们介绍算协、科协,听 LazyJazz 讲提前上学、光线追踪、写游戏,还有清华老师吹水。然后就发协议奖状了。

  今年因为某些原因,不能直接发协议,只能先发奖状。

题解

DAY1

A

  显然答案的分子就是 \(\sum_i\) 颜色 \(i\) 在 A 中的出现次数乘上颜色 \(i\) 在 B 中的出现次数,分母就是 B 的长度。

  把询问拆成四个前缀的询问,然后直接莫队就好了。

  块大小设为 \(O(\frac{n}{\sqrt q})\),复杂度为 \(O(n\sqrt q+q\log q)\)。

B

  大力分类讨论。

C

  先把第一次 \(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)\)。

DAY2

A

  对于每一条边 \(i\),计算子树内有多少个点 \(j\) 满足 \(a_i+c_j\leq b_i+d_j\) 以及 \(c_j\)、\(d_j\) 的和。子树外同理。

  然后随便搞搞就好了。

B

  先用 \(n-1\) 次 feature1 算出每个点的深度,然后对于每个点求它的父亲是上一层的那个点,每个点求父亲可以用一次 feature2 或 \(O(\log n)\) 次 feature1 操作完成(要注意到询问的集合是可重集)。

C

  \(\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)\)。

  然后把两个凸壳拼在一起就好了。

DAY2+

  对着文档码码码就好了。

THUWC2019 游记的更多相关文章

  1. THUWC2019游记

    Day -INF 听说自己苟进了THUWC,然而我还什么都不会啊,这样去了不得被吊打. 随便列了几个WC前的计划,然而到最后一个都没有完成,感觉学习效率好低啊,周围一众神仙天天吊打我. Day 0 坐 ...

  2. 【比赛游记】THUWC2019酱油记

    往期回顾:THUSC2018酱油记 day 0 早上 7 点的动车,不知道是从哪儿到哪儿的(雾),只知道从福建到广东 233333 一个值得思考的问题:福建人会不会被广东人吃啊? 动车上玩空洞骑士,可 ...

  3. @游记@ THUWC2019

    目录 @day -???@ @day -30~-1@ @day 0@ @day 1@ @day 2@ @day 3@ @day -???@ 我这个蒟蒻居然收到了 THUWC 的邀请? 那就去试试运气吧 ...

  4. 【比赛游记】NOIWC2019冬眠记

    上接THUWC2019酱油记. 贴一点文艺汇演的精彩表演: https://www.bilibili.com/video/av42089198/ https://www.bilibili.com/vi ...

  5. 【比赛游记】THUSC2019酱油记

    往期回顾:THUWC2019酱油记 时间过得真快呐-- 上次在 THUSC 手玩 AI 的情景还未走远,明天却要迎来全新一年的赛事了-- 掐指一算,作为一个真正的 OIer 的时光也不多了啊 day ...

  6. 【20161203-20161208】清华集训2016滚粗记&&酱油记&&游记

    先挖坑(这个blog怎么变成游记专用了--) 已更完 #include <cstdio> using namespace std; int main(){ puts("转载请注明 ...

  7. 【20160722-20160728】NOI2016滚粗记&&酱油记&&游记

    先挖坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.c ...

  8. NOIp2016 游记

    DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...

  9. NOIP2016游记

    只是游记而已.流水账. Day0:忘了. Day1:看完T1,本以为T2一如既往很简单,结果看了半天完全没有思路.然后看了一眼T3,期望,NOIP什么时候要考期望了,于是接着看T2.一开始我推的限制条 ...

随机推荐

  1. 每周分享五个 PyCharm 使用技巧(二)

    这是 「PyCharm 技巧分享」系列的第二篇分享.由于上一篇文章得到了大家的一些赞同,所以今天又来给大家推荐一些我平时自己有用的小技巧,大家择需所取即可. 先声明下,并不保证对所有的人都是有帮助的, ...

  2. RAC(ReactiveCocoa)介绍(一)

    最近在学习RAC,之前在iOS工作中,类之间的传值,无非是block.delegate代理.KVO和Notification等这几种方法.在RAC中,同样具备替代block.delegate代理.KV ...

  3. DS控件库 在Combobox中嵌入远程桌面

    本示例演示DS开放式下拉列表控件中加入一个RDP远程桌面控件. 先在VS工具箱中添加COM控件Microsoft RDP Client Control,后面的Version版本可以适当高点. 然后将R ...

  4. C#工具:加密解密帮助类

    using System; using System.IO; using System.Security.Cryptography; using System.Text; //加密字符串,注意strE ...

  5. PHP正则表达式二分法实现mysql盲注脚本

    $sUrl = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $sPost = 'inject=Inject&injection='; $sCharset = 'AB ...

  6. MySQL数据库中的四种隔离级别

    事务的隔离性比想象的要复杂,在 SQL 标准中定义了四种级别的隔离级别.通常而言,较低级别的隔离通常可以执行更高的并发,系统的开销也更低 READ UNCOMMITTED 该级别为未提交读.在该级别中 ...

  7. css——行内元素和块级元素的具体区别与行内块元素

    (学习笔记) 行内元素(inline)和块级元素(block)都是display属性的值.要知道行内元素和块级元素的区别,首先要了解他们的特性. 行内元素的特性:“行内”,顾名思义,在一行之内,所以相 ...

  8. SAP MM A工厂下的PR可以转成B工厂下的PO?

    SAP MM A工厂下的PR可以转成B工厂下的PO? 答案是可能的,这也是SAP标准行为之一. 如下图采购申请单据, PR中的Plant是GENL.该PR 已经转成了PO,如上图. 看这个PO,工厂代 ...

  9. 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能说明_15382353715

    小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明 1.1    界面说明 1.2     查询条件 1.2.1     ...

  10. Go 反射

    基本了解 在Go语言中,大多数时候值/类型/函数非常直接,要的话,定义一个.你想要个Struct type Foo struct { A int B string } 你想要一个值,你定义出来 var ...