首页 > 其他分享 >盖世计划--0725--B班训练

盖世计划--0725--B班训练

时间:2024-07-30 14:30:13浏览次数:15  
标签:0725 前缀 -- 复杂度 状压 盖世 区间 考虑

A

结论题。

容易做差去考虑,设 \(c_i=a_i-b_i\),每次操作就是在 \(c\) 序列上选择 \(k\) 个位置,奇数位 \(+1\),偶数位 \(-1\)。这并不会改变区间和,所以有解的必要条件是区间和为 \(0\)。

这还不够,转化到前缀和上考虑,我们发现操作只会让前缀和变大,所以另一个条件就是任意位置的前缀和小于等于 \(0\)。

考虑最少的操作次数,再分析操作,每一次操作可以让前缀和上若干区间 \(+1\),并且由于有解,区间最后一个位置前缀和 \(c_i\) 一定为 \(0\),可以构造一组方案,使得答案为区间前缀和最小值的相反数。

维护区间最大/小值复杂度 \(O(n\log n)\)。

B

写过了。简单状压。

C

区间 dp。

写过了。可行性问题的主要优化方式就是把状态内存的 \(0/1\) 换为最优位置等更好的信息,分段维护信息,减小复杂度。

D

写过了。简单状压。

E

图论题。

首先根据内向基环树的充要条件:

具有 \(n\) 个点 \(n\) 条边的联通块,任意节点有且只有一条出边

所以从内向基环树上考虑,最终的答案一定是一个环,也就是每个点有且仅有一条入边。

将树断成若干链,要使答案最优,考虑贪心,每个节点独立,所以保留代价最大不删即可。

然后发现在环上的点有时是错的:如果环上所有边都保留,那么就不是链了。

所以环上至少断一条边,这条边一定是改变后答案增加最小的边。

复杂度 \(O(n)\)。

F

简单状压。

G

状压 dp。

实数范围内的随机显然一点思路都没有,考虑转化条件。

人类智慧:设 \(y_i=x_i-0.5\),那么限制就变成:

  1. \(y_i+y_j\le0\)
  2. \(y_i+y_j\ge0\)

这两个式子的判断实际上只与绝对值大的数有关。具体的说:不妨设 \(|y_i|\le|y_j|\),那么 \(y_i+y_j\le0\) 的充要条件就是 \(|y_j|\le 0\)。这样每个位置就只关心正负性了,脱离实数就好做了。

这启发我们按绝对值从小到大考虑 \(y_i\),这样每条限制就只和前面的数相关了。考虑状压,设 \(f_s\) 表示考虑了当前集合 \(s\) 中的位置的满足限制(只考虑集合中相互的限制)的方案数。转移枚举集合中的最大值满足限制下是取正还是取负。

考虑这样的方案数实际上是啥。实际上是长度为 \(n\) 的 \(01\) 串从小到大考虑后满足限制的方案数。每个 \(1\) 数量相同的 \(01\) 串有 \(n!\) 种排列,而满足大小关系的排列只有 \(1\) 种,所以总共的情况为 \(2^nn!\) 种,答案需要除以 \(2^nn!\)。

标签:0725,前缀,--,复杂度,状压,盖世,区间,考虑
From: https://www.cnblogs.com/FireRaku/p/18332291

相关文章

  • 盖世计划--0726--B班模拟
    又写不了一点,怎么会是呢。菜。A为什么第一题的难度都很懵,不知道是真难还是我傻。你考虑分类讨论保留奇数位还是偶数位,然后就可以知道若干不合法的位置。感觉显然是不能动合法的位置,怎么使代价最小?如果你把要修改的位置分为奇偶两类的话,感觉依次连可以取到最小值。然后你又不知......
  • [OI] 珂朵莉树
    对于一个序列,它有较多重复元素,并且题目需要维护区间修改,维护区间信息,维护整块值域信息的,那么就可以考虑珂朵莉树解决.主要思想珂朵莉树将全部相同的颜色块压缩为一组,如对于下述序列:111234444珂朵莉树铺平后即可以变为这样:{1,3,1}{4,4,2}{5,5,3}{6,9,4}其中的三......
  • 对后端返回数据的格式化-日期
    解决方式:1).方式一在属性上加上注解,对日期进行格式化但这种方式,需要在每个时间属性上都要加上该注解,使用较麻烦,不能全局处理。方式二(推荐)**在WebMvcConfiguration中扩展SpringMVC的消息转换器,统一对日期类型进行格式处理点击查看代码/***扩展SpringMVC框......
  • 使用 Python + Beautiful Soup 抓取任何包含 5 个数字的字符串
    我住在德国,那里的邮政编码在大多数情况下都是5位数字。53525。我真的很想使用beautifulSoup从网站中提取该信息。我是Python/BeautifulSoup的新手,我不知道如何将“查找连续的每5个数字+“空格””翻译成Python语言。importrequestsimporturllib.re......
  • 【计算机方向】五本“三区水刊”重磅推荐!几乎不拒收,国人发文友好!
    本期将为您带来五本计算机SCI妥妥毕业神刊!AUTONOMOUSAGENTSAND MULTI-AGENT SYSTEMS InternationalJournalonDocumentAnalysis andRecognition COMPUTATIONALINTELLIGENCE   IETBiometrics   ACMTransactionsonAsianandLow-Resource......
  • S3:Rclone:非常好用的S3备份、同步工具。
    step0:配置backends step1:copy、sync、move操作我所关心的核心参数:--buffer-sizeSizeSuffixInmemorybuffersizewhenreadingfilesforeach--transfer(default16Mi)--checkersintNumberofcheckerstoruninparallel(default8)--transfersintNumberof......
  • Linux安装redis(超级详细)
    持续关注我,我将分享一个网站完整的搭建过程!序号内容链接1linux安装jdk1.8https://blog.csdn.net/weixin_43836859/article/details/1404782392linux安装mysql5.7https://blog.csdn.net/weixin_43836859/article/details/1406272333linux安装redishttps://blog.csdn.net/we......
  • 模拟退火
    模拟退火必须要单独开一个专题来讲模拟退火了。看到身边很多同学写的模退都是不标准的,步长没有随温度的降低而减小,只能叫随机爬山。系统的学习模退是跟着Acwing的yxc,他写的模退给人一看就有一种豁然开朗,神清气爽的感觉,让你惊叹天下竟然还有如此精妙的算法。是的,优雅的模退......
  • LeetCode-day30-2961. 双模幂运算
    LeetCode-day30-2961.双模幂运算题目描述示例示例1:示例2:思路代码题目描述给你一个下标从0开始的二维数组variables,其中variables[i]=[ai,bi,ci,mi],以及一个整数target。如果满足以下公式,则下标i是好下标:0<=i<variables.length((aibi%10)ci)......
  • 果宇科技与某迪公司应用布袋除尘器的管道插入式粉尘检测仪案例
    项目背景:某迪为了确保工业生产的安全、‌提高生产效率以及保护环境,‌保障工作人员的健康,该企业选购24台管道插入式粉尘检测仪,下面果宇科技小编分享管道插入式粉尘检测仪在某迪公司布袋除尘器的应用案例:技术背景与工作原理管道插入式粉尘检测仪概述:GY/VGD-100-PIL管道插入......