2016-C05-team2

从 Trac 迁移的文章

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

原文章内容如下:

||User||Problem||Result||Memory||Time||Length||Submit Time||
||TaZoF||I||WA|| || ||3972||2016-08-05 14:08:47||
||TaZoF||L||WA|| || ||1729||2016-08-05 14:05:44||
||TaZoF||I||TLE|| || ||3943||2016-08-05 14:02:31||
||TaZoF||I||TLE|| || ||3906||2016-08-05 14:00:36||
||TaZoF||I||TLE|| || ||3439||2016-08-05 13:53:18||
||TaZoF||I||TLE|| || ||3416||2016-08-05 13:50:40||
||TaZoF||B||AC||0||2689||1216||2016-08-05 12:20:36||
||TaZoF||L||WA|| || ||1687||2016-08-05 12:05:20||
||TaZoF||H||AC||0||0||4726||2016-08-05 11:33:52||
||TaZoF||F||AC||0||482||1641||2016-08-05 11:00:56||
||TaZoF||K||AC||0||1662||1038||2016-08-05 10:50:26||
||TaZoF||A||AC||0||3||1501||2016-08-05 09:47:30||
||TaZoF||D||AC||0||36||645||2016-08-05 09:43:40||
||TaZoF||A||WA|| || ||1450||2016-08-05 09:33:26||

== 流水账 ==
=== TsReaper ===
今天学长们发挥平稳。开场后学长们似乎都没有看到简单题,我就先上机写小模拟A题,获得全场第一WA。Starve学长看到D题可能比较简单,思考了一下'''D1y33'''。我调了调A发现读入没有初始化,修改后'''A2y37'''。之后一段时间我们分头看题,抉择之后感觉F和K可能比较可做。F题我们很快想到了做法,我上机写了一段时间后发现不能通过样例,就让Starve学长先写K。我与hzf学长讨论后发现了程序中的错误,在'''K1y100'''后'''F1y110'''。

Starve学长开始写计算几何H,我与hzf学长继续看题,选择思考L。因为之前做过一个在无限地图上的bfs,我想了一个L的做法,自我感觉十分科学~~完全不顾hzf学长的怀疑~~。'''H1y143'''后我上机写L并没有答对。在我写L的过程中两位学长讨论出了B的做法,Starve学长上机'''B1y190''',我在吃午饭的时候也想了一个反例,感觉跳错了坑。

最后一个多小时我们在剩下的题目中选择了I,我想到了I的做法,不过复杂度似乎有点紧...因为是几何题就把写题的锅甩给了Starve学长,然而最后还是TLE了。练习结束后看看题解貌似的确是这样做的,可能是迷之卡常。

=== hzf ===
今天还是从最后4题开始看起,看了一遍感觉都没什么思路,由于几何题I的题意特别简洁,就先和starve学长说了,starve学长也和我说了D的dp做法,好像是很简单,就让starve学长去写了,果然1A,之后我们开始讨论K和F,K题starve学长提到了2sat,我也尝试构造了一下,不成功...F题tsr学长给出了计算每个初值的贡献的思路,starve学长提供了处理常数c的方法,非常科学,但是tsr学长的公式里写错了一个符号...我以为是他笔误没提醒他...导致他样例过不了...惨!我的锅...下次一定要发现错误就提醒队友啊...在tsr学长写F的过程中starve学长和我说了一种有点迷的K题做法,我听的有点迷糊..starve学长很快就上去写了...竟然过啦!强!

看了看榜,发现H题过的人很多,我读了题,发现的确很可做,和starve学长说了一下,starve学长就开始写啦。之后tsr学长开了L,并给出了一种有点迷的解法,我构了许多反例,tsr学长修改了许多次做法..最后一种做法我构不出反例...但是也证明不了...我虽然有点虚,但是感觉即使我能构出来,可能那时候tsr学长也已经写完了,所以不构了...开始和starve学长讨论B,starve学长给出了一种暴力的做法...复杂度一分析甚是可行..学长上机很快1a,然而tsr学长最后自己找出了返利..L没能通过...

最后的1小时左右我们选择开I,利用I坐标范围小的性质,得出了复杂度比较科学的做法,赛后证明确实是正解,但是总是蜜汁tle到比赛结束....
== 总结 ==
=== TsReaper ===
 * 这几天猜了很多奇怪的结论都不正确...要和队友多讨论...
 * 一般字符串的题读入是不需要清空的,但是今天的A略有特殊。

=== 3z ===
 * 手速还是有待提高啊,写代码码模板太慢了
 * 在测试样例数据的要注意没有输错样例

=== hzf ===
 * 看到队友公式推错了要及时提醒那!还好今天没有贡献wa

== 题解 ==
ADH思维比较简单,略过...

=== E - Export Estimate ===
把询问从大到小排序,边也从大到小加入。对于一张有N个点的加入M条边后的原始图,输出图的点数就是N-(度数为2的点数)+(只由度数为2的点构成的环的数量)(因为一个环不可能全部被缩完,肯定会留下一个点)。同理,输出图的边数是M-(度数为2的点数)+(只由度数为2的点构成的环的数量)。

