当前位置: 首页 > news >正文

241112

C. 逃跑

D. 树上最多不相交路径

维护一个大根堆,堆中元素的权值就是i到根节点的距离,然后不断弹出堆顶直到堆顶元素的权值小于l就行了

A 传送门

硬搜索

B 硬币游戏

考虑将 a , b , a a,b,a a,b,a分成两组, a , b a,b a,b a a a这样再使用桶排序就可以贪心了

C 序列计数

f i f_i fi 表示以 i i i 结尾 且之前没出现过 的子序列个数, l a s v lasv lasv 表示 v v v 上一次出现的位置,则
f i = ∑ j = l a s v i f j f_i = \sum_{j=lasv}^if_j fi=j=lasvifj

前缀和优化即可 O ( n ) O(n) O(n) 完成。

f i , j fi,j fi,j 表示前 i i i 个数构成的以 j j j 结尾的本质不同子序列个数,转移为
f i , j = { f i − 1 , j , s i ≠ j ∑ k f i − 1 , k + 1 , s i = j f_{i,j}=\left\{\begin{matrix} f_{i-1,j},s_i\neq j \\ \sum_k f_{i-1,k}+1,s_i=j \end{matrix}\right. fi,j={fi1,j,si=jkfi1,k+1,si=j

fi,j={fi−1,j,si≠j∑kfi−1,k+1,si=jfi,j={fi−1,j,si≠j∑kfi−1,k+1,si=j

直接转移的复杂度为 O ( n ∣ σ ∣ ) O(n|\sigma |) O(nσ),矩阵实现为 O ( n ∣ σ ∣ 3 ) O(n|\sigma |3) O(nσ∣3),显然对一般情况矩阵反而会造成负优化。

对于一些特殊的情况,例如转移矩阵周期性变化,就可以用矩阵加速。


http://www.mrgr.cn/news/71916.html

相关文章:

  • 【极限编程(XP)】
  • 2.vue编写APP组件
  • 《基于深度学习的车辆行驶三维环境双目感知方法研究》
  • 关于在VS中使用Qt不同版本报错的问题
  • docker进行SRS直播服务器搭建
  • vue 基础 组件通信1
  • 【Linux】————信号
  • java数据结构与算法:栈
  • 用户,组管理命令
  • 高情商的人都在用的处事细节和技巧
  • 人工智能助手是否让程序员技能退化?
  • Java多线程进阶(锁策略)
  • python 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
  • 政务数据治理专栏开搞!
  • 时间空间频域融合的Corssformer时间序列预测项目
  • Fortran安装(vscode+gcc+Python)
  • Django Form
  • JVM——类加载器、类加载器的分类
  • 专题十八_动态规划_斐波那契数列模型_路径问题_算法专题详细总结
  • 2024134读书笔记|《花间集》——云解有情花解语,山月不知心里事, 水风空落眼前花
  • SpringBoot如何集成WebSocket
  • RT-DETR融合NeurIPS[2022]Ghost Module v2模块
  • C#-命名空间
  • 【FFmpeg】FFmpeg 函数简介 ③ ( 编解码相关函数 | FFmpeg 源码地址 | FFmpeg 解码器相关 结构体 和 函数 )
  • (一)- DRM架构
  • 【364】基于springboot的高校科研信息管理系统