【LGR-174-Div.2】洛谷 2 月月赛 II & FanOI Round 1 题解

2021年洛谷一月月赛(Div1、Div2,6题)全部题解 洛谷一月月赛Div1、Div2六题题解 阅读详情

[2A.似巨龙高歌]

容易发现,如果把 aia_iai​ 从小到大排序,那么 ai−ai+1≤0a_i-a_{i+1}\leq 0ai​−ai+1​≤0,否则一定有一项 >0>0>0 ,因此我们从小到大排序,求相邻两项差的最大值即可。

[2B.陌路寻诗礼]

subtask 1\text{subtask 1}subtask 1

考虑假如我们知道那些边在最短路上,那贪心地让这些边的边权尽可能小,其余的边边权尽可能大即可,因此每条边只有两种取值 1/k1/k1/k ,我们 2m2^m2m 枚举每条边的选择然后验证即可。

复杂度 O(T2m(n+m))O(T2^m(n+m))O(T2m(n+m)) 。

subtask 2\text{subtask 2}subtask 2

k=1k=1k=1 时,每条边取值唯一,可以用 bfsbfsbfs 求出 111 号点到每个点的最短路以及路径个数。

复杂度 O(n+m)O(n+m)O(n+m) 。

subtask 3\text{subtask 3}subtask 3

m−1m-1m−1 时,因为 111 号点可以到达每个点,所以这是一棵以 111 为根的外向树。

那么到每个点的路径唯一,随便赋值都行。

subtask 4\text{subtask 4}subtask 4

当 k=109k=10^9k=109 时,最短路一定不会走这些边,我们相当于可以删一些边。

那么找出一棵以 111 为根的外向树,树上的边赋值为 111,剩下的赋值为 10910^9109 即可。

subtask 5\text{subtask 5}subtask 5

考虑一棵以 111 为根的最短路径树,树边赋值为 111,非树边赋值为 kkk ,那么到每个点的最短路就是树上的深度,记为 depxdep_xdepx​ 。

对于一条非树边 (ui,vi)(u_i,v_i)(ui​,vi​),我们要求 depvi<depui+kdep_{v_i}< dep_{u_i}+kdepvi​​<depui​​+k,否则这条边就在最短路上。

我们找出一棵 bfsbfsbfs 树,那么有性质:

  • 对于非树边 (ui,vi)(u_i,v_i)(ui​,vi​) ,depvi≤depui+1dep_{v_i}\leq dep_{u_i}+1depvi​​≤depui​​+1 ,否则不满足 bfsbfsbfs 的性质 。

因此,当 k>1k>1k>1 时,这棵 bfsbfsbfs 树自然就满足 depvi<depui+kdep_{v_i}<dep_{u_i}+kdepvi​​<depui​​+k ,符合要求。

否则,k=1k=1k=1,方案唯一,我们只需要验证就行了。

复杂度 O(n+m)O(n+m)O(n+m) 。

[2C/1A] 水影若深蓝

考虑把给出的 ui,viu_i,v_iui​,vi​ 连边,形成一个图。

如果 nnn 个点都是连通的,那一定无解,因为树是一个二分图,黑白染色后 ui,viu_i,v_iui​,vi​ 一定颜色相同,故不可能所有点颜色相同。

否则,至少有两个连通块,我们任选一个连通块,选择其内的任意一点 xxx,再从其他连通块任选一个点 yyy,然后构造一棵这样的树:

  • xxx 与 yyy 连边

  • xxx 所在连通块的其他点与 yyy 连边

  • 剩下点和 xxx 连边

容易验证符合要求。

[2D/1B] 半彩三重奏

可以发现,对于给出的颜色 xi,yix_i,y_ixi​,yi​ ,若树上不存在一条边 iii 满足 iii 两端点的颜色分别是 xi,yix_i,y_ixi​,yi​ ,那么 xi,yix_i,y_ixi​,yi​ 的点会形成若干独立的连通块,可以预处理后直接计算。

其余的颜色对一共最多只有 n−1n-1n−1 种,就是每条边端点的颜色对集合。

首先把两端点颜色相同的边缩点。

枚举每一种可能的颜色对 xi,yix_i,y_ixi​,yi​,把树上这样的边连上,计算形成的连通块的大小的平方和即可。

使用哈希表存答案,然后建边后再树上跑 dfsdfsdfs,可以做到 O(n+m)O(n+m)O(n+m) ,如果使用 mapmapmap 或者并查集也能通过。

