THU那四场考试没考好,只有20+名。这也许是我OI生涯中最后一场吧(已确认是最后一场),真是感慨万千。

day0

搬进浙大宿舍404房间(神房间号),四个人一间。中午发现学军伙食相当良心,是我参加的OI活动中最良心的

day1

徐寅展

讲了一些动态维护图的连通性以及最小生成树的算法,太深了,基本上只听懂第一个维护图的连通性的算法。下面就简单讲一下这个算法吧。

首先,这个算法是在线算法,其时间复杂度是m lg^2。离线算法可以做到m lg,用LCT维护最大生成树就行了(边权为边被删除的时间)。

大概做法是,维护\(\lg{n}\)个生成森林,满足第i个森林是第i+1个森林的子集,并且其每棵树的大小不超过\(2^i\)。然后,考虑删除一条树边,这时需要尝试寻找一条替换边来连接断开的两块。假设在第i个森林中删边,设断开的两块中较小的那块大小为k,显然\(k \leqslant 2^{i - 1}\),所以可以将其加入第i - 1个森林。我们将所有这些边降级到i - 1。由于每条边至多降级lgn次,总共至多降级mlgn次。每片森林需要用LCT维护,另外还要维护和某一块连接的所有边,故复杂度还要乘上一个lg。

吴争锴

日程表上写的是“ACM题目选讲”,没想到成了Primality Test。讲了一个神一般的AKS算法,根本听不懂。只记得这个算法的发现证明了PRIMES in P,因为它可以在多项式时间内判定素性。但是这玩意儿有什么用?朴素实现复杂度据说是\(\Omega{\lg{n}^{10}}\),加了优化似乎能够做到\(\Theta{\lg{n}^{6}}\),但还是比Miller Rabin慢到哪里去了。

还有就是,Miller Rabin似乎可以改造为确定性算法,但其依赖于黎曼猜想的正确性。

有印象的大概就这些,其他时候也许我在睡吧。

day2

俞鼎力

Tree Decomposition,乍看还以为是链剖。其实是一个神爆了的玩意儿,叫做图的“树分解”。这东西之前从来没有听说过啊,看来OI正在蓬勃发展(似乎很多OI中常用的算法都是某神犇从paper通过WC的渠道引进的)。

大概就是把一张图弄成一棵树,树上的节点对应于原图的一个集合(不一定互不相交),并且原图中的每个节点,树中仅有一个极大的非空的包含它的连通块。

定义一张图的树宽为该图的所有树分解中,最大的节点集合的大小的最小值。

对于树宽的上界为一个小常数的图,一些问题可以通过构造这样的树分解,然后用树形dp在多项式时间内高效地解决。例如最大独立集和哈密顿回路。总的来说就是,因为每个集合的大小可以看做常数,所以即使我们乱搞,复杂度也是多项式的。

另外还讲了几个近似算法。这个好理解,但是感觉也不好写,而且难说在OI中有什么用。

董宏华

我很早就听说拟阵这个东西可以用来证明贪心的正确性,因为我个人总是不太会贪心的证明,所以一直都比较想了解拟阵,但由于种种原因一直都没有学。现在终于学了,感觉还是很厉害的。

只简单说一下。由拟阵的性质(遗传性和增广性,即其中任意一个独立集都可通过增广变成某个基),容易证明求拟阵的权值最大(或最小,由于基的大小是一定的)的基的贪心算法的正确性。只需要从大到小考虑每个元素,尝试将其加入当前集合,如果加入后为独立集则加入,否则跳过就行了。

例如Kruskal算法,其实就是求图的环拟阵的权值最小的基(其中的独立集便是不成环的边集)。

day3

胡伟栋

讲计算几何,总体较简单。不过我还是有收获的。我现在知道扫描线有多强大了。

沈洋

构造题选讲。我感觉构造题都是谜一样的,一般不看题解根本不会,看了题解后往往又觉得是自己傻逼了。这堂课大概又感受了一下神构造题的威力吧。

day4

范浩强

又是randomization。前面部分讲Goldreich-Levin算法,听不懂。后面讲了交互式证明,比较好玩。不过由于讲的有用的东西过于神犇,所以这堂课也谈不上有多大收获。

陈立杰

陈老师这次的主题出人意料地正常:OI中的计数题(记得去年是函数式数据结构,而且还是英文讲义)。讲了许多值得收藏的好题。

day5上午考试,感觉精神状态还是不错的。

先看了第一题,要求k小割,感觉不好做,没思路,于是看了第二题。发现题目极长并且是fhq出的,所以直接跳到第三题(事实证明这是正确的决定)。第三题是提交答案题,要求对给出的一些逗比算法进行优化,用另一个算法得出相同的结果。这些算法都是用代码给出的,所以先要读懂它们在干什么。

我很快搞出了1,2,4,5这四个点,3是问前n项的i次方和,我想到的方法有:1.求伯努利数 2.带值求出几个点后进行多项式插值,可以用高斯消元或拉格朗日插值法 3.差分后用矩阵快速幂

我想了一会儿,感觉用第三个比较靠谱。于是就用这个搞出了3。

然后看了第一题数据范围,发现有10分暴力,中间有40分的特殊情况。对于这40分我第一感觉是拿堆搞,但是想了想感觉又不好弄。稍不注意状态就会暴涨。不过我还是想到了靠谱的做法,对每个状态只需要记最后的不是最优的位置以及它是选B还是AB都选,另外记下方案的权值就行了。然后每个状态有至多3个后继状态,选择将后面一个变成选B,或者将当前的换成后面一个,或者如果当前是B,将当前的换成选AB。能够想到这样搞从初始状态到每个选择方案的途径都是唯一的,并且每个状态的后继状态都更劣。所以拿堆搞搞就好了。有用的状态总数不超过3k。

