首页 > 其他分享 >杂题选讲 cy

杂题选讲 cy

时间:2024-05-23 20:07:33浏览次数:23  
标签:势能 frac 每个 submission sum 选讲 cy 杂题 复杂度

CF1666K Kingdom Partition

我们首先钦定 \(A\) 点选了 A,\(B\) 点选了 B,其它点选了 C,这样会有一个代价。

然后我们尝试将每个 C 点改成 A 或者改成 B。我们将其看成一个物品,其代价为其所有向外的连边之和。

而同时,对于每条边,如果其两端是不同的颜色,其会使代价减少 \(2l\)。我们将这条边看成两个物品,含义是,如果选了这个物品,那么其中一个端点要选 A,另一个要选 B。

然后我们跑最大/小权闭合子图就好了……吗?

并不是,我们并不能保证一个点的 “改 A”、“改B” 两种物品不被同时选择。

但是,如果你仔细计算一下贡献,会发现一个点同时改成两种所带来的贡献为 \(0\),也就相当于啥都不变保持为 C,因此是没有问题的。时间复杂度是网络流复杂度。

submission

CF983D Arkady and Rectangles

考虑扫描线,线段树上每个节点标记永久化一下这个节点代表的区间被哪些颜色覆盖了,然后线段树上每个节点维护一下区间内颜色最小的点,以及最大的没有显露出的点,然后每次暴力将一个之前没有被看见的节点标记即可,复杂度 \(O(n\log ^2n)\)。

注意离散化有一点细节。

submission

QOJ #3091. Japanese Knowledge

这题非常高妙在第一步,我们考虑构造一个双射。

对于一个 \(k\),我们说明,恰有 \(k\) 个位置满足 \(x_i=A_i\) 与前 \(k\) 个位置 \(x_i=0\),后面的位置 \(x_i<A_i\) 构成双射。

左边对右边的映射只需要将 \(x_i=A_i\) 的位置看成 \(0\),然后将 \(0\) 全部移到开头即可,因为 \(A\) 是单调不降的所以如果原来 \(A_i<x_i\),那往后移动肯定还是 \(A_i< x_i\)。

右边对左边的映射可以考虑将每个 \(x_i\) 尽量往前移动直到不能移为止,这也是一一对应的。

因此我们的问题变成,给一个阶梯状的网格,要求从右边界任意点出发,走到下边界每个点的方案数。

考虑分治 NTT,所做的就是在一个阶梯状网格上,已知走到右边界每个点的方案数,求出走到下边界每个点的方案数。

分治,取分值区间 \([l,r]\) 中点 \(m\),将 \([m+1,r]\) 的 \(A_i\) 都减去 \(A_m\),然后分治做上面那个阶梯,接着我们有一个矩形,知道走到上边界和右边界的方案数,要求走到左边界和下边界每个点的方案数,这个可以四次卷积实现,最后递归左边的阶梯状物即可。

时间复杂度 \(O((n+A_n)\log ^2n)\)。submission

Topcoder 12985 LotteryTree

考虑一个比较暴力的做法:记 \(f(x,T)\) 表示 \(x\) 子树 dfs 序之前的概率之和是 \(T\),是否存在一种 dfs 序使 \(x\) 满足条件,求解这个只需要计算每个儿子能不能放在某个位置上,然后做一个匹配即可。叶子处需要特殊判断。我们最终要求 \(f(0,0)\)。

但是这样复杂度显然爆炸。有一个剪枝:如果 \(T\) 往后这个子树内都没有 \(\frac{1}{p}\) 这个点了,那么显然是满足条件的,加上这个剪枝发现过了。

这个状态数可以这样理解:走到一个点的时候一定对应了某个区间内的关键点,而这个区间的关键点是和之前祖先放在第几个儿子唯一对应的。又因为现在子树内的区间概率是确定的,所以本质不同的关键点区间只有 \(O(p)\) 个,总状态数就是 \(O(np)\)。

使用匈牙利做匹配,复杂度 \(O(n^4p)\),因为不满可以通过。

