首页 > 其他分享 >CF1798C Candy Store

CF1798C Candy Store

时间:2023-08-17 17:11:58浏览次数:42  
标签:10 le mid Candy times 合法 CF1798C Store 贪心

昨晚 VP 的时候想了半个多小时的怎么卡质因数分解的常。

给定两个长度为 \(n\) 的序列 \(a\) 与 \(b\),对每一个 \(i\) 固定一个 \(d_i\),使得 \(d_i \mid a_i\)。将 \(b_i \times d_i\) 记为一个新的序列 \(c\),你要使得 \(c\) 的连续段最少。
\(n \le 10^5\),\(a_i \le 10^9\),\(b_i \le 2 \times 10^4\)。

我们考虑一个贪心:每次都尽量向后走,直到走到无法满足题目要求的 \(i\) 为止,再 \(ans \gets ans + 1\),另起一段,直到走完整个序列。容易证明贪心的正确性,现在需要考虑的就是如何验证是否存在满足条件的 \(c_i\)。

对于合法的一段 \([l, r]\),我们设其对应的 \(c_i\) 为 \(c\),合法的要求是对于每一个 \(i \in [l, r]\),都有 \(d_i \mid a_i\),也就是 \(c_i \mid a_i \times b_i\),那么显然,如果 \(\gcd_{l \le i \le r} a_i \times b_i\) 是 \(c\) 的倍数的话,\([l, r]\) 这一段才合法。显然有对于任意的 \(i \in [l, r]\),都有 \(b_i \mid c\)。那么我们容易看出最小的,也是最优的 \(c\) 为 \(\operatorname{lcm}_{l \le i \le r} b_i\)。那么 \([l, r]\) 这一段合法等价于 \(\operatorname{lcm}_{l \le i \le r} b_i | \gcd_{l \le i \le r} a_i \times b_i\),贪心即可做到 \(\mathcal{O}(n \log |S|)\),其中 \(|S|\) 为值域大小。

代码

标签:10,le,mid,Candy,times,合法,CF1798C,Store,贪心
From: https://www.cnblogs.com/forgot-dream/p/17638176.html

相关文章

  • MAUI+Masa Blazor APP 各大商店新手发布指南(一)App Store篇
    目录前言新手常见审核意见Guideline2.1-InformationNeededGuideline2.1-Performance-AppCompletenessGuideline2.3.8-Performance-AccurateMetadataGuideline5.1.1(v)-DataCollectionandStorageGuideline4.2-Design-MinimumFunctionalityGuideline4.......
  • MAUI+Masa Blazor APP Store新手上线指南
    目录前言新手常见审核意见Guideline2.1-InformationNeededGuideline2.1-Performance-AppCompletenessGuideline2.3.8-Performance-AccurateMetadataGuideline5.1.1(v)-DataCollectionandStorageGuideline4.2-Design-MinimumFunctionalityGuideline4.......
  • 创建定义store并使用组合式api、选项式api
    在项目根目录创建store文件夹(此步骤和vuex相同)在步骤一的store文件夹下根据不同的用途场景创建单独的store文件(等同于vuex中分模块)、定义store基本步骤步骤导入defineStore()方法:import{defineStore}from'pinia'使用defineStore定义store并导出import{defineS......
  • storeToRefs()的作用和使用
    store是一个用reactive包装的对象,这意味着不需要在getters后面写.value,就像setup中的props一样,如果你写了,我们也不能解构它:<scriptsetup>conststore=useCounterStore()//❌这将不起作用,因为它破坏了响应性//这就和直接解构`props`一样const{name,doubl......
  • 2022最新上传ipa到appstore的步骤说明​
    我们平时在开发原生的iosapp的时候,有苹果电脑在手,上传ipa文件到苹果开发者中心比较简单,直接在xcode上就可以实现了。但是现在大多数人开发app不再是用原生框架开发了,也没有苹果电脑。很多朋友们选择了跨平台的H5技术来开发app,真正做到实现一种语法到处运行的场景。现在比较热的框......
  • 如何将你的iOS应用成功上架App Store(图文详解)
    上架基本需求资料1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程)2、开发好的APP通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestFlight测试然后提交审核的完整流程!上架AppStore审核分7步进行。1、安装iOS上架辅助软件Appuploade......
  • ios app真机测试到上架App Store详细教程-必看
    Appuploader常见问题转存失败重新上传取消上架基本需求资料1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程)2、开发好的APP通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程,中途可能会遇到一些报错,一般在教程对常见错误都有解释,仔细看看,不清楚可以联系......
  • dotnet restore
    错误NU1105找不到“xx.csproj”的项目信息。如果使用VisualStudio,这可能是因为该项目已被卸载或不属于当前解决方案,因此请从命令行运行还原。否则,项目文件可能无效或缺少还原所需的目标。xxxxxx.csproj 打开Nuget包管理器->程序包管理器控制台 dotnetrestore......
  • 在使用异步请求后把值存入localstore并且在其他变量中首次通过localstore获取不到值
    问题写了一个方法A,里面有使用AXIOS进行请求(异步),并且把请求后的数据存入localstore,此方法在onMounted中进行调用,之后在其他地方使用时(通过读取localstore来获取值并给变量赋值),发现首次调用是获取不了值进行展示的,刷新后或者切换页面回来后就是按预期展示了。推断方法A是异步执行......
  • 实时入库不用愁,HStore帮分忧
    本文分享自华为云社区《直播回顾|实时入库不用愁,HStore帮分忧》,作者:汀丶。海量数据时代,如何实现数据实时入库与实时查询?GaussDB(DWS)HStore表为数据高效存储与查询提供了哪些助力?本期《数仓实时入库利器—HStore表原理与应用实践详解》的主题直播中,我们邀请到华为云EIDTSE技......