摘要:
传送门 很显然的DP 我们设 f [ i ] [ j ] 表示在位置 i , j 时需要的最少的点击次数 考虑不点击的影响 f [ i ] [ j ] = f [ i-1 ] [ j + y [ i ] ] 如果点击 f [ i ] [ j ] = f [ i-1 ] [ j - x [ i ] ] 阅读全文
摘要:
传送门 正解是正交分解,然而我是当成模拟退火的入门题来写的 因为我脸黑,交了17次才过... 模拟退火过程: 初始温度定为一个较大的数 随机跳一段距离和方向,计算程度情况,如果比较稳定就选择它 不然就以一概率选择(跟温度和稳定程度差有关) 然后降低温度,重复上述过程 直到温度很低时退出 得到一组解, 阅读全文
摘要:
传送门 n 个关卡有 n-1 个限制 所以这些限制构成一颗树 考虑树形DP 对一颗子树单独考虑 考虑有多少种顺序 设 f [ i ] 表示节点 i 的子树的总方案数 考虑儿子节点如何与父节点合并 发现父子之间有限制条件,所以 f 多加一维 f [ i ] [ j ] 表示节点 i 在子树中排第 j 阅读全文
摘要:
传送门 翻译有些不清楚,意思就是骨牌不一定要按从左到右的顺序放,可以左边放一个,右边放一个,再中间放一个 然后每个骨牌都可能往左或往右倒,一旦倒了,倒的一边的所有骨牌都要重新放 然后问你,最小期望放置次数是多少 考虑每个骨牌的影响,设$f [ i ]$ 表示放$ i $个骨牌的的最小期望放置次数 那 阅读全文
摘要:
传送门 期望DP 设 f [ i ] 表示还有 i 个名字没得到,集齐所有名字的期望购买次数 考虑一次购买的影响: 如果得到以前没有的名字 f [ i-1 ] -> f [ i ],如果得到有的名字 f [ i ] -> f [ i ] 那么可以得到 f [ i ] = f [ i-1 ] * (n 阅读全文
摘要:
传送门 考虑最上面每个位置的数对答案的贡献 然后就很容易发现: 如果有n层,位置 i 的数对答案的贡献就是C( n-1,i ) 然后就有很显然的贪心做法: 越大的数放越中间,这样它的贡献就会尽可能的大 然后考虑算C( i,j ) 因为n很大,模数很小 所以要用lucas定理求C C(n,m)= C( 阅读全文
摘要:
传送门 很神奇的一题 看一眼题目感觉是博弈论? 但是要求具体结果 好像搞不了... 发现题目有限制,保证棋子排列呈阶梯型 好像可以轮廓线DP? 不会.... 然后去看题解了,DFS能过??? emmm.... 因为棋子排列呈阶梯型,所以如果我们暴力枚举所有的状态可以发现合法状态只有不到40万种 然后 阅读全文
摘要:
传送门 此题树剖可过 然而可以树上差分为什么要树剖.. 对于一条路径(A,B),只要把 val [ A ] ++ , val [ B ] ++ , val [ LCA(A,B) ] -- , val [ fa[LCA(A,B)] ] -- 那么求每个点的经过次数就求一下子树 val 的和就好了 但是 阅读全文
摘要:
传送门 A的第一道黑题... 然而感觉跟 作诗 没什么差别... 分块 记录 sum[ i ] [ j ] 表示从左端点到第 i 块时,数字 j 的出现次数 f [ i ] [ j ] 表示第 i 块到第 j 块的区间里的众数 对两边小段的每个数都计算贡献 设 cnt [ j ] 表示 j 在两边小 阅读全文
摘要:
传送门 分块 设sum[ i ] [ j ] 存从左边到第 i 块时,数字 j 的出现次数 f [ i ] [ j ] 存从第 i 块,到第 j 块的一整段的答案 那么最后答案就是一段区间中几块整段的答案加上两边小段的贡献 考虑两边小段的影响,对于每一个出现的数 它可能会使答案增加(使原本大区间中出 阅读全文