2019-team666-0002

从 Trac 迁移的文章

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

原文章内容如下:

[/wiki/2019-team666 返回]

== 概述 ==

七月集训第二场
(以下内容时间线混乱且报道可能出现偏差)
开场开出了D题签到,看了眼榜发现C题也有人过,于是很快写完,'''D2Y11''','''C1Y25''',然后发现了思路简单但稍难写的F和原题H,tjc很快写完'''F1Y41''',考虑到H可能较难写决定先等等,然后开始打假赛...
yyc和tjc短暂讨论后发现B是个爆搜,但是由于我们以棋盘状态而不是下棋顺序导致有不合法的情况最后也没有通过,L题最开始的dp是对三个图同时进行,并且以为路径长度不会超过n,发现无法通过后打印查错,E题开始时觉得是个贪心,但是写了写发现过不了样例,yyc开出了K题并很快写完,'''K1Y133''',tjc和hyw讨论了一下I题后得出做法,tjc写完后调试几次通过了,'''I4Y171''',tjc得出了E题的正确做法yyc去写,'''E1Y183''',然后决定写H,'''H1Y219''',之后yyc和hyw发现L不需要三个图同时dp,且路径长度会达到n^3^,hyw改完后通过了L,'''L2Y273''',期间yyc开了G但是没调出来,比赛结束。
== 总结 ==

=== yyc ===

代码能力有待增强,G题由于写法过于愚蠢而导致细节很多,是没有通过的直接原因。

=== tjc  ===

=== hyw  ===

=== 题解 ===

A: 树形dp,f(i,j,0)=i子树内j深度没有被覆盖的最小花费,f(i,j,1)=i子树内覆盖部分可以延伸出j长度的最小花费

B: 4*4棋盘四子棋给定初始状态和白方最后一步,求白胜所有状态总数————暴力搜即可。

C:拓扑排序

D:记忆化搜索

E:枚举+最小割 例题:bzoj2561

F:暴力

G:暴力扫一遍

H:分类+法法塔 类似题目:bzoj5217

I:把串反过来+kmp

J:不知道怎么得出的结论:对任意点,取其相邻点集为S ( S = x | N(x)) , 然后找到邻边包含在S中的所有点T。充要条件是:|S| - min(n / 2,|T|) >= n / 2

K:构造,每次走到比边界多一格

L:3个人在3张图上走,每次可以走一条边或留在原处,求在同一时刻到达各自终点的最小花费。————对每张图设dp[i][j]为i时刻到j点的最小花费,枚举时刻相加即可,可以证j<=n^3^,总复杂度O((n+m)*n^3^)。

[/wiki/2019-team666 返回]

概述

七月集训第二场

(以下内容时间线混乱且报道可能出现偏差)

开场开出了D题签到,看了眼榜发现C题也有人过,于是很快写完,D2Y11,C1Y25,然后发现了思路简单但稍难写的F和原题H,tjc很快写完F1Y41,考虑到H可能较难写决定先等等,然后开始打假赛...

yyc和tjc短暂讨论后发现B是个爆搜,但是由于我们以棋盘状态而不是下棋顺序导致有不合法的情况最后也没有通过,L题最开始的dp是对三个图同时进行,并且以为路径长度不会超过n,发现无法通过后打印查错,E题开始时觉得是个贪心,但是写了写发现过不了样例,yyc开出了K题并很快写完,K1Y133,tjc和hyw讨论了一下I题后得出做法,tjc写完后调试几次通过了,I4Y171,tjc得出了E题的正确做法yyc去写,E1Y183,然后决定写H,H1Y219,之后yyc和hyw发现L不需要三个图同时dp,且路径长度会达到n3,hyw改完后通过了L,L2Y273,期间yyc开了G但是没调出来,比赛结束。

总结

yyc

代码能力有待增强,G题由于写法过于愚蠢而导致细节很多,是没有通过的直接原因。

tjc

hyw

题解

A: 树形dp,f(i,j,0)=i子树内j深度没有被覆盖的最小花费,f(i,j,1)=i子树内覆盖部分可以延伸出j长度的最小花费

B: 4*4棋盘四子棋给定初始状态和白方最后一步,求白胜所有状态总数————暴力搜即可。

C:拓扑排序

D:记忆化搜索

E:枚举+最小割 例题:bzoj2561

F:暴力

G:暴力扫一遍

H:分类+法法塔 类似题目:bzoj5217

I:把串反过来+kmp

J:不知道怎么得出的结论:对任意点,取其相邻点集为S ( S = x | N(x)) , 然后找到邻边包含在S中的所有点T。充要条件是:|S| - min(n / 2,|T|) >= n / 2

K:构造,每次走到比边界多一格

L:3个人在3张图上走,每次可以走一条边或留在原处,求在同一时刻到达各自终点的最小花费。————对每张图设dp[i][j]为i时刻到j点的最小花费,枚举时刻相加即可,可以证j<=n3,总复杂度O((n+m)*n3)。