然后所剩时间就不多了。第二题感觉是没希望把题意理解正确了,第三题看了后几个点发现有两个点可以搞点部分分出来,所以又搞了几下。

结果50 + 0 + 51。第三题中间有两个点的得分比预计的少,总共比预计少了3分。应该是爆了精度了。这个也不太好检查因为没有给checker。

听说最高分是160+,看来是要退役了。

day6

上午游西湖。下午高端论坛,然后闭幕式。

闭幕式上终于宣布了十五人名单。不出所料,我就这样退役了。

今年一等奖分数线没上70,比去年低了不少。

WC2015流水账的更多相关文章

  1. 菜鸟的Python学习之路(流水账)

    揭开Python的面纱 开始是因为别人说Python简单才开始学的,然后那段时间刚考完研,也没什么事,就多少瞅了瞅,然后发现语法的确简单很多,或者说简洁更合适. 当时看的是简明Python教程,没用多 ...

  2. 2014 Hangjs 见闻流水账第二天

    前言 第一天传送门: 2014 Hangjs 见闻流水账第一天 写作风格跟第一天还是一样的. Slide 每个slide我都会根据自己的理解重新命名一次,用于表达自己的第一看法,主观意见,不喜可吐槽, ...

  3. 2014 Hangjs 见闻流水账第一天

    前言 6月21日~6月22日, 第一次跑远门去参加一个大会(广州 -> 杭州),本来打算,在火车的回来的路上,把这两天的东西记录一下,不过,火车上的环境实在恶劣,同时也高估了自己的专注力,所以, ...

  4. WC2015 k小割(k短路+暴力+搜索)

    首先这道题不是非同一般的恶心,三个数据层次对应三个程序= = PROBLEM:http://uoj.ac/problems解法: 1~2直接暴力枚举边的选择与否+判断就行了 7~14可以发现是一个平面 ...

  5. WC2015 冬眠营滚粗记

    WC2015 转眼间就过去了,回想半年前我还是一个无知的渣渣现在已经能参加冬令营了心里真的有点小激动= =,先不论胸牌滚粗的结果,来讲一下自己这几天的经历吧 DAY 0: 早上起来才发现自己什么都没收 ...

  6. [流水账]搜索与web-container版本匹配的jar包

    刚才发现自己的servlet-api.jar里面的javax.servlet.jsp为空的,但是我又需要做一些JSP tag-lib的编程,所以没办法,只好去下一个新的包 上网找了找,我用的tomca ...

  7. k3 cloud付款单提示余额不足,科目余额表中余额为正,银行存款流水账中未负数

    对比科目余额表中的科目明细账和银行存款流水账,发现科目余额表不全,这说明有部分凭证没做,付款的时候验证的主要以银行流水账为主(主要来自现金流量表),这时候需要调整出纳部分和总账部分

  8. WSL配置高翔vslam环境配置流水账

    1 安装参考博文链接:https://www.cnblogs.com/dalaska/p/12802384.html 2 Ubuntu 16.04地址:https://www.microsoft.co ...

  9. WC2015 题解

    K小割 题目链接:WC2015 K小割 Description 题目很清楚了,已经不能说的更简洁了-- Solution 这道题出题人挺毒的,你需要针对不同的部分分施用不同的做法 . 第\(1\)部分 ...

随机推荐

  1. linux开机自动启动脚本

      前言linux有自己一套完整的启动 体系,抓住了linux启动 的脉络,linux的启动 过程将不再神秘.阅读之前建议先看一下附图.本文中假设inittab中设置的init tree为:/etc/ ...

  2. 编译lua版本问题

    Compile++ thumb  : game_shared <= main.cppjni/hellocpp/main.cpp: In function 'void Java_org_cocos ...

  3. RDIFramework.NET平台代码生成器V1.0发布(提供下载)

    RDIFramework.NET平台代码生成器V1.0发布(提供下载)   RDIFramework.NET(.NET快速开发整合框架)框架做为信息化系统快速开发.整合的框架,其目的一至是给用户和开发 ...

  4. TCP/IP协议原理与应用笔记05:TCP/IP协议下的网关

    大家都知道,从一个房间走到另一个房间,必然要经过一扇门.同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关.顾名思义,网关(Gateway)就是一个网络连接到另一个网络的& ...

  5. Hadoop安装测试简单记录

    安装的节点如下:1个namenode.1个hiveserver.3个dataNode192.168.1.139   namenode1192.168.1.146   hiveserver 192.16 ...

  6. img图片元素下多余空白解决方案

    在进行页面的DIV+CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对於 该问题的解决方法也是「见机行事」,根据原因的不同要用不同的 ...

  7. js 获取元素在页面上的偏移量的最佳方式

    使用js制作效果时,我们常常要获取某个元素在页面上的偏移量(例如tip提示框功能).而获取偏移量可以直接获取相对于document的偏移量,也可以获取相对与视口的偏移量(viewpoint)加上页面滚 ...

  8. UFLDL课程学习(一)

    章节地址:http://ufldl.stanford.edu/tutorial/supervised/LinearRegression/ 章节名称:线性回归 (Linear Regression) 第 ...

  9. LayoutInflater.inflate() 参数研究

    参考连接:http://blog.csdn.net/lovexieyuan520/article/details/9036673 http://www.2cto.com/kf/201407/31305 ...

  10. dp、sp 转换为 px 的工具类

    public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue (DisplayMetrics类中属性densi ...