首页 > 其他分享 >2023.11.14

2023.11.14

时间:2023-11-14 22:22:40浏览次数:31  
标签:le 14 dep sum operatorname 端点 2023.11 mathrm

CLYZ 联考。鉴定为 FJOI。

A

问 \(\{1,2,\dots,n\}\) 有多少子集的 \(\gcd=G\),\(\operatorname{lcm}=L\)。

另外地,多次询问若子集包含 \(x\) 的方案数。答案模 \(998244853\)。

\(1\le n,G,L\le 10^8\),\(1\le q\le 5000\),\(1\le x\le n\)。

\(\mathrm{TL}=6\mathrm{s}\)。


先解决第一个问题。

若 \(G\not\mid L\) 显然答案为 \(0\)。否则令 \(L\leftarrow \dfrac{L}{G}\),\(n\leftarrow \left\lfloor\dfrac{n}{G}\right\rfloor\)。

也就是说 \(\gcd=1\),\(\operatorname{lcm}=L\)。显然的是只有 \(L\) 的因子有贡献。

注意到 \(\omega(L)\le 8\),考虑状压。

设 \(f_{i,S,T}\) 表示当前 \(S\) 集合内的质因子顶到上界,\(T\) 集合内的质因子顶到下界的方案数。

转移为 \(f_{i,S|s,T|t}\leftarrow f_{i-1,S,T}\),\(f_{i,S,T}\leftarrow f_{i-1,S,T}\)。时间复杂度 \(O(\sigma_0(L)\cdot 2^{2\omega(L)})\)。

现在解决第二个问题。

若 \(G\not\mid x\),答案为 \(0\)。否则令 \(x\leftarrow \dfrac{x}{G}\)。此时若 \(x\not\mid L\),答案为 \(0\)。考虑此外的情况。

能够想到将前缀和和后缀和合并。时间复杂度 \(O(\sigma_0(L)\cdot 3^{2\omega(L)})\)。

发现合并复杂度瓶颈在于枚举子集。使用高维前缀和预处理,合并可以做到 \(O(2^{2\omega(L)})\)。

总时间复杂度 \(O(\sigma_0(L)\cdot 2^{2\omega(L)})\)。

代码好冗长。


B

问序列 \(\{a_n\}\) 有多少种合法的划分 \(\{S\}\) 满足每个 \(S_i\) 有 \(\min\le \operatorname{len}\le\max\)。答案对 \(10^9+7\) 取模。

\(n\le 5\times 10^5\)。\(\mathrm{TL}=0.5\mathrm{s}\)。


注意到 \(\min\) 不升,\(\operatorname{len}\) 单增,可以 \(O(n\log n)\) 二分出满足 \(\min\le \operatorname{len}\) 的最小 \(\operatorname{len}\)。

有两个暴力策略。枚举所有前缀的后缀 \(\max\),或者枚举所有后缀的前缀 \(\max\)。后者直接放了 \(100\) 分。

正解是 CDQ 分治。膜拜 Logic_J_X。


C

给出两个数 \(n,m\)。你需要构造非负整数序列 \(\{a_n\}\):

有 \(n\) 条要求形如 \((p_i,b_i,t_i)\):若 \(\displaystyle \sum_{j=i}^{p_i}a_i<b_i\),产生 \(t_i\) 的代价。保证 \(i\le p_i\)。

有 \(m\) 条限制形如 \((x_i,y_i,c_i)\):\(\{a_n\}\) 必须满足 \(\displaystyle \sum_{j=x_i}^{y_i}a_i\le c_i\)。保证 \([x_i,y_i]\) 是若干 \([i,p_i]\) 的不交并。

求出最小代价。

\(n,m\le 5\times 10^5\),\(b_i,c_i,t_i\le 10^9\)。\(\mathrm{TL}=1.5\mathrm{s}\)。


对 \(\{a_n\}\) 作前缀和,要求 \(\displaystyle \sum_{j=i}^{p_i}a_j\ge b_i\) 等价于 \(sum_{i-1}-sum_{p_i}\le -b_i\),用差分约束系统建图 \((p_i,i-1,-b_i)\),得到 \(n+1\) 个点的以 \(n\) 为根的外向树。

限制 \(\displaystyle \sum_{j=x_i}^{y_i}a_j\le c_i\) 等价于 \(sum_{y_i}-sum_{x_i-1}\le c_i\),建边 \((x_i-1,y_i,c_i)\),由于题目给出的 \([x_i,y_i]\) 的性质,建出的边一定连向自己的祖先。

图上的负环一定由一个节点 \(u\) 到其后代 \(v\) 的树边与 \(v\) 到 \(u\) 的非树边组成。称 \(u\) 到 \(v\) 的链为负环链,\(u\) 为上端点,\(v\) 为下端点。

转化为使得每条负环链至少断掉一条边的最小代价。

设 \(\operatorname{link}(x)\) 为以节点 \(x\) 为下端点的负环链的上端点的最大深度(\(dep_n=1\)),不存在则为 \(0\)。

设 \(w_x\) 为断开 \((fa_x,x)\) 的代价,\(f_{x,i}\) 为两个端点都在 \(x\) 子树内的负环链以及下端点在 \(x\) 子树内且上端点深度大于 \(i\) 的负环链都至少被断开一条边的最小代价。

  • \(\operatorname{link}(x)=0\)

