首页 > 其他分享 >《CF1889C2 Doremy's Drying Plan (Hard Version)》 解题报告

《CF1889C2 Doremy's Drying Plan (Hard Version)》 解题报告

时间:2023-11-01 20:57:10浏览次数:27  
标签:Hard tt Drying Doremy 贡献 Version 区间

考场上不会做。

如果考虑删掉哪些区间实际上不太可做。正难则反,转化贡献,考虑哪些点可以有贡献。

显然一个点如果可能有贡献,那么当且仅当覆盖它的区间 \(\le K\) 个。

于是我们记一个状态 \(f_{i,j}\) 表示前 \(i\) 个点中, \(i\) 是最后一个贡献的点,已经删除了 \(j\) 段区间了。

那么如何转移呢,考虑枚举上一个点 \(q\) 。

记 \(t\) 为覆盖着 \(i\) 的区间 , \(tt\) 为同时覆盖 \(i,q\) 的区间。

那么 \(f_{q,j}+1\to f_{i,j+t-tt}\)

显然如果直接枚举 \(q\) 肯定超时的。

考虑一些性质,我们发现可以对 \(tt\) 相同的一些段同时处理,然后用数据结构维护快速查询最大值,那么这题就做完了。

时间复杂度 \(O(nK(K+\log n))\) 。

要用 \(st\) 表来做到 \(O(1)\) 查询。

启示:

  • 正难则反,如果一种算贡献方法做不了,就转化算贡献方式。

标签:Hard,tt,Drying,Doremy,贡献,Version,区间
From: https://www.cnblogs.com/ddl1no2home/p/17804068.html

相关文章

  • CF1764D Doremy's Pegging Game 组合数学
    CF1764DDoremy'sPeggingGame你怎么连简单题也不会?考虑满足条件当且仅当有连续的n/2向下取整段被删除。考虑最终状态一定是一次删除联通了两个连续段,然后结束。我们枚举这个连续段的长度i。最后一个删除的位置有n/2下取整*2-i种方案,设另外删除了j种,则另外删除的方案......
  • 使用hardhat框架,将合约部署到Sepolia测试网中
    1.在hardhat.config.js中写入sepolia的测试网路径,以及自己私有钱包的密钥将自己的默认网络设置为测试网的网络,注意solidity的版本号要保持一致 2.在.env文件中填写基本参数,添加dotenv便于读  3.在etherscan.io/myapikey里面获取自己的apikey并添加到.env中 注意:在用ha......
  • CF1889C2. Doremy's Drying Plan (Hard Version)
    容易想到dp:设\(dp_{i,p}\)表示前\(i\)天,强制第\(i\)天dry,并且一共消除了\(p\)个区间的答案。转移时可以考虑枚举前面的决策\(j\),此时有转移方程:\[dp_{i,p}=\max(dp_{j,p-w})+1\]其中\(w\)为满足\(l\in(j,i],r\in[i,n]\)的区间\([l,r]\)个数。显然可以考虑套......
  • CF1889B. Doremy's Connecting Plan
    一开始不会先跳C了!差点满盘皆输!设\(i<j\),则\(i,j\)合并可以看作\(a_i\leftarrowa_i+a_j\)后删掉\(j\)!此时和初始局面本质相同!所以不妨先只看初始局面!不等式右侧和下标有关!显然若右侧\(i,j\)中只要有一个是\(1\),就会让右侧的值大幅减小!设\(1\)和\(i\)合并!则需满......
  • CF1890D Doremy's Connecting Plan
    Problem-1890D-Codeforces这个式子左边是加法,右边是乘法,很不好算但其实是降智题,不过同时也是我不擅长的找性质因为式子左边是加法而不是乘法,因此像类似于并查集那样求出当前每个联通块内\(\suma_i\)等价于固定一个点从这个点的联通块向外扩展。\(i\)越小越好......
  • shardingdb:支持分片和并发读写的 GoLevelDB
    概述shardingdb是一个开源包,旨在为GoLevelDB增加分片和并发读写功能。它可以作为LevelDB的替代品,方便地集成到现有项目中。本博客将介绍shardingdb及其功能,并介绍如何在您的项目中使用它。特点-分片支持:shardingdb使您能够将数据分布在多个LevelDB实例中,提高性能和可扩......
  • MyBatis-Plus和shardingsphere一起用。子查询取别名读取不到的问题。
    https://github.com/baomidou/mybatis-plus/issues/2585在使用MP和Shardingsphere的某些版本中,可能会出现join子查询表取别名之后,在where中用这个别名报错 Cannotfindownerfromtable.//重点是外层SQL不要出现*,不要使用别名,需要的字段都写清楚(内外层sql都要写清楚),......
  • CF1542E2 Abnormal Permutation Pairs (hard version) 题解
    AbnormalPermutationPairs(hardversion)两个限制:字典序小、逆序对大,一个显然的想法就是确保一对关系,统计另一对关系。确保哪一对呢?我们想了想,决定确保字典序小,因为字典序是可以贪心的。具体而言,我们考虑两个排列自第\(i\)位开始出现了不同。这样子,我们便将两个排列各自划......
  • 【前缀和优化 dp】CF1542E2 Abnormal Permutation Pairs (hard version) 题解
    CF1542E2首先时间复杂度肯定是\(\mathcal{O}(n^3)\)的。容易想到先枚举最长公共前缀,然后枚举\(p_{len+1}\)和\(q_{len+1}\),再枚举逆序对数进行统计。令\(f_{i,j}\)表示有\(j\)个逆序对的\(i\)阶排列的个数。易得转移\(f_{i,j}=\sum\limits_{k=\max(j-i+1,0)}^{j}f......
  • orchard core 搭建cms 加载其他模块的管理1
    有一个具体的例子:https://github.com/OrchardCMS/OrchardCore.Samples1、先使用教程,安装cms-可以是完全也可以是采用前后端分离管理。修改对应的program.cs的内容:`varbuilder=WebApplication.CreateBuilder(args);//Addservicestothecontainer.//builder.Service......