首页 > 其他分享 >2023.11 做题纪要 #1

2023.11 做题纪要 #1

时间:2023-11-06 21:55:05浏览次数:41  
标签:那么 frac 2023.11 ge AB sum 纪要 DP

目录

2023.11.4

打模拟赛,做题纪要摆一摆。

P9338 [JOISC 2023 Day3] Chorus

为了做这题把整个决策单调性的东西学了一遍,虽然最后也没用上多少吧。

首先如果存在划分数 \(\le K\) 的方案,那么一定存在 \(=K\) 的方案,那么我们就是要让最少划分数尽可能小。

先考虑对于一种固定的 AB 序列如何求出最少的划分数。考虑一个贪心的匹配方法,从前往后将每个极长 A 段与后面相应个数个 B 对应,这样就能得到最少的划分数。考虑这实际上相当于让第 \(i\) 个 A 与第 \(i\) 个 B 相匹配,并将这样的若干对 AB 划分成最少条链,使得每条链中的所有 A 都在 B 左边,定义两对 AB 之间的偏序关系为第 \(i\) 个 B 在第 \(j\) 个 A 左边,那么上述问题就是一个最少反链覆盖,根据 Dilworth 定理,这等于最长链,那么最少划分数就等于能选出的最多的两两不交的 AB 对,由于 AB 的位置都是单调递增的,这有显然的贪心做法,从前往后能选则选即可。

那么发现这个过程就可以 DP 了,考虑当前已经确定了第 \(1 \sim i\) 个 AB,选取的最后一个 B 的下一个 A 是第 \(i+1\) 个 A,那么按照贪心,下一次选择的就是第 \(i+1\) 个 A,考虑每次确定第 \(i+1\) 个 A 与 B 之间有多少个 A,这样就能确定下一次选择哪一个 A 了,假设从 \(i\) 转移到 \(j\),那么我们需要将第 \(i + 1\) 到第 \(j\) 个 A 移动到第 \(i\) 个 B 的后面,那么考虑设 \(b_i\) 表示第 \(i\) 个 A 前面有 \(b_i\) 个 B,则移动次数为 \(\sum_{k=i+1}^j \max(0, b_k - i)\),可以写出 DP \(f_{i, k} = \min_{1 \le j < i} f_{j, k - 1} + \sum_{t = i + 1}^j \max(0, b_t - i)\)。

发现贡献函数 \(w(j, i) = \sum_{t = i + 1}^j \max(0, b_t - i)\) 满足四边形不等式,那么答案关于 \(k\) 是凸的,具体可以看 决策单调性与四边形不等式学习笔记。于是我们可以直接 wqs 二分把第二维去掉。

然后考虑如何快速计算内层 DP,由于 \(b_k\) 具有单调性,我们可以设 \(p_i\) 为最小的 \(k\) 满足 \(b_k \ge i\),那么就可以把 \(\max\) 拆掉了,发现是一个斜率优化的形式,直接做即可。不过还有一点,就是对于 \(p_j > i\) 的 \(j\) 这样计算贡献可能会算错(好像其实也不会影响,比较神秘),但是发现如果 \(b_i < j\) 那么你从 \(b_i\) 转移来一定是比它优的,所以这些地方可以直接不转移。

ABC327G Many Good Tuple Problems

我为啥上来就枚举左右部点的数量,我恼了,赛后十分钟过了。虽然我也没打吧。

考虑设 \(f_{n, m}\) 为 \(n\) 个点 \(m\) 条边的连通二分图方案数,发现这玩意不咋好做,发现任意图黑白染色的方案数是容易求的,即 \(\sum_{i=0}^n \binom{n}{i} (i(n-i))^m\),假如设 \(f_{n,m}\) 的二元 EGF 为 \(F(x, y)\),那么考虑到每一个连通块有两种染色方案,于是任意图黑白染色的方案数实际上等于 \([\frac{x^n}{n!} \frac{y^m}{m!}] e^{2F(x,y)}\),那么有 \(e^{2F(x,y)} = \sum_{i \ge 0} \sum_{j \ge 0} \frac{x^i}{i!} \frac{y^j}{j!}\sum_{k=0}^i \binom{i}{k} (k(i-k))^j = \sum_{i \ge 0} \frac{x^i}{i!} \sum_{k=0}^i \binom{i}{k} \sum_{j \ge 0} \frac{(k(i-k)y)^j}{j!} = \sum_{i \ge 0} \frac{x^i}{i!} \sum_{k=0}^i \binom{i}{k} e^{k(i-k)y}\),而我们要计算的答案实际上就是 \([\frac{x^n}{n!} \frac{y^m}{m!}] e^{F(x, y)}\),于是令 \(G(x, y) = e^{2F(x, y)}\),我们只需要计算 \([\frac{x^n}{n!} \frac{y^m}{m!}] \sqrt{G(x, y)}\) 即可。