此时有转移方程

\[f_{x,i}=\min\{\sum_{y\in{\operatorname{son}(x)}}f_{y,i},w_x+\sum_{y\in{\operatorname{son}(x)}}f_{y,dep_x+1}\}$$。 - $\operatorname{link}(x)>0$ 此时根据 $i$ 与 $dep_x$ 的大小关系得到 $$f_{x,i}=\begin{cases}\min\{\sum_{y\in{\operatorname{son}(x)}}f_{y,i},w_x+\sum_{y\in{\operatorname{son}(x)}}f_{y,dep_x+1}\}&i\ge dep_x\\w_x+\sum_{y\in\operatorname{son}(x)}f_{y,dep_x+1}&i<dep_x\end{cases}\]

使用线段树合并维护。

时间复杂度 \(O(n\log n)\)?


D

[ARC080F] Prime Flip

*3078。

有一个无穷长的 01 序列。其中 \(\{x_n\}\) 中的位置是 \(0\),其他均为 \(1\)。

每次可以选择一个长为奇素数的连续段翻转。问最后全为 \(1\) 的最少操作次数。

\(1\le n\le 1000\),\(1\le x_1<x_2<\dots<x_n\le 10^7\)。AtCoder 中 \(n\le 100\)。

标签:le,14,dep,sum,operatorname,端点,2023.11,mathrm
From: https://www.cnblogs.com/SError0819/p/17832743.html

相关文章

  • 11.14打卡
    1.最小覆盖字串(76)给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。classSolution{publicStringminWindow(Strings,Stringt){intn=s.length();......
  • 离职了14天了,准备开始找工作了
    1.面试总结一springCloud,dubbo为什么选择用springcloudspringcloud相当于一个完整的体系,能帮助开发者快速的构建分布式系统,里面的组件比dubbo多dubbo相比于springcloud来说优势在性能要好,使用的协议不一样,dubbo使用的是默认的协议dubbo协议,rmihessionherif springclo......
  • 11 14 lombok的使用和注册接口与登录接口细节
      先导入lombok的依赖,加上@Data注解  这是pojo包下的result,使用的两个注解是无参构造和有参构造controller:书写 service接口书写: serviceImol书写: 其中@Service把把该类注入到容器中,@Autowired注解是依赖注入,Md5Util是一个工具类,其中的getMD5String(string)......
  • 11.14 衔花
    垫底好心情,从我做起也只能我了昨天改的GNUK改坏了,今天重改妈的模拟赛垫了,现在完全不会计数。好多技巧都忘光光了。幸好很快就要结束了。再见呢朋友们。http://www.ccgp-hebei.gov.cn/sjz/sjz/cggg/zhbggAAAS/202311/t20231114_1910631.htmlS2新购买了三块显卡,一款古......
  • 2023.11.14 总结
    T1题意:已知\(P=10^{18}+31\)为质数且存在原根\(g=42\),记\(A_0\)为\(795484359100928850\),\(A_k=f(A_{k-1})\),其中\(0<f(x)<P\)且满足\(g^{f(x)}\equivx(modP)\),可证明这样\(f(x)\)唯一存在,每次查询一点\(f(x)\)的取值,\(1\lex\le10^5\)。事实上,此......
  • 11.14每日总结
    目中在搜索商品时,在没有搜索按钮的情况下,刚开始是写的当用户输入完成后,input框失去焦点blur事件处理,产品提议用户输入后,按enter回车键返回搜索结果。vue中失去焦点事件写法:@blurvue中enter回车键事件写法:@keyup.enter.native......
  • 214-springboot定时任务@Scheduled
    @Scheduled(fixedDelay=5000)@Scheduled(fixedDelay=5000),是启动后,马上开始第一次执行任务的么?应用启动时,任务会被立即执行。执行完成后,会等待5秒(因为fixedDelay设置为5000毫秒),然后再次执行任务。以后每次执行完任务,都会等待5秒后再次执行。类的注解:@Configuration@Ena......
  • 【GJOI 2023.11.13 T2】 字符串匹配
    字符串匹配题意:给出两个字符串\(a,b\),求:\[\sum_{1\lel\ler\len}\sum_{l\lei\lej\ler}(a[l...r]回文)(a[i...j]==b)\times(r-l+1)mod2\]其中\(n,m\le10^6\)。解题思路首先,因为\(a[l..r]\)长度为奇数,它又要回文,所以它一定是要有一个回文中心的。那我......
  • 11月14日三元运算
    目录三元运算三元运算三元运算在js中是一种紧凑的条件语句,用于根据条件的真假来返回两个可能的值之一。一般语法条件?表达式1:表达式2;如果条件为真(true),则返回表达式1的值。如果条件为加(false),则返回表达式2的值。这里提供简单的例子代码varage=20;varjieguo......
  • 每日总结11.14
    实验2熟悉常用的HDFS操作  1.实验目的(1)理解HDFS在Hadoop体系结构中的角色;(2)熟练使用HDFS操作常用的Shell命令;(3)熟悉HDFS操作常用的JavaAPI。2.实验平台(1)操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04);(2)Hadoop版本:3.1.3;(3)JDK版本:1.8;(4)JavaIDE:Eclipse。3.实验步骤(一)编......