2017-C14-team5

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

[[Image(1.png)]]
== lyk ==
今天我从E题开始看(都怪弯弯队0:08把E题过了带偏榜),想了半天不知道这玩意儿怎么做,于是去看别的题。队友跟着榜把F题切了,我也跟着榜看了I题,现场学了波rmq求lca,把I题过了(后来发现nlog ^2^ n 也能过)。这时候队友发现E题是个裸的FFT,然后liurui写前面的处理,sol打板子。因为板子爆炸了,我们E题调了一个小时才艰难的过去了。继续看了D题,一开始以为直接树上搞一个DP就好了,后来liurui提醒我要二分之后再搞dp。写了一发,在背包合并的时候我没有考虑清楚这种情况的不可重复选怎么实现,写成了一个可以重复选的样子。幸好自己构造了加强版数据把自己叉掉了。liurui告诉我怎么修改,然后过了把自己叉掉的数据,于是交了一发TLE。后来发现背包合并的时候写太丑可能会爆炸,改好了后终于过了。(过了的时候其实也以为是玄学,后来发现是可以证明O( n^2^ )期间sol想到了C题的正解,上机码了一发,在我过了D之后马上也过了。之后看榜发现了G题,我跟liurui想了想,想到了正解。sol继续琢磨他早就开了的H题,也想到了大致做法。我们先让sol写了H,我跟liurui继续讨论G题的细节,觉得差不多的时候,sol下机打印调试,我上机开始码。写了一发过了样例,我就交了,WA3,于是打印调试,sol上机调H。我跟liurui看了遍代码,觉得没什么大问题,开始向解法的方向想,突然想到了以直线为对称轴的话,这条直线还有可能是任意两点的直线,不止是任意两点的中垂线。sol给G题留了一点时间,最后时刻交了一发H,结果WA了。我上机,花了两分钟写完新加入的,调试了一下也没问题,4:58:44交了一发,还是WA3,很蛋疼。比赛结束后几分钟,sol突然发现H题在调试的时候把一个循环上界改成了5,应该是300。改完upsolving交了一发,OK。再过了一会儿,我在给fengsuiyan学长讲我G题的做法的时候,突然想到n=1的情况,然后考虑了下我的做法,我会输出1!很心急地给fengsuiyan学长继续讲完做法,马上上机把ans=0改成ans=1(ans就是最多不用配对的点数,最后输出n-ans),交了一发,OK。噢,赛后半小时过两题,真几把刺激!

== 总结 ==
今天的题感觉稍微有点难?(其实不存在的)只不过我们速度实在太慢了,感觉签到题和中档题做的都不够快。我做D题的时候因为没有写过类似的程序,在背包合并的时候错了两次。C题没有想到状压,想到暴搜上去了,很错误,浪费了一些时间。E题FFT模板错误搞了半天。前面浪费的时间导致我们最后双开GH都没有成功(离成功就差0改成1和5改成300)。其实如果实力强一点,前面就不会浪费那么多时间,或者后面GH双开也能强行调出来。

== 补题 ==
B : [ liurui ]

G : [ lyk ]

H : [ sol ]

K : [ lyk ]

== 经验 ==
1.子树背包合并总复杂度 n^2^ (优美的点对lca证明)

2.枚举子集总复杂度是是3^n^

lyk

今天我从E题开始看(都怪弯弯队0:08把E题过了带偏榜),想了半天不知道这玩意儿怎么做,于是去看别的题。队友跟着榜把F题切了,我也跟着榜看了I题,现场学了波rmq求lca,把I题过了(后来发现nlog 2 n 也能过)。这时候队友发现E题是个裸的FFT,然后liurui写前面的处理,sol打板子。因为板子爆炸了,我们E题调了一个小时才艰难的过去了。继续看了D题,一开始以为直接树上搞一个DP就好了,后来liurui提醒我要二分之后再搞dp。写了一发,在背包合并的时候我没有考虑清楚这种情况的不可重复选怎么实现,写成了一个可以重复选的样子。幸好自己构造了加强版数据把自己叉掉了。liurui告诉我怎么修改,然后过了把自己叉掉的数据,于是交了一发TLE。后来发现背包合并的时候写太丑可能会爆炸,改好了后终于过了。(过了的时候其实也以为是玄学,后来发现是可以证明O( n2 )期间sol想到了C题的正解,上机码了一发,在我过了D之后马上也过了。之后看榜发现了G题,我跟liurui想了想,想到了正解。sol继续琢磨他早就开了的H题,也想到了大致做法。我们先让sol写了H,我跟liurui继续讨论G题的细节,觉得差不多的时候,sol下机打印调试,我上机开始码。写了一发过了样例,我就交了,WA3,于是打印调试,sol上机调H。我跟liurui看了遍代码,觉得没什么大问题,开始向解法的方向想,突然想到了以直线为对称轴的话,这条直线还有可能是任意两点的直线,不止是任意两点的中垂线。sol给G题留了一点时间,最后时刻交了一发H,结果WA了。我上机,花了两分钟写完新加入的,调试了一下也没问题,4:58:44交了一发,还是WA3,很蛋疼。比赛结束后几分钟,sol突然发现H题在调试的时候把一个循环上界改成了5,应该是300。改完upsolving交了一发,OK。再过了一会儿,我在给fengsuiyan学长讲我G题的做法的时候,突然想到n=1的情况,然后考虑了下我的做法,我会输出1!很心急地给fengsuiyan学长继续讲完做法,马上上机把ans=0改成ans=1(ans就是最多不用配对的点数,最后输出n-ans),交了一发,OK。噢,赛后半小时过两题,真几把刺激!

总结

今天的题感觉稍微有点难?(其实不存在的)只不过我们速度实在太慢了,感觉签到题和中档题做的都不够快。我做D题的时候因为没有写过类似的程序,在背包合并的时候错了两次。C题没有想到状压,想到暴搜上去了,很错误,浪费了一些时间。E题FFT模板错误搞了半天。前面浪费的时间导致我们最后双开GH都没有成功(离成功就差0改成1和5改成300)。其实如果实力强一点,前面就不会浪费那么多时间,或者后面GH双开也能强行调出来。

补题

B : [ liurui ]

G : [ lyk ]

H : [ sol ]

K : [ lyk ]

经验

1.子树背包合并总复杂度 n2 (优美的点对lca证明)

2.枚举子集总复杂度是是3n

附加文件