NOIP模拟 17

  这次..

  还可以吧..

  考场刚了T1T2两题的正解

  然后T2A了,T1被毒瘤卡常

  让skyh得了rank1,QMQ

  话说这次考试体(r)验(p)极(yong)佳(jin)

  也许是昨晚没玩狼人杀睡的比较好?(现场%苗东旭)

T1 入阵曲

  赞美RNB摆脱犯罪深渊(掌声走已)

  正解是个桶,但是卡常了,n^3开longlong会当场被日成n^4

 

T2 将军令

  菜狗又没想出贪心

  大神们都说DP不可做,蒟蒻考场上却弄了个不知道对不对的dp..

  考试过程

    不想看的跳过> <

    仔细阅读了题面。凭君莫话封侯事,一将功成万骨枯。

    等不及中二病发作,赶紧看题

    看了眼k,貌似是个DP?(贪心:喂喂喂想想我啊)

    打了个看起来不是很靠谱的树形dp,结果样例全过了..

    冷静撕烤

    好像少考虑一种情况...

    出题人又出水样例...

    差点被算计!

    打个对拍吧..

    少考虑的加上了..

    拍了20000多组了..

    emmmmm应该稳了..

    (内心其实是:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈)

  

  DP思路:

    设$dp[i][j]$为满足 以$i$为节点的子树全部被看守,且离根节点$i$最近的驻扎点距离为$j$的 驻扎点最少数量。

    鉴于一个点可以被儿子或祖先两个方向看守,将两点之间的距离上限$d$设为看守半径r的二倍(人话翻译:设$d=2*r$)

    再考虑被兄弟看守的情况,设有一个兄弟子树的最近驻扎点到父亲节点的距离为$dis$

    可以得知该驻扎点看守这棵子树的最大深度为$d-dis-1$ ,也就是这棵子树的第$d-dis$层必须要放一个点了

    所以状态转移方程

$ dp[i][0]=\sum \limits_{k \in son[i] } dp[k][d] $

$ dp[i][j]=\min \limits_{k \in son[i]} ( dp[k][j-1] + \sum \limits_{u \in otherson } dp[u][\max(j-1,d-dis)] )$

    由于在一棵子树中 最近驻扎点距离越远花费不会更高 所以上边两个柿子都是用可能的最大距离进行转移的

    在根节点处需要特殊考虑,因为根节点没有父亲管着,如果最近驻扎点还是$ 2*r $那应该是不合题意的

    所以$ ans=\min\limits_{i<=r}(dp[root][i] )$而非$ ans=\min\limits_{i<=d}(dp[root][i]) $

    然后就很幸运地A掉了,如果有漏洞还请不烦指出

T3 星空

    问题转化的思想可以说是很惊艳了

    区间异或到异或差分,观察性质后又转化成图论,最后用状压求解

    而我只是一个颓了题解匆匆水过的菜狗..

猜你喜欢

转载自www.cnblogs.com/yxsplayxs/p/11334499.html
17
今日推荐