zoukankan      html  css  js  c++  java
  • USACO 刷题小记

    ( ext{High Card Low Card})

    USACO2015DEC Platinum T2
    

    贝西和艾尔西在玩游戏。有 (2n) 张牌,牌上的数字是 (1)(2n) ,贝西 (n) 张,艾尔西 (n) 张。
    贝西事先知道艾尔西先后出的 (n) 张牌。
    她们进行 (n) 轮出牌,轮流各出一张牌。一开始,谁的数字大谁赢。
    贝西有一个特殊权利,她可以在任意时刻把规则从谁大谁赢改成谁小谁赢,问贝西最多能赢多少轮。
    (2le nle 50000)
    (1.00s, 128 MB)

    Solution 考虑贪心。
    我们记 $pre[i]$ 表示 $1$ 到 $i$ 中最多能赢几局, $suf[i]$ 表示 $i$ 到 $n$ 中最多能赢几局。
    答案 $ans = minlimits_{i=0}^{n} (pre[i] + suf[i+1])$
    如果前面和后面选的数重复了怎么办?不存在这种情况!
    你如果两个地方用的同一张牌i,肯定有一张牌没被用,那么分情况讨论。
    1.比这张牌大。 那么这张牌可以替换掉在规则1下的牌i
    2.比这张牌小。 那么这张牌可以替换掉在规则2下的牌i
    中间过程用两个 $set$ 维护一下即可
    复杂度 $O(nlogn)$

    ( ext{Cave Paintings})

    USACO2020JAN Platinum T1
    

    给你一张 (n imes m) 的图,每个格子要么是空的,要么是石头
    你可以给空格子上水,但是上完后的图要真实的(符合水不会再向四周流动)。
    问你所有合法的上色的方案数,答案对 (10^9+7) 取模。
    (1le n,mle 1000)
    (2.00s, 256 MB)

    Solution 从下往上考虑,显然一层可以分成若干段空格子,使得每一段都是连通的。
    观察知这是一个树形结构,那么我们可以做类树形dp:
    $dp_u = 1 + Pi _{vin son(u)} dp_v$
    从下往上用并查集维护就行了。
    复杂度 $O(nm)$

    ( ext{Help Yourself})

    USACO2020FEB Platinum T3
    

    在一维数轴上有 (n) 条线段,第 (i) 条线段包含满足 (l_i le x le r_i) 的所有实数 (x)
    定义一组线段的为所有被至少一条线段所包含的实数 (x) 的集合。
    定义一组线段的复杂度为这些线段的并的连通区域数量的 (K) 次方。
    计算所有 (2^n) 个子集的线段组复杂度之和,答案对 (10^9+7) 取模。
    (1le nle 10^5, 2le Kle 10, l_i < r_i, 保证 { l_i, r_i} = { 1, 2, ..., 2n-1,2n } (1le ile n))
    (2.00s, 256 MB)

    Solution 首先将这些线段按左端点先排好序。
    考虑 $K=1$ 时如何做。这一档是 Gold T2 原题。
    用 $dp[i]$ 表示前 $i$ 个线段的 $2^i$ 个子集的线段组复杂度之和。
    那么第 $i$ 根线段不选: $dp[i-1]$ ;
    第 $i$ 根线段选:$dp[i-1]+一些额外产生的贡献$
    注意左端点已排好序,所以要想产生贡献,则之前的线段的右端点均小于该线段的左端点。
    右端点我们可以利用前缀和提前预处理,于是这一部分的贡献就可以计算了。
    接下来是正解时刻:
    ![QQ图片20200521214107.png](https://i.loli.net/2020/05/23/a7M5X1QcyDrRwJP.png)
  • 相关阅读:
    [原创] 扩展jquery-treegrid插件, 实现勾选功能和全删按钮.
    [原创]多版本Java环境变量的配置
    [转]Redmine 配置163邮箱
    [转] --- Error: “A field or property with the name was not found on the selected data source” get only on server
    服务器控件中使用<%#...>, JS和html控件中使用<%=...>
    【字源大挪移—读书笔记】 第三部分:字尾
    【字源大挪移—读书笔记】 第二部分:字根
    使用WebClient 或者 HttpWebRequest均报:"The Remote name can't be solved"
    【字源大挪移—读书笔记】 第一部分:字首
    【英语魔法俱乐部——读书笔记】 3 高级句型-简化从句&倒装句(Reduced Clauses、Inverted Sentences) 【完结】
  • 原文地址:https://www.cnblogs.com/wlzhouzhuan/p/12942583.html
Copyright © 2011-2022 走看看