ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021.10.04pm

2021-10-05 13:35:33  阅读:172  来源: 互联网

标签:le 2021.10 AK rx 2y 04pm blacktriangle sum


10.04PM

预期 实际
A 0 0
B 0 0
C 0 0
D 0 0
S 0 0

属于是爆零了。
策略上出大问题,先做的D····。
难度我觉得有点不太均衡,前三道难度低了一些,但整体感觉还不错。

A Luogu P4552 [Poetize6] IncDec Sequence \(\blacktriangle\)

  1. 区间修改,容易想到差分。由于又可以加又可以减,显然最优情况是找差分数组中的一个正数和一个负数进行抵消。进一步就是用所有的正数和负数之和进行抵消,但很有可能有剩余,这时候选择头或者尾进行修改,这样能得到绝对值之差加一种不同的序列。(\(b_1\) 不一样,而其它都是0)

B 绿豆蛙的归宿进阶(逆元)\(\blacktriangle\)

  1. 可以正推,也可以逆推。
  2. 正推是长度*概率,逆推直接就是期望。
  3. 对于逆推,显然有\(ex[u]=\sum (ex[v]+edge[u\to v])/out[u]\)
  4. 同时由于是有向无环图,为了避免重复访问,自然拓扑排序。

C 乒乓 \(\blacktriangle\!\blacktriangledown\)

题意:

选取乒乓球台的任意一个平面,打出了n个球,初始速度分别为 ,为一个二维向量\((x_i,y_i)\) ,定义AK指数为:

\[AK(l,r)=\sum_{1 \le i < j \le r}(x_iy_j-x_jy_i)^2 \]

要求支持两种操作:点修改,查询AK

题解:

  1. \(AK(l,r)=\sum_{1 \le i < j \le r}(x_i^2y_j^2+x_j^2y_i^2-2*x_iy_ix_jy_j)\)

  2. 再稍作修改,\(AK(l,r)=\sum_{i=l}^rx_i*\sum_{j=l}^ry_j-\sum_{i=l}^rx_i^2y_i^2-(\sum_{i=l}^rx_iy_i*\sum_{j=l}^rx_jy_j-\sum_{i=l}^rx_i^2y_i^2)\)

  3. \(AK(l,r)=\sum_{i=l}^rx_i*\sum_{j=l}^ry_j-\sum_{i=l}^rx_iy_i*\sum_{j=l}^rx_jy_j\)

  4. 维护三个支持单点修改区间查询的数据结构(树状数组)。

D 阿尔塔拉 \(\blacktriangle\!\blacktriangledown\!\blacktriangle\!\blacktriangledown\)

题意:

一棵树,1为父亲节点,支持查找两点之间是否有值大于K的点,有多个则输出编号最小的点,同时支持从节点到根区间修改1。 \(m\) 次查询,每次输出\(Ask(x,y)\),并 \(add(y)\)。

题解

  1. 这道题第一直觉肯定是树剖,但是 \(O(n\log_n^2)\) 会被卡(更别说\(O(n \sqrt n)\)),强制要求 \(O(n\log n)\)。
  2. \(P.S.\) 这个程序是在阅读”非常潮“的标程之后写出的。
  3. 有这样一个性质:如果一个点的值大于K,它的父亲的值也肯定大于K,满足递增性。同时,又可以用 \(ST\) 维护区间最小编号,\(O(1)\) 查询。
  4. 而一个点的值大于K,必然是儿子的操作次数大于K,用树状数组维护前缀和,查询子树大小。
  5. 但这样时间复杂度还是有问题。我们需要在 \(add\) 的同时更新子树。而从下往上修改复杂度还是 \(\log\) 显然该T还是T,得要从第一个没有破坏的点往下更新。这需要提前找到每个点的儿子,以找到从根到该点的路径。在 dfn 序中,显然有 \(dfn[son_1]<dfn[son_{{son}_1}]<dfn[son_2]\),所以可以二分来查找,同时打上标记,这样时间复杂度是均摊 \(O(n\log n)\) 且和询问次数没有多大关系。

image

\(\cal {Made} \ {by} \ {YuGe}\)

标签:le,2021.10,AK,rx,2y,04pm,blacktriangle,sum
来源: https://www.cnblogs.com/u2003/p/15368462.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有