自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 ABC434E 题解

题目要求将n只兔子放置在数轴上,每只兔子可以选择两个位置之一(X_i±R_i),求所有兔子位置去重后的最大数量。通过将位置点离散化并建图,问题转化为在图中为每条边选择一个端点涂黑,求最多能涂黑多少个点。对于每个连通块,如果是树结构则最多涂黑$sz-1$个点,否则可以涂黑全部 sz 个点。最终答案为总点数减去树结构的数量。算法时间复杂度为 O(n\log n),主要来自离散化操作。

2025-12-01 15:07:53 626

原创 AtCoder Beginner Contest 434 C-E 题解

本文包含三个算法问题的解决方案: Flapping Takahashi:判断初始高度为H的物体在满足每秒高度变化不超过1且不出现负高度的条件下,能否满足所有时间限制。通过维护动态高度区间来检查可行性,时间复杂度O(n)。 Clouds:计算在2000×2000平面上,去除每个矩形后不被其他矩形覆盖的点数。使用二维差分统计仅被一个矩形覆盖的点数,时间复杂度O(n)。 Distribute Bunnies:求n只兔子在两个可选位置上的最大不同位置数。通过离散化和连通性分析,答案等于总点数减去树形连通块的数量,时

2025-12-01 15:06:03 851

原创 【数学 · 杂文】关于扇环面积和两道AMC题目

本文分享了两个数学问题的研究:1)扇环面积公式推导,通过补全圆和弧长公式得出扇环面积等于梯形面积但高度更小,故S1<S2;2)AMC组合问题,利用错位排列解决两天恰好两对相同师生匹配的概率问题,推导出公式C(n,m)×f(n-m)。最后讨论了排列逆序对问题在编程中的应用,给出树状数组优化解法。

2025-11-15 15:59:05 773

原创 Gym 100215G 题解

给定两条直线管道和n个需求点,每个点需连接到最近的管道,花费为需求量乘以距离。要求两边连接点数差不超过c,求最小总花费方案。方法包括计算点到直线的距离、动态规划记录状态转移路径,最后回溯输出最优解。代码实现了直线参数计算、距离公式、DP状态转移及路径还原。

2025-10-28 08:46:45 903

原创 ICPC 2023 区域赛南京站题解 + 重现赛游记

本文分享了洛谷重现赛的经历和部分题解。作者团队(He_XY、UKBwyx等)在比赛中获得第三名,并详细讲解了8道题目,代码简洁高效,适用于大范围数据。

2025-09-05 09:04:31 642

原创 【数学·三角函数】两角和差公式 & 二倍角公式

本文介绍了三角函数中的两角和差公式与二倍角公式。通过几何模型推导出两角和的正弦、余弦公式,并利用诱导公式得到两角差公式。二倍角公式可由两角和公式直接推导得出。文章以具体例题展示了如何运用这些公式计算特殊角度的三角函数值,如sin15°及解决几何问题中的边长计算。这些公式是三角函数中的重要工具,能有效简化复杂角度的计算过程。

2025-08-25 18:54:01 1103

原创 Codeforces Round 1043 (Div. 3) D-F 题解

三题均考察了算法优化思想:D题结合预处理与二分,E题使用三分法处理单峰函数,F题通过图论缩点转化问题。

2025-08-23 12:58:02 761

原创 【数学·三角函数】弧度制与诱导公式

本文介绍了三角函数中的弧度制与诱导公式。弧度制以弧长与半径之比表示角度,1π弧度等于180度,使角度计算更简便。重点讲解了诱导公式 奇变偶不变,符号看象限 的记忆方法,并通过实例演示如何将复杂角度化简为基本三角函数。最后设置了两道相关的练习题,帮助读者巩固所学知识。

2025-08-20 16:15:29 1692

原创 【数学·三角函数】三角函数入门 & 基本定理

本文介绍了三角函数的基本概念和重要定理。以单位圆定义三角函数,推导出sin²α+cos²α=1的基本公式。详细讲解了正弦定理:a/sinA=b/sinB=c/sinC=2R(R为外接圆半径),并通过几何方法证明。最后推导出余弦定理c²=a²+b²-2abcosC,为三角形边角关系提供了重要工具。这些内容从初中基础知识出发,逐步深入到高中阶段的三角函数理论体系。

