首页 > 其他分享 >2023-10-20 模拟赛

2023-10-20 模拟赛

时间:2023-11-01 09:34:04浏览次数:36  
标签:pre 10 20 sum 石子 贡献 红色 2023

C

\(50\) 的 dp 是很简单的,设 \(f_{i, j}\) 表示前 \(i\) 位有 \(j\) 个红色石子的答案,转移显然。code

这个 dp 看着并不是很好优化,我们回顾一下每个石子贡献的计算。对于一个红色石子,其贡献为 \(a_i + d \times (i - pre_i)\),其中 \(pre_i\) 表示前 \(i\) 个石子中红色石子的个数。

如果全是红色石子的话,那么贡献就是 \(\displaystyle\sum_{i = 1}^n a_i + d \times pre_i = (\sum_{i = 1}^n a_i + id) - \sum_{i = 1}^n pre_i\)。前一项是常数,后一项只和红色点数量有关,所以我们考虑全是蓝色点,然后按照这个式子贪心染色。

实现上,我们发现替换掉一个蓝色石子的贡献是 \(a_i - b_i + i(d - c)\)。

标签:pre,10,20,sum,石子,贡献,红色,2023
From: https://www.cnblogs.com/Rainsheep/p/17802319.html

相关文章

  • 2023-10-26 模拟赛
    C很久没见到过这么清晰的讲题人了。我们先来考虑一些边界情况。全是\(0\)时这个时候其实就是划分成至少\(k\)段的方案数,组合数计算即可。答案大概为\[\sum_{i=k-1}^{n}\binom{n-1}{i}\]存在前导零长度大于等于\(k-1\)时例如001111想分成至少\(3\)段,发现......
  • P3320 [SDOI2015] 寻宝游戏
    其实就是动态维护包含所有关键点的极小联通子树边权和。暴力做法只要子树内有关键点就去遍历,所以按照DFS序顺序去遍历这些关键点肯定是没问题的。用set维护即可。在\(x\)和\(z\)之间加入\(y\),答案加上\(dis(x,y)+dis(y,z)-dis(x,y)\),删除就反过来。......
  • 2023-10-3 模拟赛
    这模拟赛质量对于我来说疑似有点高了,整篇题解。A感觉是很感性的贪思想,大爷讲的挺详细。合法的括号串每个前缀肯定都是\(\ge0\)的,考虑设置正反串左右括号分别的数量,然后贪心的分别放到左括号的计数里,每次结束后判下r1>l1或者r2>l2。B考虑dp,设\(f_{i,j}\)表示从......
  • P5666 [CSP-S2019] 树的重心
    考虑一个结点在什么情况下会成为重心。随便钦定一个根结点。对于结点\(u\),假设割掉了其子树\(v\)中的某条边或连接\(u\)和\(v\)的边,形成了一棵大小为\(k\)的新树。令\(mx\)表示除\(v\)子树外最大的子树大小(或\(n-siz_u\))。如果\(u\)成为了重心根据定义有\(2\ti......
  • P3233 [HNOI2014] 世界树
    将关键点以深度为第一关键字,编号为第二关键字从小到大排序。建完虚树后依次考虑这些关键点可能的管辖的结点。每次在虚树上向上跳,当遇到某个已经被访问过的结点时,根据我们的排序条件,显然再往上的结点就一定不是当前关键点管辖的了。但是在向上跳的这条链上的子树内的结点不一定由......
  • P4395 [BOI2003] Gem 气垫车
    树形DP裸题,令\(f_{i,j}\)表示结点\(i\)标了权值\(j\),\(i\)子树内的最小权值和。转移时枚举每个儿子,再枚举每种颜色,加上颜色不相同的最小DP值。这样时间复杂度就是颜色数量的平方乘上\(n\)。有效颜色数量的上界可以参考我出的那道EternalStar。考虑优化。容易发......
  • 20.4 OpenSSL 套接字AES加密传输
    在读者了解了加密算法的具体使用流程后,那么我们就可以使用这些加密算法对网络中的数据包进行加密处理,加密算法此处我们先采用AES算法,在网络通信中,只需要在发送数据之前对特定字符串进行加密处理,而在接收到数据后在使用相同的算法对数据进行恢复即可,读者如果有了套接字编程的基础,那......
  • P1232 [NOI2013] 树的计数
    首先要明确,对于一个结点,其儿子的遍历顺序是确定的,在DFS序和BFS序中相同。而BFS序更容易确定一棵树的深度,只需要知道在哪些结点分了层。所以可以通过DFS序来确定BFS中的分层方案。然后分类讨论:\(BFS_u+1=BFS_v\),\(DFS_u>DFS_v\),相差恰好一层。若同层则说明DFS先进......
  • 【爬虫实战】用Python采集任意小红书笔记下的评论,爬了10000多条,含二级评论!
    目录一、爬取目标二、爬虫代码讲解2.1分析过程2.2爬虫代码三、演示视频一、爬取目标您好!我是@马哥python说,一名10年程序猿。我们继续分享Python爬虫的案例,今天爬取小红书上指定笔记("巴勒斯坦"相关笔记)下的评论数据。老规矩,先展示结果:截图1:截图2:截图3:共爬取了1w多条"......
  • 10.24
    跟着模板敲代码(1)项目的架构 Dao为数据持久层,用于实现数据库的增删改查entity为javabean用于封装数据库中的对象servlet为前端数据的处理层jsp为前端页面现在来一个个实现 BaseDao用于链接mysql数据库publicclassBaseDao{static{try{C......