首页 > 其他分享 >杂题乱刷2

杂题乱刷2

时间:2024-06-20 16:31:38浏览次数:8  
标签:题目 杂题 solution 大意 序列 糖果

杂题乱刷

目录

P10141 [USACO24JAN] Merging Cells P

题目大意

给一个序列,每次可以合并两个相邻的数,变成他们的和,编号变成较大的数的编号(相等就变成编号较大的数的编号),问最后剩下一个数,他的编号为 \(i=1\sim n\) 的概率

solution

设 \(f_{i,j}\) 表示将 \([i,j]\) 合并后的概率,那么从 \([1,n]\) 开始转移到 \([i,i]\) 即可计算出答案

观察转移,我们像区间DP一样分裂成两个区间,但这道题对其中一个有贡献,并且恰好分为两部分,于是就考虑前后缀优化DP,用二分找到断点

P4770 [NOI2018] 你的名字

题目大意

给定一个

CF1037H Security

[ABC215G] Colorful Candies 2

题目描述

现在有 \(n\) 个糖果, 每个糖果有一种颜色 \(c_i\).

现在高桥君想要在中间选 \(k\) 个糖果,他的快乐值是选择的糖果的颜色种类数.

对于 \(\forall k \in [1,n]\), 求出高桥君随机选择 \(k\) 个糖果的快乐值的期望值, 对 \(998244353\) 取模.

\(n \le 5 \times 10^4\), \(c_i \le 10^9\).

solution

首先一眼 \(O(n\sqrt n)\)

分析一下题目,令 \(b_i\) 表示颜色 \(i\) 出现的个数,颜色本身不重要,所以 \(b_i\) 相同的,本质相同

因为 \(\sum b=n\),所以最多只有 \(\sqrt n\) 个

那么问题就变成了从 \(n\) 个球,其中有 \(i\) 个特殊球,取出 \(k\) 个,取到特殊球的概率

显然可以在 \(O(n)\) 的时间复杂度依次处理 \(k=1\sim n\)

[USACO24FEB] Lazy Cow P

题目描述

给定 \(n\) 个要求,形如 \((m,b)\) ,要求前 \(m\) 个数的和要大于等于 \(b\) ,每个数的贡献为 \(3^{X-1}\)。问为了满足前 \(k(k=1 \sim n)\) 个要求,贡献最小为多少。

solution

首先考虑计算答案,对于一个要求,我们最好的做法是均分

对于一串 \(m\) 递增的要求,我们发现一个个做并不正确,如果后面平均下来的值更大,那我们不如在前面就做更多题,即 \(\dfrac bm\) 应该满足单调递减。

于是这道题变成维护 \((m,b)\) 的凸包,要求支持随机插点,向左右更新,用 \(set\) 维护即可

P1410 子序列&P4728 [HNOI2009] 双递增序列

双倍经验

题目大意

给定一个长度为 \(N\)(\(N\) 为偶数)的序列,问能否将其划分为两个长度为 \(N / 2\) 的严格递增子序列。

\(N\le2000\)

solution

考虑dp,一般的LIS做法,为了满足正确性,维数可能需要3到4维,这道题问的只是可行性,用DP数组存 \(0/1\) 显然不优,考虑把状态转到dp值上

设 \(f_{i,j}\) 表示做完前 \(i\) 个后,\(a_i\) 那个集合里有 \(j\) 个数,另一个集合的最小值

转移就考虑放在哪个集合即可

标签:题目,杂题,solution,大意,序列,糖果
From: https://www.cnblogs.com/zhy114514/p/18258949

相关文章

  • 「杂题乱刷」AT_abc358_g
    代码恢复训练2024.6.15(补)链接(luogu)链接(atcoder)abc最水的G了吧。你发现,你最后肯定全在在同一个点上不动,而且你一定可以在\(n\timesm\)回合内走到这个点,因此我们直接\(dp_{i,x,y}\)表示走\(i\)步到\((x,y)\)这个格子所能得到的最大值即可。时间复杂度\(O(......
  • 2024年6月杂题乱写
    6.5P3214[HNOI2011]卡农设\(f_i\)表示选了\(m\)个集合的答案,简单观察发现,只要确定了\(m-1\)个集合,最后一个集合就是确定的,不是偶数次数的出现,偶数次数的不出现,选\(m\)个集合有\(C_{2^n-1}^{m-1}\)种方案,考虑下面两种不合法的情况。这\(m-1\)个集合已经合法,最后......
  • 「杂题乱刷」AT_abc161_d
    代码恢复训练2024.6.14.bfs板子题。链接(luogu)链接(atcoder)代码:点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出来,是不是该考虑换题?打cf不要用umap!!!记住,rating是身外之物。该冲正解时冲正解!Problem:算法:思......
  • 「杂题乱刷」CF1985F
    代码恢复训练2024.6.13.题目链接CF1985F(CF)CF1985F(luogu)解题思路由于一个回合可以用所有无冷却的技能,因此我们对于技能肯定是能用就用的。进而推出答案具有单调性。直接二分答案即可,注意二分边界问题,这里我开了__int128来避免这个问题。参考代码点击查看代码#i......
  • 杂题选讲 #1:二分图边着色
    Vizing定理定义考虑如下的问题:对一个无向图的边进行着色,要求相邻的边染不同种颜色。问需要的最少的颜色数是多少。解决上述问题需要借助Vizing定理(又称维金定理)。在开始之前,我们先进行一些符号的规定。\(\Delta(G)\):无向图\(G=(V,E)\)的最大度数,即\(\Delta(G)=\max_......
  • 「杂题乱刷」AT_abc154_e
    代码恢复训练2024.6.10.(补)链接(luogu)链接(atcoder)数位dp板子题。dfs(last,sum,_1)剩下未搜的数位数,当前非零数位数,目前是否取满。这里采用记搜的写法。点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出来,是不是该考虑换......
  • 「杂题乱刷」AT_abc132_e
    代码恢复训练2024.6.11.链接(luogu)链接(atcoder)分层图板子。结束。代码:点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出来,是不是该考虑换题?打cf不要用umap!!!记住,rating是身外之物。该冲正解时冲正解!Problem:算......
  • 「杂题乱刷」AT_abc357_f
    代码恢复训练2024.6.8.题目链接链接(atcoder)链接(luogu)解题思路数据结构板子题。设\(ans_i=a_i\timesb_i\)(\(a_i\)和\(b_i\)是此时的\(a_i,b_i\))。设\(f1(i,j)\)表示\(a_i+a_{i+1}+a_{i+2}+\dots+a_j\)的值。设\(f2(i,j)\)表示\(b_i+b_{i+......
  • 「杂题乱刷」AT_abc160_e
    代码康复训练2024.6.7无所谓,随便贪。直接取前\(x\)大的红苹果,前\(y\)大的绿苹果和和所有无色苹果合起来取最大的\(x+y\)个苹果的值加起来即可。容易证明一定合法。代码:点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出......
  • 「杂题乱刷」CF1979C
    代码恢复训练2024.6.7.题目链接CF1979C(codeforces)CF1979C(luogu)解题思路我们发现,如果答案序列的和小于等于\(x\)时是合法的,那么容易得出答案序列的和小于等于\(x+1\)时也是合法的。因此我们发现答案序列的和的合法性是具有单调性的。直接二分即可,答案中的每个......