首页 > 其他分享 >8.7 模拟赛

8.7 模拟赛

时间:2024-08-07 22:52:11浏览次数:11  
标签:10 le 8.7 cdot 模拟 操作 我们 sim

\(x+y+z\) 表示赛时预计 \(x\) 分,实际 \(y\) 分,赛后补了 \(z\) 分。

4.5 小时 5 道题。

有一道炼石的题,那场我们打过,当时那题场切了。但是现在不会做了【】

有一道 CF 某 div.2 F 的弱化。没做出来【】

T1. 降温

赛时想出了做法,拍了一点小数据。但是最后被浮点数的精度和 __int128 挂了。

\(60+100\)。

题意

有 \(n\) 个装置,每个装置有初始温度 \(t_i\)。

给定正整数 \(A, B\),一次降温操作可以将一个装置温度降低 \(A\),剩下 \((n - 1)\) 个装置温度降低 \(B\)。

求至少需要多少次降温操作才能让所有温度严格小于 \(0\)。

My Solution

我们称将一个数减少 \(A\) 为特殊操作,减少 \(B\) 为特殊操作。显然特殊操作的最小次数即答案。

不妨令对 \(i\) 进行了 \(x_i\) 次特殊操作。我们二分它们的和 \(\sum x_i = X\),即答案。

对于 \(i\) 而言,它的特殊操作次数为 \(x_i\),普通操作次数为 \(X - x_i\)。那么它被减少的量为 \(x_i \cdot A + (X - x_i) \cdot B\)。只有这个值 \(> t_i\) 才能满足要求。

那么 check 要做的就是判断是否存在一个这样的 \(x\) 数组,使得每项均为非负整数,且所有数的和为 \(X\),且:

\[x_i \cdot A + (X - x_i) \cdot B > t_i \]

做一些简单的推导:

\[x_i \cdot (A - B) > t_i - X \cdot B \]

不等式上做除法不太好做。考虑分类讨论:

若 \(A = B\),那么在最开始特判即可。答案为 \(\max\{ \lfloor \frac{t_i}A \rfloor +1\}\)。

若 \(A > B\),那么直接除:

\[x_i > \dfrac{t_i - X \cdot B}{A - B} \]

右边是个常数。我们可以求出在这样的情况下 \(x_i\) 的最小值。若每个 \(x_i\) 的最小值之和 \(\le X\) 则 check 合法。

若 \(A < B\),除过去要变号:

\[x_i < \dfrac{t_i - X \cdot B}{A - B} \]

同理我们可以求出每个 \(x_i\) 的最大值。若每个 \(x_i\) 的最大值之和 \(\ge X\) 则 check 合法。

std Solution

一次降温操作是选择一个减 \(A\),剩下全减 \(B\)。那么我们可以将所有数先全减 \(B\),在选择某个数加上 \(A - B\)。

仍然二分答案 \(X\)。令 \(a_i = t_i - B \cdot X\)。此时我们需要判断,能否执行 \(X\) 次操作,每次操作会选择一个数加上 \(A - B\),使得最终整个序列均为负。

\(A = B\) 太水了。我们考虑:

  • \(A > B\):这样的操作是劣的。因此我们每次找当前的最大值执行这样的操作。
  • \(A < B\):这样的操作是优的。因此我们每次找当前的最小值执行这样的操作。