2025-08-20 16:11:25 1538

原创 AtCoder Beginner Contest 418 C-E 题解

该文分享了作者在Atcoder竞赛中的解题思路,主要包含三道题目: C题Flush:通过排序和前缀和优化,处理多轮查询,计算满足条件的最小整数x。核心思路是对茶包数量排序后二分查找,利用前缀和快速计算答案。 D题XNOR Operation:统计字符串中美丽子串数量。通过前缀异或非和结合map动态维护,有效计算满足条件的子串数目。 E题Trapezium:利用斜率和中点坐标的统计,计算梯形数量并排除平行四边形。使用map记录斜率和中点,通过枚举点对高效求解。

2025-08-12 17:18:42 568 1

原创 AtCoder Beginner Contest 417 C-F 题解

Distance Indicators:给定数组A,找到满足j-i=A[i]-A[j]的整数对数量。通过变形j+A[j]=A[i]-i,使用哈希表统计。 Takahashi's Expectation:处理礼物对情绪值的影响。使用动态规划从后往前转移,利用前缀和优化处理大范围查询。 A Path in A Dictionary:在无向图中找字典序最小的X到Y路径。通过排序邻接表并使用DFS优先搜索小节点。 Random Gathering:多次区间操作后求每个盘子的期望值。使用带区间重置的线段树

2025-08-03 10:27:25 826

原创 Codeforces Round 1034 (Div. 3) F 题解

题目要求构造一个排列,满足每个位置i(i≥2)的gcd(p_i,i)>1,同时最小化不动点(p_i=i)的数量。 解法思路: 1必须放在第一位,否则不满足gcd条件 对于大于n/2的质数k,p_k必须等于k 对于其他质数k,将其倍数按环状排列(如3→6→9→12→3) 未被处理的偶数2单独处理 时间复杂度O(n log n),使用埃式筛预处理素数。代码实现了上述思路,通过循环处理每个质数的倍数,构造满足条件的排列。

2025-07-02 18:25:02 783

原创 Codeforces Round 1034 (Div. 3) G 题解

题目要求维护一个数组,支持修改元素和查询操作。查询时需要判断是否存在通过多次加k取模m的操作使数组单调不减。解法基于裴蜀定理,预处理每个元素对所有m的因数取模的结果,并统计需要调整的次数。修改时更新预处理数据,查询时检查处理后数组是否满足条件。时间复杂度为O(√m + n√m + q√m)。

2025-07-02 18:17:34 1035

原创 Codeforces Round 1034 (Div. 3) A-G 题解

文章主要记录了作者参加Codeforces Round 1034 (Div. 3) 的经历与题解分析。作者因D题未及时处理导致未能AK(全部正确),并反思思维题能力不足。随后整理了7道赛题的解题思路与代码。

2025-07-02 18:15:32 1491

原创 Educational Codeforces Round 180 (Rated for Div. 2) D 题解

题目要求对n个节点的树进行定向,使得恰好存在n个可达点对。分析指出至少存在n-1个可达点对,当有2度节点时可以通过调整方向增加一对,否则不可行。解法是寻找一个2度节点,将其相连的两条边定向为相同方向(与常规交替定向不同),从而增加一个可达点对。代码实现时以该2度节点为中心,对子树交替定向,输出所有边方向。若无2度节点则问题无解。时间复杂度为O(n)。

2025-06-25 09:42:09 402

原创 Educational Codeforces Round 180 (Rated for Div. 2) A-D题解

本文包含四个编程竞赛题解: Race:判断Bob能否在数轴上找到一个点,使其到奖品位置的距离比Alice更近。通过分析Alice的位置与奖品位置的相对关系得出判断条件。 Shrinking Array:通过操作使数组满足特定美丽条件。分类讨论数组是否严格递增/递减或已满足条件,输出相应操作次数。 Coloring Game:计算Alice选择3个元素染色的获胜方案数。使用双指针法满足元素组合条件。 Reachability and Tree:为树边定向以满足特定可达对数。关键在于找到一个2度节点调整边方向。

2025-06-25 09:28:20 632

原创 ABC408E 题解