[1C] 龙逐千灯幻

subtask 1\text{subtask 1}subtask 1

设 dpi,jdp_{i,j}dpi,j​ 表示把前 iii 个位置划分成 jjj 段的最小代价,转移:

dpi,j=max⁡k=1idpk−1,j−1+f(k,i)dp_{i,j}=\max\limits_{k=1}^idp_{k-1,j-1}+f(k,i)dpi,j​=k=1maxi​dpk−1,j−1​+f(k,i)

其中 f(k,i)f(k,i)f(k,i) 为区间 [k,i][k,i][k,i] 内的颜色数,可以预处理出来。

询问是 O(1)O(1)O(1) 的,总复杂度 O(n3+m)O(n^3+m)O(n3+m) 。

subtask 2\text{subtask 2}subtask 2

有至少两个做法。

sol 1

优化第一部分的 dpdpdp,以 jjj 为阶段,那么我们只需要维护 dpk−1,j−1+f(k,i)dp_{k-1,j-1}+f(k,i)dpk−1,j−1​+f(k,i) 的最大值。

开一棵线段树,第 kkk 个位置维护 gk=dpk−1,j−1+f(k,i)g_k=dp_{k-1,j-1}+f(k,i)gk​=dpk−1,j−1​+f(k,i) ,当我们 i→i+1i\to i+1i→i+1 时:

  • gk+1=dpj−1,kg_{k+1}=dp_{j-1,k}gk+1​=dpj−1,k​
  • ∀k>lsti+1,gk=gk+1\forall k>lst_{i+1},g_k=g_k+1∀k>lsti+1​,gk​=gk​+1

其中 lstilst_ilsti​ 为 iii 左边第一个等于 aia_iai​ 的数的下标,没有则为 000 。

上面的转移只需要线段树支持区间加即可。

询问还是 O(1)O(1)O(1) 的,总复杂度 O(n2log⁡n+m)O(n^2\log n+m)O(n2logn+m) 。

sol 2

我们不难证明 f(k,i)f(k,i)f(k,i) 满足四边形不等式,因此 dpdpdp 可以用决策单调性优化。

直接分治,两个指针移动来维护 f(k,i)f(k,i)f(k,i),总复杂度 O(n2log⁡n+m)O(n^2\log n+m)O(n2logn+m) 。

此外还有一些神秘的 O(n2)O(n^2)O(n2) 做法,不详述了。

subtask 3\text{subtask 3}subtask 3

因为 m=1m=1m=1,所以我们只需要解决一个询问。

可证明 dpi,jdp_{i,j}dpi,j​ 关于 jjj 是一个凸函数,这种区间划分问题的经典做法是 wqswqswqs 二分。

二分斜率 ccc,转移为:

dpi=max⁡dpk−1+f(k,i)−cdp_{i}=\max dp_{k-1}+f(k,i)-cdpi​=maxdpk−1​+f(k,i)−c

然后同上用线段树优化转移,复杂度 O(nlog⁡2n+m)O(n\log^2n+m)O(nlog2n+m) 。

subtask 4\text{subtask 4}subtask 4

我们考虑一下 wqswqswqs 二分的斜率 ccc 。

那么因为 ai≤30a_i\leq 30ai​≤30 ,所以 f(k,i)≤30f(k,i)\leq 30f(k,i)≤30 ,那么当 c>30c>30c>30 时,f(k,i)−c<0f(k,i)-c<0f(k,i)−c<0 ,此时切点一定是分一段,因此只有 c≤30c\leq 30c≤30 的 ccc 有意义。

对于 c=0⋯30c=0\cdots 30c=0⋯30 各做一遍线段树优化 dpdpdp ,存下每个前缀的答案即可。

复杂度 O(max⁡ainlog⁡n+m)O(\max a_in\log n+m)O(maxai​nlogn+m) 。

subtask 5\text{subtask 5}subtask 5

上一个做法告诉我们,当 ccc 过大时,切点就会很小。

我们可以具体分析一下,设 F(k)=dp∗,k,D(k)=F(k)−F(k−1)F(k)=dp_{*,k},D(k)=F(k)-F(k-1)F(k)=dp∗,k​,D(k)=F(k)−F(k−1),因为 FFF 是凸函数,所以 D(k)≥D(k+1)D(k)\geq D(k+1)D(k)≥D(k+1) 恒成立。