submission

Topcoder 13503 ConnectingGame

考虑如果同时不存在两条路径从上到下以及从左到右,那么肯定同时存在两条八联通的路径从上到下从左到右。

这两条路径肯定会在一个 \(2\times 2\) 的小方格中相交,其中一条从左上走到右下,另一条从右上走到左下,则我们建立这样的图,然后跑网络流即可。

等等,你这样流四条路径起终点对应关系不会错吗?

实际上是不会的,因为假设两条路径交换了起终点,则肯定在一个 \(2\times 2\) 的小方格经历了如上交换,这时可以交换两边的终点,这样就对了。

submission

鞅的停时定理在 OI 中的应用

鞅的停时定理在 OI 中 P 用没有。

大概就是要构造一个势能函数 \(\varphi(X)\),满足 \(\varphi(X)=\sum\varphi(X')p(X')-1\),其中 \(X'\) 表示 \(X\) 的后继状态,以及对应的概率。并且这个势能函数要满足终止点是最高点,这样用终止点的势能减去起点的势能即可。

CF1025G Company Acquisitions

考虑定义单个点的势能函数为 \(f(x)\),表示一个后面跟着 \(x\) 个未选中点的选中点的势能。

如果我们单次对两个被分别有 \(x,y\) 个儿子的标记点操作,就会 \(\frac{1}{2}\) 概率变成 \(x+1,0\),\(\frac{1}{2}\) 概率变成 \(y+1,0\),按照这个列式有 \(f(x)+f(y)=\frac{1}{2}f(x+1)+\frac{1}{2}f(y+1)+f(0)-1\)。

因为势能是相对的,所以我们直接大力认为 \(f(0)=0\),那么有 \(f(x)+f(y)=\frac{1}{2}(f(x+1)+f(y+1))-1\)。

直接让 \(x\) 和 \(y\) 独立开来,有 \(f(x)=\frac{1}{2}f(x+1)-1\) ,解得 \(f(x)=2^x-1\),可以直接计算。

submission

CF1349D Slime and Biscuits

记 \(f(x)\) 表示一个有 \(x\) 个饼干的人的势能。

考虑一个人的饼干数 \(+1,-1\) 以及不变的概率,记 \(m=\sum a_i\),式子是

\[\sum\limits f(a_i)=-1+\sum f(a_i-1)\frac{a_i}{m}+f(a_i)\frac{m-a_i}{m}\frac{n-2}{n-1}+f(a_i+1)\frac{m-a_i}{m}\frac{1}{n-1} \]

将 \(-1\) 平均分拆进去,即可递推,时间复杂度 \(O(n+\sum a_i)\)。

submission

CF850F Rainbow Balls

记 \(f(x)\) 表示一个有 \(x\) 个球的颜色的势能。

按照上题考虑,记 \(m=\sum a_i\),式子是

\[\sum f(a_i)=-1+\sum f(a_i-1)\frac{(m-a_i)a_i}{m(m-1)}+f(a_i)(1-\frac{2(m-a_i)a_i}{m(m-1)})+f(a_i+1)\frac{(m-a_i)a_i}{m(m-1)} \]

然后你发现这时候 \(-1\) 不能每个 \(\frac{1}{n}\) 拆进去了!因为如果你直接拆进去 \(a_i=0\) 处的式子就不对了!

为了使 \(a_i=0\) 处的常数项归 \(0\),我们拆 \(\frac{a_i}{m}\) 进去就可以满足条件。

另一个问题是,\(m\) 实在有点大了,\(f(m)\) 处的值不好求。

不过好在这个递推式可以写成足够简单的形式,具体来说就是 \(f_i=2f_{i-1}-f_{i-2}+\frac{m-1}{m-(i-1)}\)。

计算每个 \(\frac{m-1}{m-(i-1)}\) 对 \(f(m)\) 的贡献,容易发现都是 \(m-1\),于是 \(f_m\) 就是 \(m(m-1)\),然后剩下暴力递推即可。

时间复杂度 \(O(\max a_i\log m+n)\)。submission

标签:势能,frac,每个,submission,sum,选讲,cy,杂题,复杂度
From: https://www.cnblogs.com/275307894a/p/18209239

相关文章

  • 「杂题乱刷」CF1759F
    题目链接CF1759FAllPossibleDigits(luogu)CF1759FAllPossibleDigits(codeforces)题意简述有一个长度为\(n\)的\(p\)进制数,你需要求出至少通过几次操作才可以让\(0\simp-1\)这\(p\)个数字都至少出现过一遍(包括中间过程)。解题思路我们很容易就能发现答案是......
  • 【Azure Storage Account】使用Azure Policy来检查Storage Account中是否有开启匿名访
    问题描述因为StorageAccount中的Container可以开启匿名访问,因安全要求,需要检测出那些Container开启了匿名访问。所以使用AzurePolicy策略来进行检测。但是,想使用以上规则,保存报错。Thepolicydefinition'xxxxxxx'ruleisinvalid.Theresourcetype'storageAccounts/bl......
  • [Paper Reading] Scene as Occupancy
    SceneasOccupancylink时间:23.06机构:ShanghaiAILab&&SenseTime&&CUHKTL;DR提出使用3DOccupancy来表征3D物理场景,相对于3D检测框,3DOcc可提供更细粒度细节。提出OccNet一种多目级连的时序模型,运动规划碰撞率降低15%~58%。创新性:bethefirsttoinvestigateoccupancy......
  • 论文阅读:Multi-Grained Dependency Graph Neural Network for Chinese Open Informati
    LyuZ,ShiK,LiX,etal.Multi-graineddependencygraphneuralnetworkforChineseopeninformationextraction[C]//Pacific-AsiaConferenceonKnowledgeDiscoveryandDataMining.Cham:SpringerInternationalPublishing,2021:155-167.MGD-GNN开源代码引言......
  • 「杂题乱刷」CF1973D
    链接算简单题。你发现最大值肯定可以用\(n\)次查出来。然后可以证明\(ans\le\frac{n}{k}\)。总次数为\(n+\frac{n}{k}\timesk\le2n\)。代码:点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出来,是不是该考虑换题?打c......
  • CyberRT_不同的启动方式的源码解读
    源码解读componentnodereader/writerservice/clientparameterscheduletransportapollo/cyber/cyber.ccCreateNode(){returnstd::unique_ptr<Node>(newNode(node_name,name_space))}apollo/cyber/init.ccInit() OnShutdown()apollo/cyber......
  • 博客更换新域名为52ecy.cn
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`博客更换新域名为52ecy.cn日期:2017-10-20阿珏谈天说地浏览:2077次评论:0条博客又更换新域名了,咦,我为什么要说又好吧好吧,建站才一......
  • 「杂题乱刷」AT_abc354_f
    大家一起来做下这个典题。链接(at)链接(luogu)我们很容易可以想到处理前后缀的最长上升子序列的长度,然后容易\(O(n\log_2n)\)预处理。做完了。点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出来,是不是该考虑换题?打cf不要......
  • 240503好题选讲:概率和期望
    240503好题选讲:概率和期望期望的计算公式:\[E(X)=\sum_ii\timesP(x=i)\]期望的线性性:\[E(X+Y)=E(X)+E(Y),E(kX)=kE(x)\]A百事世界杯之旅B收集邮票一句话题意:\(n\)种邮票,每次等概率选取一张,第\(i\)张的价格是\(i\),问:标准版:集齐\(n\)种邮票所需要购买的期望......
  • 「杂题乱刷」洛谷 P10467
    题目链接P10467[CCC2007]SnowflakeSnowSnowflakes解题思路字符串哈希板子题。思路就是我们给每个数列的所有排列都哈希一个值,然后判断是否有不同的数列的哈希值相同,如果有,就输出Twinsnowflakesfound.,否则就输出Notwosnowflakesarealike.。参考代码这里使用双哈......