93/506
7/10/13
一个大家都玩过的游戏,求步数
solved by fyh
把6*6哈希压成一个状态,然后直接bfs暴力搜 代码写的过于丑,但是基本都是复制粘贴的。
一棵树$n\leq10^5$,初始点和边都是白的,目标是将所有的边和点都染黑。操作代价为1,可以将一个节点和节点的所有出边全部染黑,服从以下三个规则:
补题 by fyh
很可怕的一个树形DP
设计状态$dp[u][0/1/2][0/1]$,第二维度的$0$表示该点由儿子传递过来,$1$表示自己染,$2$表示由父亲传递过来。第三维度的$0$表示不使用规则3进行染色,$1$表示使用规则3进行染色。
那么就是转移了
$dp[u][1][0]=\sum min(dp[v][0/1/2][0/1])$ 这个转移很显然,这个点都染上色了,子节点就可以xjb选了
$dp[u][1][1]$显然离谱,我们就不管他了
$dp[u][2][0]=\sum dp[v][0][1]$ 不通过规则3染色,故要所有的儿子都是通过规则3生成的,否则$(u,v)$该条边会被染黑
$dp[u][2][1]$为在$dp[u][2][0]$下选择一颗子树,将其替换成$min\{dp[v][2][0/1]\}$,表示$(u,v)$这条边是由规则3生成染黑的。
$dp[u][0][0]$ 为至少有一棵子树为$dp[v][1/0][0]$,(前者是儿子直接染黑,后者是儿子被染黑,而且儿子除了父边之外的所有边都是$0$,通过规则3使得$u$被染上的。)+其他子树取$min(00,01,10)$
$dp[u][0][1]$为在$dp[u][0][0]$ 下的其他子树中选择一颗子树,将其替换成$min\{dp[v][2][0/1]\}$。
就是感觉这个DP在第三维度定义的很玄学,于是我们的zzh鸽鸽就想到了把状态放在边上的做法…真的太强了。
solved by hxm
大水题
略
solved by wxg
删掉一个字符串序列中的指定的字符串
无敌水题,略
solved by wxg&hxm
给定一个数字序列,求最大的连续和乘以长度。
现在给出一个错误的做法,错误做法仅计算最大连续和来更新答案
求构造出一个长度大于$l$小于$2000$的序列,使得错误答案和正确答案相差正好为$k$
分析发现,只要在最大连续和的串前加上一个负数,那么这个做法就会出错,现在要构造出两种答案相差$k$
由于最大长度为$1999$,不妨就构造长度为$1999$的序列,第一位为$-1$,剩下为非负数,和为$a$,则有
$(a - 1) \times 1999 - a \times 1998 = k$
即$a = k + 1999$,算出$a$后,分配给剩下每一位即可
solved by fyh&hxm
$\frac{1}{n} = \frac{1}{a Xor b} + \frac{1}{b}$
给定$n$,$b$是任意的,求最大的$a$使等式成立
化简得$b = n + \frac{n^2}{a Xor b - n}$
枚举分母即可
solved by hxm
给定若干个集合,使用最少的集合并成全集
bitset状压dp一下就好了
solved by wxg
合并果子,数据还特小,题解略
求平面点组成的最大四边形面积,$n\leq5000$
补题by fyh
求凸包后先枚举对角线,然后通过旋转卡壳把剩下两个点找到,复杂度$O(n^2)$
当求出凸包只有三个点的时候,所得四边形是一个凹四边形。
0~15min hxm,wxg横扫K,C,D三个签到题
15min~1h20min 口糊出A,fyh开写A,wxg,hxm讨论E,并讨论出来
1h20min~1h28min A 本机编译错误,哈希出现问题 hxm开E,并A
1h28min~1h??min 想出H,写H 并A
2h~2h14min hxmAJ,其他人在读题
2h14min~2h36min fyhAA,
2h36min~ 读完所有题并确认全不可做,结束比赛
像A这种代码量较大的题要尽量往后放,否则会增加罚时
尽早放弃