同时,因为 F(k)≤nF(k)\leq nF(k)≤n ,那么有 (k−1)D(k)≤∑i=2kD(i)≤F(k)−F(1)≤n(k-1)D(k)\leq \sum_{i=2}^k D(i)\leq F(k)-F(1)\leq n(k−1)D(k)≤∑i=2k​D(i)≤F(k)−F(1)≤n,即 D(k)≤⌊nk−1⌋D(k)\leq \lfloor\frac{n}{k-1}\rfloorD(k)≤⌊k−1n​⌋ 。

设斜率为 ccc 时的切点为 G(c)G(c)G(c) ,那么 F(G(c)−1)−c×(G(c)−1)≤F(G(c))−c×G(c)F(G(c)-1)-c\times (G(c)-1)\leq F(G(c))-c \times G(c)F(G(c)−1)−c×(G(c)−1)≤F(G(c))−c×G(c) ,即 F(G(c))−F(G(c)−1)≥cF(G(c))-F(G(c)-1)\geq cF(G(c))−F(G(c)−1)≥c ,$c\leq D(G©)\leq \lfloor \frac{n}{G©-1}\rfloor $ 。

我们取阈值 BBB ,

  • 对于 k≤Bk\leq Bk≤B 的询问,我们可以预处理所有普通 dpdpdp 值。

  • 对于 k>Bk>Bk>B 的询问,根据上面的性质,G(c)≥kG(c)\geq kG(c)≥k 的 ccc 满足 c≤⌊nB⌋c\leq \lfloor\frac{n}{B} \rfloorc≤⌊Bn​⌋ ,我们预处理这些 ccc 对应的

    dpdpdp 值。

都采用线段树优化 ,单次 dpdpdp 都是 O(nlog⁡n)O(n\log n)O(nlogn),取 B=nB=\sqrt nB=n​,我们预处理的复杂度是 O(nnlog⁡n)O(n\sqrt n\log n)O(nn​logn) 。

询问时,前部分可以 O(1)O(1)O(1) 回答,后半部分可以直接二分,不过这样空间是 O(nn)O(n\sqrt n)O(nn​) 的。

同时注意到 G(c)G(c)G(c) 是单调的,因此可以把询问按照 kkk 排序后,用一个指针维护转移点,空间就是线性了。

排序可以用桶排序,该做法时间复杂度 O(nnlog⁡n+m)O(n\sqrt n\log n+m)O(nn​logn+m) ,空间复杂度 O(n+m)O(n+m)O(n+m) 。

注意到线段树的常数比较大,如果被卡常可以把第一部分的 dpdpdp 换成决策单调性分治,因为访问时连续的所以常数小很多。

subtask 6\text{subtask 6}subtask 6

考虑能不能把线段树的 $\log $ 去掉。

观察一下我们实际需要支持的操作:

  • 向末尾加入一个数
  • 后缀加 111
  • 求最大值

维护一个单调递减的单调栈,那么 111 操作可以直接不断弹栈维护,333 操作就是查询栈底元素。

对于 222 操作,我们找到该后缀在单调栈上对应的位置,这个可以用并查集维护,然后相当于把这个部分往前面合并弹出若干元素,最后打上 +1+1+1 标记。

因为要支持中间弹出元素,所以我们用链表维护这个单调栈,至于 +1+1+1 标记,我们可以发现我们相当于只需要查询栈底,查询栈顶,查询某相邻两个位置的差值,因此直接维护单调栈内元素的差分值即可,打标记是简单的。

瓶颈在于并查集,因此单次 dpdpdp 的复杂度优化到了 O(nα(n))O(n\alpha (n))O(nα(n)),如果采用严格线性并查集,我们可以做到 O(n)O(n)O(n) 。

剩下部分不变,复杂度 O(nn+m)O(n\sqrt n+m)O(nn​+m),空间 O(n+m)O(n+m)O(n+m) ,可以通过此题。

值得一提的是,在本题中你可以发现,我们优化单次 dpdpdp 和优化多次询问的部分是独立的,也就是说,我们把 f(l,r)f(l,r)f(l,r) 换成任意凸函数,在值域不大的情况下都可以在根号的代价内求出所有函数值。

[1D] 一径入繁华

