2017-Sp04-team2
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
== 流水账 ==
yzc和cjb经过了绝望的早上,决定拉上4队吉祥物jww同学打cf的Bubble Cup X[FINAL]. 开场yzc从A开始看,cjb从J开始,jww从中间开始. yzc判断A是签到题,迅速打了一发,获得wa,然后发现全世界都在wa,怀疑数据错了,遂放弃. cjb灵魂出窍看了G,表示G是真 签到题,上机打,不久'''G1y24'''. yzc上机写B,发现题意读错,迅速调整一波,没过样例,怀疑人生,细想之下发现bug,下机突然想到正确做法,上机改了一发提交后wa了. 此时jww和cjb讨论出了D和I,jww拿奶茶,yzc发现bug,把正在写D的cjb赶下来改后'''B2y58'''. cjb写D,调过之后wa了,cjb把代码打印给yzc和jww研究,cjb敲I的树上莫队板子,不久后发现数个小bug,调整后终于变成了TLE,cjb怀疑人生,在队友怂恿下把floyd改成了dijkstra,又假装自己优化了常数,又获得了N发TLE,最后cjb发现自己二分图敲成了傻逼,修改后'''D11y125'''. yzc在cjb敲的树上莫队上改了统计答案的函数,提交后wa,发现输出没有I64d,最后'''I2y145'''. yzc上机写之前讨论的E,cjb和jww研究F,cjb使用了大杀器后找到了公式,yzc敲E敲得怀疑人生,jww换下写F,很快写完后wa了两发,yzc期间几次上机调E,最后'''E1y221'''. 三人一起看F,yzc发现n和m反了,修改后终于'''F5y231'''.cjb上机敲了一波A的进阶贪心,wa 9. 期间jww和yzc想出了C,jww上机敲C,疯狂提交,最后yzc和jww一起调整了代码,jww最后5min发现自己的傻逼错误,终于'''C7y296'''. 最后全场rk45.
== 总结 ==
=== chenjb ===
晚上三个人算是加训吧,在218,一台电脑刚Bubble Cup,开场自己就签了个到然后很快想出了D和I,只可惜自己的二分图姿势似乎不太对,贡献了几发罚时,比较抱歉,三个人打比赛感觉时间一下子充裕起来,除了罚时好像没有太注意(因为是加训有点随便),感觉前中后期都做得还行,讨论起来很顺畅,或许双打也是一种修行?(对于我和yzc绝对是苦修了...)
=== oipotato ===
我是cjb的儿子!
=== jyw ===
我也是cjb的儿子!
== 题解 ==
二分图正确姿势:[[BR]]
bool dfs(int u)
{
for (iterator_t i = G[u].begin(); i != G[u].end(); ++i) { // 对 u 的每个邻接点
int v = edges[*i].to;
if (!check[v]) { // 要求不在交替路中
check[v] = true; // 放入交替路
if (matching[v] == -1 || dfs(matching[v])) {
// 如果是未盖点,说明交替路为增广路,则交换路径,并返回成功
matching[v] = u;
matching[u] = v;
return true;
}
}
}
return false; // 不存在增广路,返回失败
}
== 补题 ==
流水账
yzc和cjb经过了绝望的早上,决定拉上4队吉祥物jww同学打cf的Bubble Cup X[FINAL]. 开场yzc从A开始看,cjb从J开始,jww从中间开始. yzc判断A是签到题,迅速打了一发,获得wa,然后发现全世界都在wa,怀疑数据错了,遂放弃. cjb灵魂出窍看了G,表示G是真 签到题,上机打,不久G1y24. yzc上机写B,发现题意读错,迅速调整一波,没过样例,怀疑人生,细想之下发现bug,下机突然想到正确做法,上机改了一发提交后wa了. 此时jww和cjb讨论出了D和I,jww拿奶茶,yzc发现bug,把正在写D的cjb赶下来改后B2y58. cjb写D,调过之后wa了,cjb把代码打印给yzc和jww研究,cjb敲I的树上莫队板子,不久后发现数个小bug,调整后终于变成了TLE,cjb怀疑人生,在队友怂恿下把floyd改成了dijkstra,又假装自己优化了常数,又获得了N发TLE,最后cjb发现自己二分图敲成了傻逼,修改后D11y125. yzc在cjb敲的树上莫队上改了统计答案的函数,提交后wa,发现输出没有I64d,最后I2y145. yzc上机写之前讨论的E,cjb和jww研究F,cjb使用了大杀器后找到了公式,yzc敲E敲得怀疑人生,jww换下写F,很快写完后wa了两发,yzc期间几次上机调E,最后E1y221. 三人一起看F,yzc发现n和m反了,修改后终于F5y231.cjb上机敲了一波A的进阶贪心,wa 9. 期间jww和yzc想出了C,jww上机敲C,疯狂提交,最后yzc和jww一起调整了代码,jww最后5min发现自己的傻逼错误,终于C7y296. 最后全场rk45.
总结
chenjb
晚上三个人算是加训吧,在218,一台电脑刚Bubble Cup,开场自己就签了个到然后很快想出了D和I,只可惜自己的二分图姿势似乎不太对,贡献了几发罚时,比较抱歉,三个人打比赛感觉时间一下子充裕起来,除了罚时好像没有太注意(因为是加训有点随便),感觉前中后期都做得还行,讨论起来很顺畅,或许双打也是一种修行?(对于我和yzc绝对是苦修了...)
oipotato
我是cjb的儿子!
jyw
我也是cjb的儿子!
题解
二分图正确姿势:
bool dfs(int u)
{
for (iterator_t i = G[u].begin(); i != G[u].end(); ++i) { // 对 u 的每个邻接点
int v = edges[*i].to;
if (!check[v]) { // 要求不在交替路中
check[v] = true; // 放入交替路
if (matching[v] == -1 || dfs(matching[v])) {
// 如果是未盖点,说明交替路为增广路,则交换路径,并返回成功
matching[v] = u;
matching[u] = v;
return true;
}
}
}
return false; // 不存在增广路,返回失败
}