首页 > 其他分享 >UOJ #823. 【UR #26】铁轨回收

UOJ #823. 【UR #26】铁轨回收

时间:2023-10-30 13:55:17浏览次数:27  
标签:随意 转移 26 UR leq UOJ pi 数是 dp

题面传送门

拜谢 zaky!

首先考虑 \(B_i\leq 1\) 的部分分,我们考虑采用一种“提前”的 dp 方法。我们设 \(f_{i,j}\) 表示从后往前考虑到第 \(i\) 个,仍有 \(j\) 个 \(0\) 需要变成 \(1\) 的方案数。每次转移的时候枚举当前这个值最终是什么,并选择 \([i+1,n]\) 中的一个数转移过去。

进一步的,我们可以得到一个普适的 dp:设 \(dp_{i,S}\) 表示从后往前到第 \(i\) 个,\([i+1,n]\) 中序列为 \(S\),其中 \(S_i\) 表示仍有 \(S_i\) 个 \(i\) 需要被减少到至少 \(0\) 以下。这里需要将至少容斥成恰好,也即如果枚举了 \(x\) 的最终值是 \(C_x(A_x\leq C_x\leq B_x)\),需要用 \(x\) 最终至少是 \(C_x\) 的方案数减去 \(x\) 最终至少是 \(C_x+1\) 的方案数,这样的复杂度是 \(n\choose B\) 级别的。

这样子并不够优。可以注意到的是,刚开始 \(S\) 内所有数的和是 \(\leq B\) 级别的,如果能让过程中都保持这个状态,那么复杂度就是可以接受的。会使 \(S\) 内所有数变大的情况是某个数顶到了 \(B_x\) 的上界,我们考虑单独处理。我们可以再进行一个容斥,将 \(B_x\) 顶到上界用 \(x\) 随意连减去 \(x\) 不顶到上界的情况。为此,我们重设 dp 状态为 \(dp_{i,j,S}\),其中 \(j\) 表示后面有 \(j\) 个数是可以随意连的。转移需要分类讨论一下每个数是连向非随意连还是随意连。如果连向非随意连,那么 \(S\) 内数的总和会至少减去 \(A_x\),否则当前数也可以看作随意连,总和不变。

状态数是 \(O(n^2\pi(B))\) 的,其中 \(\pi(B)\) 表示 \(B\) 的划分数,转移数是 \(B^{1.5}\) 的,预处理划分数之间的转移以后就可以做到 \(O(n^2\pi(B)B^{1.5})\) 。

不要写记搜,慢死了。

submission

标签:随意,转移,26,UR,leq,UOJ,pi,数是,dp
From: https://www.cnblogs.com/275307894a/p/17797666.html

相关文章

  • Atcoder Beginner Contest 326 (ABC326)
    不知道为什么拖到现在,我是摆怪。A.2UP3DOWN模拟,略。B.326-likeNumbers模拟,略。C.Peak双指针板子。D.ABCPuzzle基础dfs。但是赛时不知道为什么觉得状态数不会很少,于是写了一个巨大复杂的状压。这里粗略算算有效状态数:仅考虑每行的限制,有\(\binom{3}{5}=10\)种选......
  • 捡起ctf学习 day3 BUU SQL COURSE 1
    一.BUUSQLCOURSE1SQL注入类型字符型、数字型、搜索型过程F12找到了隐藏url,存在get请求传参?id=0unionselect1,group_concat(table_name)frominformation_schema.tableswheretable_schema=database()#1、判断是否存在注入、注入是字符型还是数字型id=1orderby......
  • 流畅的Flurl.Http[转]
    流畅的Flurl.Http https://flurl.dev/docs/testable-http/注意:除了URL构建和解析之外的所有内容都需要安装Flurl.Http而不是基本的Flurl包。考虑与HTTP服务交互的一种非常常见的方式是“我想构建一个URL,然后调用它”。Flurl.Http允许您非常简洁地表达:usingFlurl;u......
  • MITK编译错误C2220 mitkLabelSetImageToSurfaceFilter.cpp
    错误 C2220 以下警告被视为错误(编译源文件E:\0_MITK\MITK\Modules\Multilabel\mitkLabelSetImageToSurfaceFilter.cpp)[E:\0_MITK\MITK\SuperBuild\MITK-build\Modules\Multilabel\MitkMultilabel.vcxproj] MITK-build E:\0_MITK\MITK\SuperBuild\ep\include\ITK-5.2\i......
  • 题解 ABC326G【Unlock Achievement】
    题解ABC326G【UnlockAchievement】problem有\(n\)项属性,第\(j\)个属性的等级\(l_j\)初始为\(1\),每提升一级花费\(c_j\)的钱。又有\(m\)项成就,第\(i\)项成就要求对于所有\(1\leqj\leqn\),都要\(l_j\geqL_{i,j}\),如果满足所有要求,获得\(a_i\)的钱。求你最多......
  • springboot Filter @Resource 为空 、@Value 无法读取yml配置的问题
    问题1:在过滤器中使用@Resource为nullSpring中,web应用启动的顺序是:listener->filter->servlet,先初始化listener,然后再来就filter的初始化,再接着才到我们的dispathServlet的初始化,因此,当我们需要在filter里注入一个注解的bean时,就会注入失败,因为filter初始化时,注解的bean还没初......
  • Nacos与Eureka的区别
    Eureka的作用 Nacos的作用相同点都支持服务注册和服务拉取都支持服务提供者心跳方式做健康检测 Nacos与Eureka的区别1:在提供者和注册中心之间Eureka中会定时向注册中心发送心跳,如果在短期内没有发送心跳,则就会直接剔除。Nacos也会向注册中心发送心跳......
  • ITSource 分享 第6期【网址云收藏系统】
    项目介绍本期给大家介绍一个网址云收藏系统.。你是否因为上网过程中收藏了很多网址找不到而发愁,如果浏览器没有登录账号开启同步的情况下,换个电脑,换个浏览器,以前收藏的网址就找不到了。本期给大家推荐一个可以在线随时随地简单收藏的一个网站。可以在这个网站上分类整理收藏......
  • 无涯教程-Clojure - Desktop – Displaying Labels函数
    可以在标签类的帮助下显示标签。以下程序显示了有关如何使用它的示例。(nsweb.core(:gen-class)(:require[seesaw.core:asseesaw]))(defn-main[&args](defndisplay[content](let[window(seesaw/frame:title"Example")](->win......
  • Marine pollution resources
    MarinePollutionTheworld’smarinepollutioncomesinmanyforms–fromtoxicchemicals,sewageandfertiliserstoplastics,discardedfishingnetsandeventhenoisefromshippinganddrilling.Over80%ofitoriginatesfromland-basedactivities(WWF,......