首页 > 其他分享 >2023.6.3(Mon.) 练习赛总结

2023.6.3(Mon.) 练习赛总结

时间:2024-01-22 22:46:01浏览次数:25  
标签:练习赛 sum 2023.6 ig 大于 iC jg dp Mon

T1

分层图跑最短路。为了优化空间,用了隐式连边的方法。

T2

dp,主要的想法是合并排列。

T4

交换的个数是具有传递性的,所以可以找连通块的信息。又因为具有单调性,可以用二分去找。然后多重集排列即可,公式 \(\frac{n!}{\prod s_i!}\)。

T5

首先,对 \(a\) 和 \(b\) 都分别排序,求出 \(r_i\) 表示比 \(a_i\) 小的 \(b_j\) 个数。

然后,设 \(dp_{i,j}\) 表示前 \(i\) 颗糖,有 \(j\) 颗是大于对应的药,的方案数(只考虑比对应药大的糖的差异,不考虑其他的糖),则 \(dp_{0,0}=1,dp_{i,j}=dp_{i-1,j}+(r_i-j+1)dp_{i-1,j-1}\),输出 \(dp_{n,k} 就过样例了\)

令 \(f_i=(n-i)!dp_{n,i}\),表示把不比药大的糖随便分配给药片,所以意义是至少有 \(j\) 颗是大于对应的药(考虑确定大于的糖的方案与其他不确定是否大于的糖的对应的药的差异)。

令 \(g_i\) 表示恰好有 \(i\) 颗糖大于对应的药的方案数,则 \(f_i=\sum_{j=i}^n C_j^ig_j\)(枚举大于等于 \(i\) 的 \(j\),要在 \(g_j\) 中确定 \(i\) 个确定大于的),由容斥原理可以得到 \(g_i=\sum_{j=i}^n(-1)^{j-i}C_j^if_j\)。

证明:

\[\sum_{j=i}^n(-1)^{j-i}C_j^if_j =\sum_{j=i}^n(-1)^{j-i}C_j^i\sum_{k=j}^n C_k^jg_k =\sum_{j=i}^ng_i\sum_{k=i}^j (-1)^{k-i}C_j^kC_k^i =\sum_{j=i}^ng_i\sum_{k=i}^j (-1)^{k-i}C_j^iC_{j-i}^{k-i} =\sum_{j=i}^nC_j^ig_i\sum_{k=i}^j (-1)^{k-i}C_{j-i}^{k-i} =\sum_{j=i}^nC_j^ig_i\sum_{k=0}^{j-i} (-1)^{k}C_{j-i-k}^{k} = g_i \]

上面差一个 \(\sum_{i=0}^n(-1)^iC_n^i=0 (k>0)\)。

以及另一种形式:若 \(f_i=\sum_{j=0}^iC_i^jg_j\),则 \(g_i=\sum_{j=0}^i(-1)^{i-j}C_i^jg_j\)。

这道题启示计数通过算至多、至少、至多确定等方法间接算答案。

T3

kruskal 重构树上 dp,见题解

一般来说,树上问题比图上问题更容易,所以把图上问题转化为树上问题是一种方向,常见的有最小生成树、kruskal 重构树、最短路树(CF1163F,安全路径)、边双缩点、点双缩点(P3225)。

标签:练习赛,sum,2023.6,ig,大于,iC,jg,dp,Mon
From: https://www.cnblogs.com/recollect-the-past/p/17981261

相关文章

  • 2023.6.4(Sun.) 练习赛总结
    题目T1打表加贪心,注意模数和一些边界情况。T4数据结构或者dp,可以从颜色角度分别计算共献,也可以从合并的角度统一计算贡献。T2首先要发现一个重要的性质:差分数组单调不降。由于差分数组可以是正的或者负的,符合要求的序列分布情况应该类似与向上开口的抛物线(∪),其中最小值在中......
  • 2023.6.8(THUR.) 练习赛总结
    链接。T2绝对值最小值,可以把原式化为两个只有一个绝对值的式子,set维护即可。T4dp用记忆化搜索加unordered_map实现的,要经过一些处理保证均摊单次转移时间复杂度是\(O(1)\)的。平时要注意计算时间复杂度要从最大的方面考虑,dp时间复杂度是状态数量乘单次转移时间,考虑一......
  • D. Berserk Monsters
    原题链接题解1.最笨的想法,链表,每次在还没被杀死的怪物里遍历一遍,如果被杀死了就从链表中删除这个节点但是TLEon#72.进阶想法,仍然是链表,我们想,如果有些怪物永远都不会被杀死,那我们就没必要遍历它。所以我们从可能被杀死的怪物中遍历如果一个怪物这个回合被杀死,但是在上个回......
  • mongodb账号管理
    环境:OS:Centos7DB:4.4.13 1.创建账号并授权(在admin下创建账号)/usr/local/services/mongodb/bin/mongolocalhost:28001useadmindb.auth("root","root123");db.createUser({user:'data_syn',pwd:'sdr123',roles:[{role:'read'......
  • HarmonyOS4.0 系列——06、渲染之条件渲染、循环渲染以及懒加载渲染
    HarmonyOS4.0系列——06、渲染之条件渲染、循环渲染以及懒加载渲染if/else:条件渲染ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和elseif渲染对应状态下的UI内容。写法和TS的一样,简单看一下即可@Entry@ComponentstructIfForEach{@State......
  • C++U6-03-最短路算法2-bellmon-ford算法
    学习目标贝尔曼福特算法、SPFA 可以用来复习的B站视频:1、https://www.bilibili.com/video/BV1RK4y1d7ct?p=3&vd_source=5c960e1ede940bc5cab8ed42c8bdc9372、https://www.bilibili.com/video/BV18a4y1A7gv/?spm_id_from=333.999.0.0 SPFA算法是 Bellman-Ford算法 的队......
  • 洛谷 P9843 [ICPC2021 Nanjing R] Paimon Sorting 题解
    Descirption给出一个排序算法(用伪代码表示):SORT(A)forifrom1tonforjfrom1tonifa[i]<a[j]Swapa[i]anda[j]算出对于一个序列\(A=a_1,a_2,\cdots,a_n\)的所有前缀\(A_k=a_1,a_2,\cdots,a_k\)(\(1\lek\len\)),\(\operatorname{SORT}(A_......
  • 《the psychology of money》金钱心理学-英文原版书籍-读书笔记
    ————————————————————introduction————————————————————2024.01.20尽管我们周围的世界充满了明显的事物和现象,但人们往往忽视它们“softskills”financialsuccessisnotahardscience.Itisasoftskill,wherehowyoube......
  • presto、hive使用year、month、date函数使用注意事项
    经过尝试,presto查询速度更快,于是使用presto引擎查询,直接将在hive中使用的sql拷贝到presto执行,遇到各种问题。遇到问题以下sql在hive中执行成功,变量日期是2024-01-02这样的格式但在presto中执行报错,如下:解决方法通过观察报错信息最后两行,推测很可能是因为数据类型不正确,所以......
  • 记录迁移mongdb数据库
    在Windows系统上,默认情况下,MongoDB的数据库文件存储在以下位置: C:\ProgramFiles\MongoDB\Server\<版本号>\data\db这是MongoDB安装程序的默认路径。<版本号> 是MongoDB的版本号,例如 4.4 或 5.0。请注意,如果你在安装MongoDB时选择了不同的安装路径,那么数据库......