题目要求找到从节点1到节点n的简单路径中边权或和的最小值。采用贪心策略,从二进制高位到低位依次判断该位能否为0。通过并查集维护图的连通性,只保留满足条件的边进行检测。若当前位设为0后图仍连通,则保留该位为0;否则设为1。最终输出各二进制位确定的或和。该方法的时间复杂度为O((N+M)logN),其中N是节点数,M是边数。代码实现使用了并查集来高效判断图的连通性。

2025-06-07 18:00:14 414

原创 AtCoder Beginner Contest 408 D-F 题解

本文解说了Atcoder竞赛ABC408的E、F两题解法。 E题要求找出1到n所有简单路径中边权OR和的最小值。采用贪心策略,从高位到低位依次判断能否置0,使用并查集验证图的连通性,时间复杂度为O((N+M)logN)。 F题求在特定移动规则下的最大移动次数。使用动态规划结合线段树优化,维护区间最大值来快速转移,时间复杂度为O(NlogN)。两题均通过巧妙的数据结构应用降低了复杂度。

2025-06-07 15:27:53 946

原创 2025南师附中特长生考试 人工智能加试T1

本文研究了在数字序列1□2□3□4□5□6□7□8□9中填入加减号的问题:(1)证明了27可表示为1+2+3+4+5+6+7+8-9,28则不可能,因为表达式结果必为奇数;(2)采用动态规划方法,定义f[i][j]表示填i个符号后结果为j的方案数,通过递推关系f[i][j]=f[i-1][j-i]+f[i-1][j+i]计算,最终得出结果为7的方案共有21种。

2025-05-28 09:33:37 798

原创 ABC406E 题解

本文提出了一种高效解决Popcount Sum问题的非DP方法。给定N和K,要求计算所有满足popcount(x)=K且x≤N的x之和。算法通过分析N的二进制表示,对每个为1的位d进行处理:固定高位为1,在低位中选择K-cnt个1的组合,利用组合数学公式计算贡献。预处理阶乘和逆元以快速计算组合数,使用费马小定理处理模数下的除法。该方法避免了复杂的DP过程,时间复杂度主要取决于预处理和二进制位数处理。适用于大数范围内的快速计算,并通过模998244353保证结果正确性。

2025-05-24 13:56:00 1006

原创 Panasonic Programming Contest 2025(AtCoder Beginner Contest 406)D-E 题解

本文包含两个算法问题的分析与解答: D. Garbage Removal:使用集合维护网格中垃圾的行列分布。对于查询操作,通过遍历集合统计并删除对应行列的垃圾,保证时间复杂度为O(Q+N)。核心思路是使用两个集合数组分别维护每行和每列的垃圾位置。 E. Popcount Sum 3:通过组合数学和模数运算计算满足特定二进制位条件的数之和。预处理阶乘和逆元,按位处理二进制数,利用费马小定理避免除法问题,确保高效计算。

2025-05-24 13:51:35 1088

原创 ABC404E 题解

