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

动态规划题单做题日志

p.s. 今天观察队友发现 , 队友在比赛的时候可以长时间保持有发散性的思考 , 这点应该注意 !

  1. 序列动态规划

    不考虑容斥的做法 , 从暴力起手 .

    \(dp_{i,j,0/1}\) , 代表进行到第 \(i\) 位 , 这个位置的值是 \(0/1\) , 上一个与之不同的位置在 \(j\) 的方案数 .

    朴素的进行转移 , 用双指针将非法的区间归零即可 .

    目前的时间复杂度是 \(O(k^2)\) 的 , 套路地考虑离散化 .

    先抛去细节 , 考虑状态的变化 , 设 \(dp_{i,j,0/1}\) 代表进行到第 \(i\) 个关键点 , 上一个与之不同的位置在 \(lsh_{j-1}+1,lsh_{j}\) . 其中 \(lsh\) 是离散化映射数组 .

    特别的 , \(dp_{i,i,0/1}\) 则代表在 \(lsh_{i-1}+1,lsh_{i}-1\) 不同.

    这样的话直接转移就可以做到 \(O((n+m)^2)\) .

    最重要的是如何选取关键点 , 才能在删除非法区间时保留信息 .

    首先 \(0,k\) 是肯定要放的 .

    考虑删除的过程 , 删除 \(j<l\) 的所有状态 , 但是考虑到 \(lsh_{j-1}+1,lsh_{j}\) 这里的设计 , 存在一种情况 ,不同的是 \(j\) 之前的数而不是 \(j\) 本身 , 所以 \(lsh_j -1\) 也应该加入关键点 , 参与离散化 .

    现在最不熟悉的工作已经完成了 . 考虑优化 .

    先把动态规划方程搬上来 ,

    dp[0][i + 1][j] = A(dp[0][i + 1][j], dp[0][i][j]);
    dp[1][i + 1][j] = A(dp[1][i + 1][j], dp[1][i][j]);
    dp[0][i + 1][i] = A(dp[0][i + 1][i], dp[1][i][j]);
    dp[1][i + 1][i] = A(dp[1][i + 1][i], dp[0][i][j]);
    dp[0][i + 1][i + 1] = A(dp[0][i + 1][i + 1], M(A(P(2, Num[i + 1] - Num[i] - 1), S(1ll)), dp[0][i][j]));
    dp[0][i + 1][i + 1] = A(dp[0][i + 1][i + 1], M(A(P(2, Num[i + 1] - Num[i] - 1), S(1ll)), dp[1][i][j]));
    dp[1][i + 1][i + 1] = A(dp[1][i + 1][i + 1], M(A(P(2, Num[i + 1] - Num[i] - 1), S(1ll)), dp[0][i][j]));
    dp[1][i + 1][i + 1] = A(dp[1][i + 1][i + 1], M(A(P(2, Num[i + 1] - Num[i] - 1), S(1ll)), dp[1][i][j]));
    

    其实不难发现后六条都是一个全局和就可以搞定的事 .

http://www.sczhlp.com/news/10258/

相关文章:

  • 告别传统FTP!国产FTP服务器软件如何实现10倍速升级?
  • 率先对接GPT-5!燕千云AI能力重磅升级,打造企业级全栈大模型服务生态
  • 国产化FPGA-2050-基于JFMK50T4(XC7A50T)的核心板
  • Luogu题解:P13463 [GCJ 2008 #1C] Text Messaging Outrage
  • Prometheus 告警时为何无法获取现场值
  • Luogu题解:P13427 [COCI 2020/2021 #2] Odasiljaci
  • post提交数据到服务器应该使用textarea还是div editable
  • Python 库 DuckDB
  • OpenCV入门(16):图像滤波(平滑处理)
  • Luogu题解:P13594 『GTOI - 1A』Bath
  • G. ABBC or BACB
  • JetBrains WebStorm 2025.2 (macOS, Linux, Windows) - JavaScript 和 TypeScript IDE
  • 牛逼!花了9天,开发了一款一站式智能测试平台:STP!
  • VMware Avi Load Balancer 30.2.4 - 多云负载均衡平台
  • VMware NSX 4.2.3 - 网络安全虚拟化平台
  • JetBrains IDE 2025.2 (macOS, Linux, Windows) - 跨平台开发者工具
  • JetBrains IntelliJ IDEA 2025.2 (macOS, Linux, Windows) - 领先的 Java 和 Kotlin IDE
  • 题解:AT_agc033_e [AGC033E] Go around a Circle
  • 【经管文化主题|高录用快检索】第七届经济管理与文化产业国际学术会议
  • 多线程
  • JetBrains CLion 2025.2 (macOS, Linux, Windows) - C 和 C++ 跨平台 IDE
  • 快消巨头杨掌柜:用纷享销客CRM实现渠道数字化升级
  • Omnissa Unified Access Gateway 2506 - 远程安全的应用程序访问
  • Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
  • 第七届经济管理与文化产业国际学术会议(ICEMCI 2025)
  • cookie,session,localstorage,sessionstorage一次讲清楚
  • Maven jar上传Nexus教程
  • 7.1组合计数
  • 浅学 FHQ
  • DeepCompare文件深度对比软件:智能文本对比与差异统计功能完全指南