发现 \(G(x, y)\) 可以表示成 \(x, e^y\) 的多项式,我们把 \(e^y\) 先换成 \(z\),那么就可以暴力计算出 \(G(x,z)\) 的前 \(O(n^3)\) 项,然后开根可以 \(O(n^2)\) 开,具体利用 \(\sum_{i=0}^n f_i f_{n-i} = g_n\) 就可以直接递推计算了,那么需要循环 \(O(n^2)\) 次,每次计算长度为 \(O(n^2)\) 的卷积,那么此时我们就要计算 \([\frac{y^m}{m!}] \sum_{i=0}^{n^2} g_i e^{iy}\),直接算就行了,总复杂度 \(O(n^4 \log n)\)。注意最后要乘 \(2^m\),因为边可以随便定向。

2023.11.5

无模拟赛,所以今日摆大烂。

CF1237F Balanced Domino Placements

考虑枚举 \(a,b\) 表示有 \(a\) 个竖着放,\(b\) 个横着放,直接 DP 看起来不好 DP,我们可以先计算出行选 \(a\) 个长度为 \(2\),\(b\) 个长度为 \(1\) 的段,和列选 \(b\) 个长度为 \(2\),\(a\) 个长度为 \(1\) 的段的方案数,然后再乘一个 \(a!b!\) 就是总方案了,那么我们就变成了一维的问题。直接 DP 是 \(O(n^3)\) 的,注意到只有长为 \(2\) 的会被一开始的划分限制,那么我们先 DP 长为 \(2\) 的,然后计算时组合数选一下长为 \(1\) 的就行了,复杂度 \(O(n^2)\)。

标签:那么,frac,2023.11,ge,AB,sum,纪要,DP
From: https://www.cnblogs.com/apjifengc/p/17809736.html

相关文章

  • 2023.11.6——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 2023.11.6日报
    最近两天(4、5)日主要在进行考试,一方面是进行之前所说的重要考试,另一方面是软考,好在感觉重要考试能过,软考就有些没准了今天开始要回归正常的学习节奏了,为了准备重要考试已经三四天没有认真学习了,该继续努力了,学习时间两小时......
  • 2023.11
    换种方式来写。XXIIOpenCup,Korea:A.AutomaticSprayer2这个构造场上过的不少,但是真实难度并不低。考虑如果我们能解出每一行,每一列的和\(r/c\)。那么根据一定有解这个事实,我们一定能构造出一个合法的矩阵,考虑以下的网络流模型:建立二分图,左行右列。然后\(s\)连向所有行......
  • 2023.11.5——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 2023.11.1 模拟赛
    T1game题目大意两个\(2×2\)的方格,问方格一能否通过将滑动操作变成方格二,X代表空格样例ABXCACBXNO题目分析数据范围很小,我们可以进行暴力搜索,对于有X的点就让它移动向两个方向移动一下,对于每一个dfs最多搜十次,时空复杂度\(O(2^{10})\)#include<bits/stdc......
  • 2023.11.4测试
    \[\text{NOIP模拟赛-2023.11.4}\]T1难题设\(f(i)\)表示最小的非\(i\)因数的正整数,求\(\sum\limits_{i=1}^nf(i)\)\(T\leq10^4\),\(1\leqn\leq10^{16}\)考虑计算数\(x\)对\(f(1\simn)\)的贡献通过分析可以发现,\(1\simx\)能筛掉的数的个数为\(n-\dfrac{n}{\ope......
  • 2023.11.4——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 2023.11.4
    提前打摆开始写总结。A记\(\displaystlef(x)=\min_{i\in\mathbb{N^+}}\),求\(\displaystyle\sum_{i=1}^{n}f(i)\).答案模\(1\mathrm{e}9+7\),多测。\(n\le10^{16}\),\(T\le10^4\).从小到大考虑每个\(f(i)\)的出现次数。若当前求\(x\)的出现次数,那么符合的是\(\b......
  • 2023.11.3——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 2023.11.3 做题记录
    CF349B*1700\(Igor\)深深爱上了\(Tanya\).现在,\(Igor\)想表达他的爱意,他便在\(Tanya\)家对面的墙上写下一串数字.\(Igor\)认为,数字写得越大,\(Tanya\)越喜欢他.不幸的是,他只有\(v\)升油漆,每个数字都会花掉一定的油漆\(a_i\).\(Igor\)不喜欢\(0\)所以数中不会出......