维护度数为2的点数很容易,问题就是怎么维护“只由度数为2的点构成的环的数量”。这个可以用并查集来维护,记一个isCir表示某个连通块是否可能成为“只由度数为2的点构成的环”。合并时细节很多,具体可以看一下补题代码。

== 补题 ==
=== TsReaper ===
B, ~~E~~, G, I, J, L

=== hzf ===
~~E~~, ~~F~~
UserProblemResultMemoryTimeLengthSubmit Time
TaZoFIWA 39722016-08-05 14:08:47
TaZoFLWA 17292016-08-05 14:05:44
TaZoFITLE 39432016-08-05 14:02:31
TaZoFITLE 39062016-08-05 14:00:36
TaZoFITLE 34392016-08-05 13:53:18
TaZoFITLE 34162016-08-05 13:50:40
TaZoFBAC0268912162016-08-05 12:20:36
TaZoFLWA 16872016-08-05 12:05:20
TaZoFHAC0047262016-08-05 11:33:52
TaZoFFAC048216412016-08-05 11:00:56
TaZoFKAC0166210382016-08-05 10:50:26
TaZoFAAC0315012016-08-05 09:47:30
TaZoFDAC0366452016-08-05 09:43:40
TaZoFAWA 14502016-08-05 09:33:26

流水账

TsReaper

今天学长们发挥平稳。开场后学长们似乎都没有看到简单题,我就先上机写小模拟A题,获得全场第一WA。Starve学长看到D题可能比较简单,思考了一下D1y33。我调了调A发现读入没有初始化,修改后A2y37。之后一段时间我们分头看题,抉择之后感觉F和K可能比较可做。F题我们很快想到了做法,我上机写了一段时间后发现不能通过样例,就让Starve学长先写K。我与hzf学长讨论后发现了程序中的错误,在K1y100F1y110

Starve学长开始写计算几何H,我与hzf学长继续看题,选择思考L。因为之前做过一个在无限地图上的bfs,我想了一个L的做法,自我感觉十分科学完全不顾hzf学长的怀疑H1y143后我上机写L并没有答对。在我写L的过程中两位学长讨论出了B的做法,Starve学长上机B1y190,我在吃午饭的时候也想了一个反例,感觉跳错了坑。

最后一个多小时我们在剩下的题目中选择了I,我想到了I的做法,不过复杂度似乎有点紧...因为是几何题就把写题的锅甩给了Starve学长,然而最后还是TLE了。练习结束后看看题解貌似的确是这样做的,可能是迷之卡常。

hzf

今天还是从最后4题开始看起,看了一遍感觉都没什么思路,由于几何题I的题意特别简洁,就先和starve学长说了,starve学长也和我说了D的dp做法,好像是很简单,就让starve学长去写了,果然1A,之后我们开始讨论K和F,K题starve学长提到了2sat,我也尝试构造了一下,不成功...F题tsr学长给出了计算每个初值的贡献的思路,starve学长提供了处理常数c的方法,非常科学,但是tsr学长的公式里写错了一个符号...我以为是他笔误没提醒他...导致他样例过不了...惨!我的锅...下次一定要发现错误就提醒队友啊...在tsr学长写F的过程中starve学长和我说了一种有点迷的K题做法,我听的有点迷糊..starve学长很快就上去写了...竟然过啦!强!

看了看榜,发现H题过的人很多,我读了题,发现的确很可做,和starve学长说了一下,starve学长就开始写啦。之后tsr学长开了L,并给出了一种有点迷的解法,我构了许多反例,tsr学长修改了许多次做法..最后一种做法我构不出反例...但是也证明不了...我虽然有点虚,但是感觉即使我能构出来,可能那时候tsr学长也已经写完了,所以不构了...开始和starve学长讨论B,starve学长给出了一种暴力的做法...复杂度一分析甚是可行..学长上机很快1a,然而tsr学长最后自己找出了返利..L没能通过...

最后的1小时左右我们选择开I,利用I坐标范围小的性质,得出了复杂度比较科学的做法,赛后证明确实是正解,但是总是蜜汁tle到比赛结束....

总结

TsReaper

  • 这几天猜了很多奇怪的结论都不正确...要和队友多讨论...
  • 一般字符串的题读入是不需要清空的,但是今天的A略有特殊。

3z

  • 手速还是有待提高啊,写代码码模板太慢了
  • 在测试样例数据的要注意没有输错样例

hzf

  • 看到队友公式推错了要及时提醒那!还好今天没有贡献wa

题解

ADH思维比较简单,略过...

E - Export Estimate

把询问从大到小排序,边也从大到小加入。对于一张有N个点的加入M条边后的原始图,输出图的点数就是N-(度数为2的点数)+(只由度数为2的点构成的环的数量)(因为一个环不可能全部被缩完,肯定会留下一个点)。同理,输出图的边数是M-(度数为2的点数)+(只由度数为2的点构成的环的数量)。

维护度数为2的点数很容易,问题就是怎么维护“只由度数为2的点构成的环的数量”。这个可以用并查集来维护,记一个isCir表示某个连通块是否可能成为“只由度数为2的点构成的环”。合并时细节很多,具体可以看一下补题代码。

补题

TsReaper

B, E, G, I, J, L

hzf

E, F

附加文件