顺序:由于每个碗里的豆子只能往前移,为避免转移产生影响后续计算,应从后往前转移;之间的任何一个碗都没有豆子(否则不可能一步就完成。中的任意碗里,并且可以任意分配每个碗里放几颗。中没有豆子,问:将所有豆子都移到碗。的所有碗中的豆子全部移到碗。个豆子,上面写着一个数字。​ 设最后一个有豆子的碗为。(不需要操作),其余初始。个碗排成一排,编号为。里的豆子可以放到之前。中,最少需要多少步。

2025-05-04 15:29:59 684

原创 ABC404G 题解

若存在,找到最小的 $\sum_{j=1}^N A_j $;次操作,若还可以继续执行松弛操作,就说明图中存在负环,无解,输出。首先,我们考虑将求和转换为前缀和,即定义。的最短路,答案即为这个值的相反数。另外,由于是正整数序列,所以。,你要判断是否存在一个长度为。注意:无解时图中有负环,所以。与图上动态规划相似,定义。建立有向图,顶点编号为。次松弛之后,再执行第。,通常把上述操作称作。

2025-05-04 15:16:35 690

原创 AtCoder Beginner Contest 404 C-G(无F)题解

的每个数,判断这样参观动物园能否达成“每种动物至少看两次”的目标,若可以,则记录答案,取最小值。顺序:由于每个碗里的豆子只能往前移,为避免转移产生影响后续计算,应从后往前转移;次操作,若还可以继续执行松弛操作,就说明图中存在负环,无解,输出。可以证明,只要满足上述三个条件,这个图一定是一个环。中的任意碗里,并且可以任意分配每个碗里放几颗。首先,我们考虑将求和转换为前缀和,即定义。首先一个图是环,要满足点数等于边数,即。的最短路,答案即为这个值的相反数。其次,这个图必须连通,可以通过。

2025-05-04 15:14:44 1461

原创 AtCoder Beginner Contest 399 D,F 题解

显然,只有 “ab…可能变成负数,而C++自带取模结束后可能为负数(如。表示第二次右边,若没有相邻的数,这一位就是。首先,看到了区间求和,不难想到前缀和,即定义。执行以下操作任意多次,使得两个。原式 &= \sum_{1\…,迅速想到二项式定理,其中。的情况,因为这样就重复了。再来考虑组合数计算,由于。中的位置不相邻,两个。在序列中两次出现的位置。,以下情况符合要求,设。是可以预处理的,定义。

2025-04-05 15:55:28 828

原创 April Fools Day Contest 2025 A-F(没有E) 题解

标题让你把它们放到一起把题目的图片拼起来,是 `print("puzzling")`

2025-04-05 14:34:16 975

原创 ABC398E 题解

每次取 set 中任意一条边输出(建议第一个或最后一个)并删除,随后删除对方所选边,直到第。中的点两两连边,显然这个图还是二分图,不会出现奇环,可得共有连。显然,树是一个二分图,可以先染色,将节点分为集合。为奇数,则先手必胜;你现在要玩一个游戏,可以。条边,所以一共可以再连。(这是最方便的刷新方式)条边,所以操作轮数是。

2025-03-22 23:39:03 666

原创 UNIQUE VISION Programming Contest 2025 Spring (AtCoder Beginner Contest 398) D-E 题解

在一个足够大的平面上,有一堆篝火在时间 $t=0$ 时,仅在单元格 $(0,0)$ 有一团烟给你 $N,R,C$ 和字符串 $S$,对于时间 $t=1,2,\ ...,\ N$,**按顺序** 执行以下操作:- 对于所有存在烟的单元格 $(x,y)$: 如果 $S_t$ = `N`,则单元格 $(x,y)$ 中烟移动到单元格 $(x-1,y)$。

2025-03-22 23:36:11 1317

原创 南京地铁路线计算(V1.1 2025.02)

南京地铁路线计算(V1.1 2025.02)

2025-02-07 12:03:35 608

原创 AtCoder Beginner Contest 388 A-G (没有F) 题解

二分查找出最后一个可以与之组合的位置,统计答案总和。不能重复使用一个年糕,你可以同时制作多少个镜饼?,即这个位置与自己中间有多少个,会发现一个规律。求区间最大值,在二分过程中,判断从是否。个的个年糕,你可以同时制作多少个镜饼?在同一次询问中,不能重复使用一个年糕。的元素,表示这个人已经没有石头。个,并且一一对应(详细证明见。不难想到随后去二分答案,检查从。,它的权值为它的厚度乘长度。的上面,将它们组合成一个。的上面,将它们组合成一个。利用这个性质,每次得出一个。的上面,将它们组合成一个。

2025-01-16 11:09:02 779

原创 Rayan Programming Contest 2024 - Selection (Codeforces Round 989, Div. 1 + Div. 2) A-D 题解

如果你到了这一个上,就要按照这一个所指示的方向走,其中。如果按最优方案填入方向,那么不会出格的起始点有多少个?找到操作方法,使得操作次数最小,使得它为非降序的。的区间,将这个区间内所有的数变成。统计到目前为止,有多少个连续的。自成的连通块,如果是大小为。就跳过,否则答案加上这个大小。互换,再把这个和位置最小的。为此,你可以选择任何长度为。从左往右遍历字符串,用变量。,就需要立即从当前为开始的。dfs 找出连通块,不算。先把当前位和位置最小的。,你需要确保没有连续。的位置需要你自己填入。

2024-12-03 16:51:45 982 1

原创 洛谷【MX-J8】梦熊 CSP-J 2024 模拟赛(同步赛)题解

T1.竹竿 T2.黑洞 T3.水星湖 T4. 2048

2024-10-21 17:23:37 1710

原创 Codeforces Round 980 (Div. 2) A-C 题解

Alice 有 $a$ 个硬币。她可以开设一个名为“盈利”的银行存款,但开设该存款所需的最低金额为 $b$ 个硬币。还有一个名为“无利”的存款,可以用 **任何** 数量的硬币开设。Alice 注意到,如果她用 $x$ 个硬币开设“无利”存款,那么开设“盈利”存款所需的最低金额将减少 $2x$ 个硬币

2024-10-21 10:03:36 905

原创 Codeforces Round 979 (Div. 2) A-C 题解

这次的 cry 场还可以,只掉了亿点等级分最近几次的performance都很低,包括我同学,我认为这不应该是我们的问题,因为这么多人普遍较低,肯定有哪一个团伙作弊,或者高rating的开小号来虐菜,CF 的 hack 机制大不如前了,缺少了些许的特色。

2024-10-21 10:01:35 1292

原创 Educational Codeforces Round 170 (Rated for Div. 2) A-D 题解

有 $2$ 个屏幕可以显示大写字母的序列。最初,两个屏幕都不显示任何内容。在一秒钟内,您可以执行以下两种操作之一:- 选择一个屏幕和一个大写字母,并将该字母附加到**该屏幕上显示的序列的末尾**;- 选择一个屏幕并将其序列复制到另一个屏幕,**覆盖在另一个屏幕上显示的序列**。计算出使第一个屏幕显示字符串 $s$,第二个屏幕显示字符串 $t$ 所需的最少秒数。

2024-10-21 09:07:35 1272

原创 洛谷【LGR-201-Div.3】SCP 2024 第二轮(复赛 J 组)模拟 题解

T1. 带余除法T2. 奖牌排序T3. 三目运算T4. 配对序列

2024-10-15 14:35:56 1235 2

原创 AtCoder Beginner Contest 375 A-E 题解

我的老师让我先做最后再交,看正确率(即以OI赛制打abc)所以我用的小号(… …)C 卡了老半天才出来,我把题读错了。

2024-10-14 16:38:35 1529

原创 Codeforces Round 978 (Div. 2) A-D1 题解

有一种游戏,共有三种角色:Knight, Knave, Impostor,可以理解为:好人、坏人和内鬼。的网格图,每格代表一个居民(需要进行投票选举,可以投给。贪心,先让可以两个人一排的家庭成员入座,剩下的看。不同的位置,再和其他的比较,就可以得到内鬼的位置。你忘记了每个人的角色,但是,你可以问玩家。将投给 三个人投的更多的人,如。次,请找出内鬼是玩家几,格式为。的差,得出有多少人能单独坐一排。问:若按最优方案分组,最终投给。那么我们可以问每两个相邻的人,互相问,以此类推,最终找到。可以推荐别人购买至多。

2024-10-14 09:52:52 2806 1

原创 AtCoder Beginner Contest 374 A-E 题解

每个步骤就至少得每天生产这么多个产品,求出总钱数判断是否。暴力枚举每一个选分到第一组还是第二组,用二进制数表示,最多。将两个字符串用特殊符号补全,使它们长度相等即可判断。在每个全排列中,要使用二进制数枚举画线起点和终点。个数,将它们分成两组,设这两组的和分别为。给你一个字符串,判断这个字符串是否以。元钱来购买机器,不一定要全用完。画一条线段,一条线段不能中断。一个机器,要画出平面上的。画一条线段,也可以从。函数来枚举画线顺序,

2024-10-09 10:14:08 1084

原创 Codeforces Round 977 (Div. 2, based on COMPFEST 16 - Final Round) A-C1 题解

$m$ 张幻灯片,$n$ 个人 **排队** 演播(编号从 $1$ 到 $n$),顺序为 $a_1,a_2,\ ..., a_n$,第 $i$ 张幻灯片需要 $b_i$ 这个人来演播注意,每个人演播完当前幻灯片后回到队中的 **任意** 位置判断是否每张幻灯片都能由对应的人来演播若是,输出 `YA`(印尼语的“是”),否则输出 `TIDAK`(印尼语的“否”)

2024-10-08 16:52:19 1256

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除