2019CCPC湖南全国邀请赛(广东省赛、江苏省赛)重现赛

本文介绍了2019年CCPC湖南全国邀请赛的算法问题,包括A Chessboard、B Build Tree等题目。详细解析了部分题目解法,如A题采用最大费用最大流解决,D题尚未解决,E题采用贪心策略。
RankSolvedABCDEFGHIJkL
?/?7/12OOO.OØØØO.OO

O: 当场通过

Ø: 赛后通过

.: 尚未通过

A Chessboard

solved by chelly


chelly’s solution

把每个行和每个列抽象成一个点。

  • iii行向第i+1i+1i+1行连边,第jjj列向第j−1j-1j1列连边,费用是000,容量根据限制条件来
  • SSS向第111行连边,第111列向TTT连边,费用是000,容量根据限制条件来
  • 如果第kkk个棋子的坐标是(i,j)(i,j)(i,j),那么第iii行向第jjj列连边,费用是kkk,容量是1

S−>TS->TS>T求最大费用可行流即可。
注意离散化只需要对棋子坐标离散化,对与限制不需要离散化,不然会TLE。

B Build Tree

solved by chelly&viscaria


chelly’s solution

C Chika and Friendly Pairs

solved by chelly


chelly’s solution

莫队+树状数组。

D Chika and Solid Geometry

unsovled


E Hello XTCPC

solved by viscaria&chelly


chelly’s solution

贪心,每次取出字典序最小的序列

F Neko and function

solved by feynman1999


feynman1999’s solution

看到这个范围,第一反应就是EES类似。

考虑fff函数如何计算,发现不是积性函数而且不好计算。

考虑另外一个函数ggg,和fff的区别只是限制条件ai>1a_i>1ai>1变为ai≥1a_i\ge 1ai1,这个时候考虑g(n,k)g(n,k)g(n,k)如何求解以及fffggg之间的关系。

  • 考虑fffggg之间的关系,显然ggg的情况是不小于fff的,考虑多的部分,其实就是有ai=1a_i=1ai=1的情况。自然想到枚举哪个位置放1,剩下的用ggg继续表示,即f(n,k)=g(n,k)−Ck1∗g(n,k−1)f(n,k) = g(n,k) - C_k^1*g(n,k-1)f(n,k)=g(n,k)Ck1g(n,k1)。 但发现其实多减去了,因为后面那个部分统计显然有重复,重复的就是Ck2∗g(n,k−2)−Ck3∗g(n,k−3)+....C_k^2*g(n,k-2) - C_k^3*g(n,k-3)+....Ck2g(n,k2)Ck3g(n,k3)+....

    也就是要容斥一下,即f(n,k)=∑i=0k(−1)i∗Cki∗g(n,k−i)f(n,k) = \sum_{i=0}^k(-1)^i*C_k^i*g(n,k-i)f(n,k)=i=0k(1)iCkig(n,ki)

    由于kkk只有30,这个时候祈祷ggg是积性函数,ees就结束了。确实是。

  • 考虑函数g(n,k)g(n,k)g(n,k),将nnn质因子分解,可知不同质因子贡献是满足积性的。而对于g(pe,k)g(p^e,k)g(pe,k),对应于eee个球,kkk个盒子,球没有区别,位置(盒子)有区别的放球模型(可以有空盒)。即g(pe,k)=Ce+k−1k−1g(p^e,k) = C_{e+k-1}^{k-1}g(pe,k)=Ce+k1k1k−1k-1k1个插板 ,e+k−1e+k-1e+k1个位置)。最多30次ees即可。

注意ees dfs中,改用Long long 不要用int,二分找错误才发现一个bug,原来爆了int…cao

G Neko and quadrilateral

upsolved by viscaria


viscaria’s solution

H Neko and sequence

upsolved by chelly


chelly’s solution

首先不可以倍增来求解。
考虑到一个重要的性质,从一个位置出发会到达一个长度为222的环,进入环之后,答案就只和ddd的奇偶性有关。
我们可以先预处理出每个位置走多少步进环,以及进环后ddd为奇数/偶数时候分别的答案。
对于每个询问(l,r,d)(l,r,d)(l,r,d),我们分成两个部分进行统计,一部分是未进环的,一部分是进环的,这个可以通过离线来处理。
对于进环的部分,奇数和偶数分别维护一个树状数组即可。
对于不进环的部分,以)为例,考虑一个位置iii,那么最后的答案就是(i+dk%n)%n(i+dk \% n) \% n(i+dk%n)%n,设p=dkp=dkp=dk,容易发现区间[l,r][l,r][l,r]会被分成两部分,一部分答案就是i+pi+pi+p,一部分答案就是i+p−ni+p-ni+pn,分别利用维护的树状数组进行统计即可。((的处理是类似。)
时间复杂度O(nlogn)O(nlogn)O(nlogn)

I Neko and tree

solved by chelly


chelly’s solution

dp[u][i]dp[u][i]dp[u][i]表示以uuu为根的子树,选了一些key point,其中最深的key point离uuu的距离是iii情况下的方案数。
直接树上背包转移即可。

J Neko and triangle

unsolved


K SSY and JLBD

solved by viscaria


viscaria’s solution

L Can you raed it croretcly?

solved by viscaria


viscaria’s solution

Dirty Replay

  • A题:TLE了4发,主要离散化之后剩下的点多了。事实证明留下点数2e52e52e5的二分图跑费用流还是很慢的。
### WindowsFFmpeg 安装指南 #### 准备工作 在开始之前,请确认已具备管理员权限以便修改系统的环境变量。 #### 下载 FFmpeg 访问 FFmpeg 的官方网站 (https://ffmpeg.org/) 并导航至下载页面。选择适用于 Windows 的静态构建版本 ZIP 压缩包进行下载[^1]。 #### 解压缩文件 将下载的 ZIP 文件解压到指定目录,例如 `C:\ffmpeg` 或其他易于管理的位置。确保该路径不包含任何中文字符或特殊符号,以免后续操作出现问题。 #### 添加到系统路径(可选) 为了能够在任意位置通过命令行调用 FFmpeg,需将其二进制文件所在的目录添加到系统的 PATH 环境变量中: 1. 右键单击“此电脑”或“我的电脑”,选择“属性”。 2. 进入“高级系统设置”,点击“环境变量”按钮。 3. 在“系统变量”部分找到名为 “Path”的条目并选择编辑。 4. 使用“新建”功能,向其中添加 FFmpeg 的 `bin` 子目录路径,比如 `C:\ffmpeg\bin`。 5. 点击一系列“确定”完成配置。 #### 验证安装 打开一个新的命令提示符窗口(CMD),输入以下命令来验证 FFmpeg 是否正确安装以及其版本号: ```cmd ffmpeg -version ``` 如果一切正常,屏幕上会显示当前安装FFmpeg 版本及相关信息。 另外,在基于 MSYS2 的环境中也可以利用软件包管理系统快速部署所需组件及其依赖项,具体指令如下所示[^2]: ```bash pacman -S mingw-w64-x86_64-toolchain # 明确指定了mingw64架构下的编译工具链 pacman -S base-devel # 提供基础开发套件集合 pacman -S yasm nasm make # 包含汇编器yasm/nasm和make构建工具 pacman -S mingw-w64-x86_64-SDL2 # 对于某些特定应用如ffplay可能需要用到这个库支持 ``` 以上方法提供了两种不同的途径实现相同目标——即让Windows平台能够顺利运行FFmpeg程序;前者适合大多数普通用户需求场景而后者则更适合开发者或者有定制化要求的情况。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值