首页 > 其他分享 >Codeforces Round 998 (Div. 3) 部分题解

Codeforces Round 998 (Div. 3) 部分题解

时间:2025-01-20 21:55:00浏览次数:1  
标签:连通性 题解 Codeforces 998 leq 对数 binom 翻转

写题解的时候这场在评测,就不放代码了。

E. Graph Composition

题意

给两个无向简单图,对图 \(1\) 添加若干条边或删除若干条边,使得两图的连通性一致,最少需要变更多少条边。

题解

求出图 \(2\) 的连通性,考虑图 \(1\) 的所有边,若违背了图 \(2\) 联通性的要删除(图 \(2\) 不联通但图 \(1\) 联通的)。

接着求图 \(1\) 剩下边的连通性,对于图 \(2\) 的每条边,若违背图 \(1\) 连通性则要加这条边(图 \(1\) 不联通但图 \(2\) 连通)。

用并查集实现。

F. Multiplicative Arrays

题意

给定 \(n,k\) ,对每个 \(1\leq x \leq k\),求出多少个序列 \(a\) 使得:

  • \(|a| \leq n , 1 \leq a_i \leq k\) 。
  • \(\prod a_i =x\) 。

\(n \leq 9 \times 10^8\) 。

题解

设 \(f_{x,k}\) 表示将 \(x\) 分解成 \(i\) 个有序的大于 \(1\) 的数的乘积的方案数,由于最多只能分解出 \(\log(x)\) 个这样的数,可以直接递推。

计算方案数,需要填充 \(1\) 在剩余位置,枚举 \(a\) 的大小是多少,对于一个拆分个数 \(m\) ,其总方案数为:

\[\binom{m}{m}+\binom{m+1}{m}+...+\binom{n}{m}=\binom{n+1}{m+1} \]

由于 \(m\) 很小最多 \(\log(x)\) 级别,可以暴力求组合数(逆元也是暴力求),复杂度为 \(k\log^3(k)\) ,需要卡卡常。

G. Bugged Sort

参考了官方题解,不会啊咋办

标签:连通性,题解,Codeforces,998,leq,对数,binom,翻转
From: https://www.cnblogs.com/-cchen-/p/18682541

相关文章

  • 20250120 T2 simu题解
    简单模拟(simu)【题目描述】给定$a_1,a_2,\ldots,a_n$和$b_1,b_2,\ldots,b_n$。对于所有整数$x\in[l,r]$,模拟以下过程并求出变量$res$的最终的值。res=0fori=1ton:ifx>=a[i]:x=x-a[i]res=res+b[i]【输入格式】......
  • Codeforces Round 998 (Div. 3)
    题目链接:CodeforcesRound998(Div.3)总结:复建,Cwa两发,E读假题了。A.Fibonaccinesstag:签到Solution:简单模拟一下即可。voidsolve(){inta[5];for(inti=0;i<5;i++){if(i==2){continue;}cin>>a[i];......
  • 「题解」二进制与一
    传送门:水滴、洛谷题目大意:给定一个正整数$n$,给出操作次数$p$。每次操作让$n$加上一个非负整数$x$,使得$n$的第$k$位为$0$(从右往左数)。如果本身为$1$就不用操作。且每次操作$n+x$回影响后续操作。问$x$的和是多少。首先我们要知道,判断$n$的第$k$位是否为$......
  • CF div3 998(F,G)
    F\(dp\)+组合数学需要注意,数组中\(>1\)的数字个数不会超过\(log_{2}k\)个。先暂时不考虑\(1\)的摆放,只考虑所有\(>1\)的数:设\(f_{l,i}:\)长度为\(l\),乘积为\(i\),且所有元素均\(>1\)的数组个数考虑数组的最后一个元素\(d\),必有\(d|i\)成立,因为每个元素一定是\(i\)的因子。则......
  • 题解:CF580B Kefa and Company
    CF580BKefaandCompany前言。其实本题与这道题极为相似,所以建议降橙。思路因为输入顺序不影响就结果,所以可以先给\(a\)按照工资从小到打排序一下序(这里\(a\)使用MAP)。然后再使用尺取法,只要\(a_{r+1}\)的值减\(a_l\)的值\(\ltk\)就将\(r\)加\(1\)。然后发现每......
  • [BZOJ3160] 万径人踪灭 题解
    首先正难则反,想到答案即为满足第一条要求的回文子序列数量,减去回文子串数量。回文子串数量\(hash+\)二分即可,考虑前半部分。假如我们将一个回文子序列一层层剥开,就会发现它其实是由多个相同的字母对拼成的。那么容易想到把字母\(a\)和字母\(b\)的贡献分开计算。那第一条要......
  • PKUWC 2025 题解
    本人太菜,实在不会T3,所以只有T1,T2的题解。注:考场上只做出来了Day1T1,其他题参考了其他人的题解。Day1T1电池检测题面有\(a\)个有电的电池和\(b\)个没电的电池,每次只能选择两个电池放进手电筒,只有这两个电池全有电才能让手电筒启动。问最坏情况下最少可以让手电筒启......
  • AT_abc389_f [ABC389F] Rated Range 题解
    题目传送门前置知识Treap|线段树解法考虑将询问的\(x\)离线下来在升序排序后一起处理。观察到每次操作只有\(+1\),即其之间的相对大小关系不会发生变化,此时就只需要支持将值在\([l,r]\)内的数加一,可以记录懒惰标记。线段树上二分找到端点或直接FHQ-Treap分裂出合法......
  • [ABC389C] Snake Queue题解
    前情题意:问题陈述有一个(蛇)队列。最初,队列是空的。你会得到\(Q\)个查询,这些查询应按给出的顺序处理。查询有三种类型:类型\(1\):以1l的形式给出。一条长度为\(l\)的蛇会被添加到队列的末尾。如果添加前队列为空,则新添加的蛇的头部位置为\(0\);否则,它就是队列中最后......
  • Atcoder ABC389E Square Price 题解 [ 绿 ] [ 二分 ] [ 贪心 ]
    SquarePrice:垃圾卡精度,垃圾卡精度,垃圾卡精度,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人,傻逼出题人。把ll改__int128前WA*22,改__int128直接AC了,难评。抛开卡精度这题还是挺好的。暴力先考虑暴力思路,显然暴力应该这么打:把所有物品全丢进优先队列......