对于 n=∏picin=\prod p_i^{c_i}n=∏pici​​,有:
σ0t(ns)=∏(1+s×ci)t \sigma_0^t(n^s)=\prod(1+s\times c_i)^{t} σ0t​(ns)=∏(1+s×ci​)t
然后设:
f(n)=∑d∣nμ(nd)σ0t(ns) f(n)=\sum_{d\mid n} \mu(\dfrac{n}{d})\sigma_0^t(n^s) f(n)=d∣n∑​μ(dn​)σ0t​(ns)
所以有:
σ0t(ns)=∑d∣nf(d) \sigma_0^t(n^s)=\sum_{d\mid n}f(d) σ0t​(ns)=d∣n∑​f(d)
由于 σ0t\sigma_0^tσ0t​ 是积性函数,不妨先假设 n=pcn=p^cn=pc。则:
σ0t(pcs)=∑i=0cf(pi) \sigma_0^t(p^{cs})=\sum_{i=0}^{c}f(p^i) σ0t​(pcs)=i=0∑c​f(pi)
也就是说对于 n=pcn=p^cn=pc,f(pc)f(p^c)f(pc) 是 σ0t\sigma_0^tσ0t​ 关于 ccc 的差分。

类似的,设:
f(n)=∑d∣ng(d) f(n)=\sum_{d\mid n} g(d) f(n)=d∣n∑​g(d)
那个 ggg 是 fff 关于 ccc 的差分,即 ggg 是 σ0t\sigma_0^tσ0t​ 的二次差分。具体地就有:
g(pc)=(1+cis)t−[ci≥1]2(1+(ci−1)s)t+[ci≥2](1+(ci−2)s)t g(p^c)=(1+c_is)^t-[c_i\ge 1]2(1+(c_i-1)s)^t+[c_i\ge 2] (1+(c_i-2)s)^t g(pc)=(1+ci​s)t−[ci​≥1]2(1+(ci​−1)s)t+[ci​≥2](1+(ci​−2)s)t
那么 ggg 是积性函数,就有:
g(n)=∏((1+cis)t−[ci≥1]2(1+(ci−1)s)t+[ci≥2](1+(ci−2)s)t) g(n)=\prod((1+c_is)^t-[c_i\ge 1]2(1+(c_i-1)s)^t+[c_i\ge 2] (1+(c_i-2)s)^t) g(n)=∏((1+ci​s)t−[ci​≥1]2(1+(ci​−1)s)t+[ci​≥2](1+(ci​−2)s)t)
矩阵可以拆成:
ai,j=∑d∣gcd⁡(i,j)g(d)=∑d=0n[d∣i][d∣j]g(d)bi,j=[j∣i]g(j)ci,j=[i∣j]A=B∗C \begin{aligned} a_{i,j}&=\sum_{d\mid \gcd(i,j)}g(d)=\sum_{d=0}^{n}[d\mid i][d\mid j]g(d)\\\\ b_{i,j}&=[j\mid i]g(j)\\\\ c_{i,j}&=[i\mid j]\\\\ A&=B*C \end{aligned} ai,j​bi,j​ci,j​A​=d∣gcd(i,j)∑​g(d)=d=0∑n​[d∣i][d∣j]g(d)=[j∣i]g(j)=[i∣j]=B∗C​
∗*∗ 是矩阵乘法。B,CB,CB,C 都是上、下三角矩阵,故答案为:
det⁡A=∏m=1n∏((1+cis)t−[ci≥1]2(1+(ci−1)s)t+[ci≥2](1+(ci−2)s)t) \det A=\prod_{m=1}^{n}\prod((1+c_is)^t-[c_i\ge 1]2(1+(c_i-1)s)^t+[c_i\ge 2] (1+(c_i-2)s)^t) detA=m=1∏n​∏((1+ci​s)t−[ci​≥1]2(1+(ci​−1)s)t+[ci​≥2](1+(ci​−2)s)t)
依次考虑每个质数的贡献。

对于 p≤np\le \sqrt{n}p≤n​ 的部分暴力枚举 ppp 和 ccc,暴力求快速幂,复杂度 O(nlog⁡n)\mathcal{O}(\sqrt{n}\log n)O(n​logn)。

对于 p>np>\sqrt{n}p>n​,可知 c≤1c\le 1c≤1,当 c=0c=0c=0 时贡献为 111 不用考虑,当 c=1c=1c=1 时 g(p)=(1+s)t−2g(p)=(1+s)^t-2g(p)=(1+s)t−2,故只需要筛素数个数即可,在本题范围内,使用 min25min25min25 筛即可。