真的操作复杂度不对。

  • \(A > B\):维护 \(b_i = \left\{ \begin{matrix} 0 &,a_i \ge 0 \\ \left\lfloor \dfrac{-a_i}{A-B} \right\rfloor + 1&,a_i < 0 \end{matrix}\right.\)。问题等价于 \(\sum b_i \le X\)。
  • \(A < B\):同理。不写了。

代码没写。

T2. 数学题

\(70+40+100\)。

以为会 70。但是 \((10^4)^2 \times 10 \times 10\) 你觉得能不能过?

题意

求 \(L, R\) 内有多少数的数码种类为 \(A\)。\(L, R\) 位数都为 \(n \le 2 \times 10^5\)。

做法

差分转化。考虑 \(1 \sim x\) 的答案。

数位 DP 套路地枚举 \(y \in [1, x]\) 的第一个与 \(x\) 不同的位置 \(i\),并枚举这一位填什么。这样我们就得到了 \(y\) 的前 \(i\) 位,且 \(i + 1 \sim n\) 位都可以 \(0 \sim 9\) 任意填。

我们可以求出前 \(i\) 位的种类数 \(B\)。如果 \(B > A\) 那么不可能。否则如果想让 \(y\) 的数码种类为 \(A\),那么 \(y\) 的 \(i + 1 \sim n\) 位中,一定存在恰好 \((A - B)\) 个与前 \(i\) 位不同的数。这个的方案是 \(\dbinom {10-B}{A-B}\)。

接下来的问题是,在 \((n - i)\) 位中,每个数都有 \(A\) 种填法,但是有 \(B\) 个数至少出现一次。求方案数。

我们容斥枚举,有多少个必选的数没出现。式子:

\[\sum_{c=0}^B (-1)^c\dbinom Bc (A-c)^{n-i} \]

复杂度 \(10^2n\)。

标签:10,le,8.7,cdot,模拟,操作,我们,sim
From: https://www.cnblogs.com/2huk/p/18348003

相关文章

  • 2024.8.7鲜花
    夏日重现,补完力!前年追到了18集,后因该死的集训被迫中断,但还是偶尔在机房与Ryder共赏,剧透了潮复活的情节,今夕是何年。可惜曲终人散,各奔东西,转眼间已分别半年,再过三个月我也将与机房断开联系,回归或许枯燥的文化课。牢波,想你了!刚开始接触这部番,是因为我和我姐前年暑假去表哥家玩,我......
  • 暑假集训CSP提高模拟15
    暑假集训CSP提高模拟15组题人:@LYinMX\(T1\)P213.串串\(15pts\)原题:luoguP5446[THUPC2018]绿绿和串串部分分\(15pts\):当\(|S|=1\)时输出\(1\),否则顺序输出\([2,|S|]\)。正解由题,有\(R\)一定是\(S\)的前缀。赛时在这里被绕进去,一直在想怎么证......
  • 「模拟赛」暑期集训CSP提高模拟14(8.6)
    A.BA100pts开场\(3min\)先打了个假做法向上取整求平均数,细看看到了一张饼一个单位时刻只能在一张烙板上这句话,重新想,困得要死,\(40min\)才做完。题意:现在有\(n\)块烙板,\(m\)张饼,第\(i\)张饼有\(a_i\)​个面。烙板一单位时刻可以烙熟一个面,一张饼一个单位时刻只......
  • 转发wsa和安卓模拟器网络
    adb连接上设备后,执行执行端口转发adbforwardtcp:6789tcp:888'就可以了,把设备的8888端口转发到本机6789,本机postman之类直接访问127.0.0.1:6789即可其他笔记:连接wsa:adbconnect127.0.0.1:58526连接安卓模拟器:adbconnectemulator-5554安装appadb-s127.......
  • 『模拟赛』暑假集训CSP提高模拟15
    Rank小寄一手A.串串原[THUPC2018]绿绿和串串一眼manacher,但是当时虚空了没搞懂,只打了暴力(还挂分了稍微学了一下,板子很短,主要依据是可以通过一个已经确定的与目前最长回文串的中心对称的半径来预先确定目标点最短的回文半径长度,从而优化复杂度达到线性。manacher主要......
  • 2024.8.7 模拟测
    A(P7968[COCI2021-2022#2]Osumnjičeni)考虑对于一次询问直接从左往右划分段,直至当前加入的人与前面某个人的身高有交集,则新开一个段。设\(nx_i=j\)表示从第\(i\)个人开始划分,要到第\(j\)个人才会出现冲突(若永远不会冲突则让\(nx_i=n+1\))。一次询问相当于初始时让......
  • 蒙特卡洛模拟(6)————旅行商问题
    旅行商问题(TravelingSalesmanProblem,TSP)是一个经典的组合优化问题。经典的TSP可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。目录一、问题提出二、代码预备1.plot([a,b],[c,d])2.r......
  • 2024.8.7 test
    A一个基环树上,给出每条边可以存在的时间,你还有\(L\)的时间可以分配给边。你要安排边开始存在的时间,使得联通的时间最长,求这个值。\(n\le10^5\)。先不考虑\(L\)。如果是树,那么答案是边存在时间的最小值。如果是基环树,那么把环上次小边加上最小边,并删掉最小边,变成树求最小边......
  • 使用Streamlit构建一个web模拟HTTP请求工具
    目录前言HTTP工具功能点:1.导入库: 2.设置页面配置:3.Markdown格式的说明文本:4.用户输入界面:5.发送请求按钮和逻辑:6.发送HTTP请求并计算请求细节:7.总结 前言    最初就是因为在微信看到一篇文章中,看到此http工具的制作因为觉得Streamlit有无限......
  • [赛记] 暑假集训CSP提高模拟15
    原题还是没找串串49pts用的$manacher$,板子差点没打对,但好歹还是打对了。。。赛时写的时候没有考虑到不用管偶回文,导致递归的时候有点问题。。。其实根本用不到递归,将循环顺序改为倒序即可;有三种情况:回文半径+位置能够到达右端点;显然,这种情况是合法的;既到不了左......