fold的毒瘤题

easy:

做法1.

可以仿照最小生成树的Kruskal做法, 将边权按照从小到大排序
对于每个询问: 按边权从小到大依次连接各个边, 同时用并查集维护特殊点的连通性, 一旦某条边加入后, 遍历所有的特殊点发现它们属于同一集合, 那么答案就是这条边的边权
复杂度: O(mlogm+qmn)

做法2.

对于某个权值 x , 如果权值不超过x的边能使所有特殊点连通, 那么对于 >x 的所有权值也一定能使特殊点连通, 满足单调性, 即二分性质
所以二分枚举 x , 用dfs判断特殊点是否连通, 如果特殊点连通, 那么将答案范围缩小至 [x,r] , 反之答案变为: [l,x1]
复杂度: O(nlogv)

mid:

答案很显然在最小生成树上取到, 这样就将原图转化成了一颗树
其中与hard一个很显然的不同就是: 点数不超过20个
所以只需要暴力求出这20个点两两之间路径上的最大值就好了
对于求: 两点之间树上路径最大值有2个做法:

做法1.

树链剖分 复杂度: O(log2n)
(我自己提交的树链剖分TLE了, 我本意是: 不卡这个log的)

做法2.

倍增求LCA的同时维护max[i][j]代表: 第i个节点到向上 2j 个节点的路径上的最大值
然后一边求LCA的同时求出到LCA的路径上的最大值, 两个最大值中较大的一个就是答案 复杂度: O(logn)
所以总的复杂度为: O(q20logn)

hard:

设定一个常数k
p>k 时, 这时候 %p=c 的点不超过k个, 向上面mid一样做就好了, 假设这样的询问有 q1 个, 时间复杂度: O(q1klogn)
pk 时, 将答案离线下来并按照p和c从小到大排序, 同时处理出所有p相同且c相同的区间询问
对于同一个 pi ci ,将所有 %pi=ci 的点, 两两( cj cj+p )求路径上的最大值, 并将这个相邻最大值更新到线段树上, 对于一个区间询问, 直接从线段树上获得 [l,r] 的区间最值就好了
关于复杂度, 最坏情况就是每一个p和c都不相同, 然而p只有不超过k个
对于某个 pi , %pi=0,1,,pi1 的点一共是n个, 所以每个点只会被更新(或删除)到线段树上一次
假设这样的询问有 q2 个, 复杂度最坏情况: O(q2knlogn)
k=n 时, 总时间复杂度为: O(nnlogn)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
fold change是差异表达基因分析中常用的指标之一,用于衡量基因在不同条件下的表达水平差异。fold change表示基因在两个条件之间的表达水平的相对倍数差异。它通过计算两个条件下的平均表达水平之比得出。 例如,如果一个基因在条件A中的表达水平为10,而在条件B中的表达水平为20,则该基因的fold change为20/10=2。这表示在条件B下,该基因的表达水平是在条件A下的2倍。如果fold change大于1,则表示基因在条件B中的表达水平高于条件A;如果fold change小于1,则表示基因在条件B中的表达水平低于条件A。 在差异表达基因分析中,fold change通常与p-value一起使用,以确定哪些基因在不同条件下的表达差异是否显著。p-value用于衡量差异的显著性,而fold change则用于衡量差异的大小。 总结起来,fold change是用于衡量基因在不同条件下表达水平差异的指标,它表示基因在两个条件之间的表达水平的相对倍数差异。它与p-value一起被用来确定差异是否显著。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [如何计算基因表达中的Fold Change值?](https://blog.csdn.net/u013313168/article/details/99309076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vennt:差异基因表达的动态维恩图](https://download.csdn.net/download/weixin_42109178/20258904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值