STM32CubeMX、keil、simulink联合开发MCU教程 一、整体思路 利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。 本文以流水灯建立模型和简单使用定时器为例进行演示。 二、开发环境 1、安装Matlab Matlab版本建议在2013B以上,本文使用Matlab 2016a。 2、安装STM32硬件支持包 下载地址(https://www.stmcu.org.cn/document/detail/index/id-216053) 安装完成后重启MAT 阅读详情

相关推荐

配电网可靠性评估(一)—最小路法和非序贯蒙特卡洛模拟法的matlab实现

电力系统的可靠性研究是相关领域的热点问题。根据研究对象的不同,又可分为发电系统的可靠性,输电系统的可靠性和配电系统的可靠性。配电网在电力系统中处于最末端的位置,直接和用户相连,一旦出现故障情况,就会在用户侧表现为停电事故。因此对配电网的可靠性评估有着重大意义。......

配电网和matlab的博客 1万+

【LGR-176-Div.2】[yLCPC2024] 洛谷 3 月月赛 I(A~C and G<oeis>)

【LGR-176-Div.2】[yLCPC2024] 洛谷 3 月月赛 I(A~C and G)

qq_17807067的博客 1191

如何在Proteus中模拟Arduino

进一步的Proteus可用于设计任何与Arduino相关的项目,它将在进入硬件级别之前提供更好的理解。由于其广泛的库集合,它是Arduino社区中最受欢迎的工具之一,不仅如此,Proteus还可以为Arduino项目设计定制的PCB。就像上一步一样,现在搜索Arduino UNO板,选择Arduino板并单击“确定”以添加到项目中,或者双击以在Proteus项目中添加Arduino。一旦在Proteus中成功创建了一个新项目,现在我们将设计一个用于Proteus中闪烁LED的Arduino电路。

acktomas的博客 1万+

洛谷月赛 LGR-099 div.2 A-B题解

LGR-099 Easy Strings Merging Alice and Bob are playing a Normal Game

qq_30108019的博客 817

VSLAM框架对比

格VSLAM特点介绍: (一)ORB-SLAM2 (二)ORB-SLAM3 (三)LSD-SLAM (四)

ljtx200888的博客 2293

程序化广告ADX系统架构设计与实现

摘要: 本文详细介绍了程序化广告交易平台(ADX)的系统架构设计与实现。ADX作为连接广告主与媒体的核心平台,采用基于腾讯云和阿里云的微服务架构,包含网络基础设施、负载均衡、消息处理、核心业务服务和多级数据存储等层次。重点解析了Kafka消息队列处理高并发广告请求、Redis实时统计关键指标等核心技术实现,并提供了Java代码示例展示广告请求处理、竞价流程等核心功能。该系统通过分层设计和分布式组件,实现了高性能、高可用的程序化广告交易能力。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 765

洛谷2月普及组(月赛)

OI赛制,蓝桥杯省赛难度,普及组月赛,题解

IT OR 考公? 1701

rk3506上移植lvgl应用

本文介绍在RK3506开发板上移植和运行LVGL图形库的方法。

m0_60805802的博客 1158

洛谷 P10181 龙逐千灯幻

设斜率为 �c 时的切点为 �(�)G(c) ,那么 �(�(�)−1)−�×(�(�)−1)≤�(�(�))−�×�(�)F(G(c)−1)−c×(G(c)−1)≤F(G(c))−c×G(c) ,即 �(�(�))−�(�(�)−1)≥�F(G(c))−F(G(c)−1)≥c ,�≤�(�(�))≤⌊��(�)−1⌋c≤D(G(c))≤⌊G(c)−1n​⌋。瓶颈在于并查集,因此单次 ��dp 的复杂度优化到了 �(��(�))O(nα(n)),如果采用严格线性并查集,我们可以做到 �(�)O(n)。

VF222的博客 966

电子设计(1)二极管防电源反接电路

二极管经常用来作电源防反接保护,所需器件少,电路简单。

记得诚 1万+

SAP 打印输出中 `#` 字符替代日文汉字的根本原因与全面解决方案

只要认清设备类型 / 字符集 / 字体三角关系,并合理利用PDFUCSWINCF或 UPE + URDT,LP01里那些恼人的就会彻底消失,日文汉字将在纸面与 PDF 中如预览一样完美呈现。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 814

【解题报告】洛谷-蒟蒻团队邀请赛-五月月赛

前言 有一题是愚人节的,搞得我好久才AK。。。 由于这些题目有点奇怪。。。 所以本人就在博客中的描述就用个人理解的题目,望谅解。。。 链接 https://www.luogu.org/contest/show?tid=6798 第一题 01背包(有点绕) 链接 https://www.luogu.org/problemnew/show/T25461 吐槽时间 这...

Ajwallet 1172

TPAMI 2024 | 重新思考多焦点图像融合中客观评价指标的有效性:一种基于统计的方法

作为一种延长光学镜头景深(DOF)的有效技术,多焦点图像融合最近成为图像处理社区的一个活跃话题。然而,该领域仍然存在一个未解决的主要问题,即缺乏选择客观评价指标的通用标准。因此,不同研究中使用的指标往往差异显著,导致难以实现公正的评估。为了解决这个问题,本文提出了一种基于统计的方法来验证多焦点图像融合中客观指标的有效性。核心思想是采用统计相关性度量来评估某个融合指标与一些流行的全参考图像质量评估模型之间的性能一致性。

小白学视觉 329

洛谷 [语言月赛 202410] 题解(C++)

本文为洛谷 [语言月赛 202410] 的全部题解(最后一题太麻烦暂时给不出完整代码)

2401_83669813的博客 2198

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

洛谷月赛 11.1题解

我们将所有的节点都放在根节点的左子树,在小于最大深度时,如果某一个深度有叶子节点,那么它就会长成这样。这道题虽然它给了是数论,但我觉得是个规律题,我们看一下是怎么找到规律的。,那么我们只需要找到最大的深度,用最大的深度加上叶子节点数-1即可。那么我们就会发现,如果某个深度有叶子节点,那么它就会。要求这棵树包含的最少节点,我们可以简单的画个图。,只影响编号而不影响结果,因为元素相同,交换。,不失一般性的,我们计算答案时只需要对于。就称此操作为无效,else为有效的。变大去改我们的构造出来的序列,发现每。

xiebohang的博客 821

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

洛谷P7918 【洛谷月赛LGR-096 Div.2 T2】 [Kubic] Lines题解

这道题是普及-,结果我比赛时想了整整一个小时。。。果然我还是太菜了啊QAQ 题目大意 解题思路 佬曰:“有人看到这道题直接网络流。” 其实不用网络流。题目中最关键的一句话其实是 注意:输入数据不保证gcd⁡(a,b)=1\gcd(a,b)=1gcd(a,b)=1。 真是一语点醒梦中人。事实上,我们需要充分利用aaa,bbb是整数的条件。两条直线aix+biy+ci=0a_ix+b_iy+c_i=0ai​x+bi​y+ci​=0与ajx+bjy+cj=0a_jx+b_jy+c_j=0aj​x+bj​

qaqwqaqwq的博客 304

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

洛谷10月月赛II题解

Solution T1 首先,可以一眼看出这是一个完全图的一笔画问题。然后开始挖性质: ①根据欧拉图的性质,如果将我们一笔画中没有经过的边删去,那么剩下的节点的度数一定有000个或222个是奇数。 通过这个东西,我们可以挖出性质: ②如果nnn为奇数,可以发现这个完全图中所有节点的度数都是偶数,那么显然可以一笔画走完。答案为Cn2C_{n}^2Cn2​。 ③如果nnn为偶数,我们要考虑删去最少数量的边,使得剩下的图形可以一笔画走完。 由于我们要删去最少的边,又因为每删去一条边两端的节点的度数都会减去111,

Cherrt的博客 392

sdut-图灵(看这一篇很详细了)-最长子列和-洛谷2023年3月第三周签到题——CF:DZY Loves Sequences

题目来自洛谷:【LGR-133】洛谷 3 月月赛 I & ZYLOI Round 1 Div.2 - 比赛详情 - 洛谷。

m0_73830679的博客 281

洛谷 2 月月赛 II & EE Round 2

洛谷 2 月月赛 II &amp; EE Round 2 A 出言不逊 题目网址 题目描述 珂愛想出公开赛,但每次都被拒绝。 珂愛很生气,于是学会了出言不逊。 珂愛用一个字符串 S 存储了她想说的话,但这句话太逊了。为了出言不逊,珂愛要对字符串进行操作。每次操作,珂愛可以选择一个字符 c,若 c 在字符串 S 中出现了 x 次,则珂愛会将 x 个字符 c 补到 S 的尾部。 珂愛认为,这个字符串长...

chenboshuai的博客 426

洛谷团队月赛题:题解

10pts10pts10pts 暴力算不解释,时间复杂度O(kn+k2)O(kn+k^2)O(kn+k2)。 30pts30pts30pts 我们观察到nnn很大,杨辉三角会T,直接算会上溢,所以需要预处理出111~kkk逆元再算,时间复杂度O(kn+nlogk+n2)O(kn+nlogk+n^2)O(kn+nlogk+n2)或O(kn+n+k+n2)O(kn+n+k+n^2)O(kn+n+k+n...

ShineEternal的笔记小屋 597

【洛谷月赛】洛谷三月月赛题解报告

  昨天就是洛谷三月月赛,小编考的并不好,才31分,隔壁大佬50分,于是小编决定改一改题,先看第一题:                   P5238 整数校验器 题目描述 有些时候需要解决这样一类问题:判断一个数x是否合法。 x合法当且仅当其满足如下条件: x格式合法,一个格式合法的整数要么是0,要么由一个可加可不加的负号,一个1到9之间的数字,和若干个0...

weixin_30507481的博客 342

【洛谷11月月赛】 正方 题解

【洛谷11月月赛】 正方 题解 题目 解题思路 被分成4分 一定会有两份相加等于另外两份相加 如果没有 那么说明不可能有点能分成这样的四份 如果这四个数相等 那只存在一个点 如果有两个数相等 那存在4个点 如果互不相等 存在8个点 代码 #include&lt;iostream&gt; #include&lt;cstdio&gt; using namespace std; long long n,x,y,x1,y1; int main() { scanf("%lld",&amp;n); fo

Y的博客 359

洛谷月赛 Div 2

P6746 『MdOI R3』Operations A题:不是特别难得模拟+较为规整的高精度,比平常的高精度要简单很多 #include &lt;bits/stdc++.h&gt; typedef long long ll; using namespace std; ll k,x,last=10000; ll a[10005]; int main() { cin&gt;&gt;k&gt;&gt;x; if (k==0) cout&lt;&lt;x+1&lt;&lt;endl;//两个特判

睡神的博客 484

洛谷P7917 【洛谷月赛LGR-096 Div.2 T1】 [Kubic] Addition题解

这道题真是让我深刻地陷入了对我智商的怀疑。。。比赛想了50min,结果最后评出来难度是 过分了啊。。。 题目大意 解题思路 贪心。 可以看出,每个数aia_iai​对答案的贡献是±ai\pm a_i±ai​。那么我们尽量让每个数的贡献为其绝对值。又注意到a1a_1a1​的贡献永远是a1a_1a1​本身(因为没有哪个数能减它)。那么,最优解就是a1+∑i=2n∣ai∣a_1+\sum \limits_{i=2}^n|a_i|a1​+i=2∑n​∣ai​∣。 下面证明最优解一定可以构造出来。考虑从右往左合并

qaqwqaqwq的博客 448

洛谷11月月赛题解(A-C)

心路历程 辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了。。 A P4994 终于结束的起点 打出暴力来发现跑的过最大数据?? 保险起见还是去oeis了一波,然后被告知第一个满足条件的位置不会超过\(2n +2\) 赢了 #include&amp;lt;bits/stdc++.h&amp;gt; #define Pair pair&amp;lt;int, int&amp;gt; #define ...

weixin_34393428的博客 261

洛谷5月月赛 T2 偷上网 题解

作者:岸芷汀兰: 一、题目: 洛谷原题 二、思路: 暴力搜索出奇迹。 随机大法出奇迹。 这道题真的必须用随机。每次随机一个点,判断一下是否可行,限制一下循环次数,如果随机了1000次仍不行,输出GG。 注意精度问题。 三、代码: #include&amp;amp;lt;iostream&amp;amp;gt; #include&amp;amp;lt;cstdio&amp;amp;gt; #include&amp;amp;lt;cmath&amp;amp;gt...

zhang14369的博客 492
上一篇: 免费的Minecraft服务器!2C4G!人人都能当服主
下一篇: 洛谷 - OICon Tournament 2 题解
Chat_lsm2024
博客等级 码龄7年 903粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值