常用算法代码模板与题单 | 0 - 模拟

【语法基础】

算法应用

来源:AcWing

其他

题目来源 标题 难度 星级 考察算法 一句话思路总结
AcWing [[461 金币]]

来源:洛谷

入门

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 B2002 Hello,World! 入门 标准输出 使用cout直接输出固定字符串Hello,World!,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 [[B2003 输出第二个整数]] 入门
洛谷 [[B2004 对齐输出]] 入门
洛谷 B2005 字符三角形 入门 直接输出 读取输入字符后按2空格+1字符、1空格+3字符、0空格+5字符的格式直接输出三行等腰三角形,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 [[B2006 地球人口承载力估计]] 入门
洛谷 [[B2007 A+B问题]] 入门
洛谷 [[B2008 计算 (a+b)×c 的值]] 入门
洛谷 [[B2009 计算 (a+b) c 的值]] 入门
洛谷 [[B2010 带余除法]] 入门
洛谷 [[B2011 计算分数的浮点数值]] 入门
洛谷 [[B2012 甲流疫情死亡率]] 入门
洛谷 [[B2013 温度表达转化]] 入门
洛谷 [[B2014 与圆相关的计算]] 入门
洛谷 [[B2015 计算并联电阻的阻值]] 入门
洛谷 [[B2016 浮点数向零舍入]] 入门
洛谷 [[B2017 打印ASCII码]] 入门
洛谷 [[B2018 打印字符]] 入门
洛谷 [[B2019 整型与布尔型的转换]] 入门
洛谷 [[B2020 分糖果]] 入门
洛谷 [[B2021 输出保留 3 位小数的浮点数]] 入门
洛谷 [[B2022 输出保留 12 位小数的浮点数]] 入门
洛谷 [[B2023 空格分隔输出]] 入门
洛谷 [[B2024 输出浮点数]] 入门
洛谷 B2025 输出字符菱形 入门 直接输出 按菱形上半部分星号数1,3,5和下半部分3,1逐行直接输出,通过前置空格控制居中,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 [[B2026 计算浮点数相除的余]] 入门
洛谷 [[B2027 计算球的体积]] 入门
洛谷 [[B2028 反向输出一个三位数]] 入门
洛谷 B2029 大象喝水 入门 圆柱体积 + 向上取整 用圆柱体积公式\(V=\pi r^2h\)计算单桶容积,再用ceil(20000/V)向上取整求满足20升所需最少桶数,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 [[B2030 计算线段长度]] 入门
洛谷 [[B2031 计算三角形面积]] 入门
洛谷 [[B2033 A乘B 问题]] 入门
洛谷 [[B2034 计算 2 的幂]] 入门
洛谷 [[B2035 判断数正负]] 入门
洛谷 [[B2036 输出绝对值]] 入门
洛谷 [[B2037 奇偶数判断]] 入门
洛谷 [[B2038 奇偶 ASCII 值判断]] 入门
洛谷 [[B2039 整数大小比较]] 入门
洛谷 [[B2040 判断是否为两位数]] 入门
洛谷 [[B2041 收集瓶盖赢大奖]] 入门
洛谷 [[B2042 判断一个数能否同时被 3 和 5 整除]] 入门
洛谷 [[B2043 判断能否被 3,5,7 整除]] 入门
洛谷 [[B2044 有一门课不及格的学生]] 入门
洛谷 [[B2045 晶晶赴约会]] 入门
洛谷 [[B2046 骑车与走路]] 入门
洛谷 [[B2047 分段函数]] 入门
洛谷 [[B2048 计算邮资]] 入门
洛谷 [[B2049 最大数输出]] 入门
洛谷 [[B2050 三角形判断]] 入门
洛谷 [[B2051 点和正方形的关系]] 入门
洛谷 [[B2052 简单计算器]] 入门
洛谷 [[B2053 求一元二次方程]] 入门
洛谷 [[B2054 求平均年龄]] 入门
洛谷 [[B2055 均值]] 入门
洛谷 [[B2056 求整数的和与均值]] 入门
洛谷 [[B2057 最高的分数]] 入门
洛谷 [[B2058 奥运奖牌计数]] 入门
洛谷 [[B2059 奇数求和]] 入门
洛谷 [[B2060 满足条件的数累加]] 入门
洛谷 [[B2061 整数的个数]] 入门
洛谷 [[B2062 乘方计算]] 入门
洛谷 [[B2063 人口增长问题]] 入门
洛谷 [[B2064 斐波那契数列]] 入门
洛谷 [[B2065 鸡尾酒疗法]] 入门
洛谷 [[B2066 救援]] 入门
洛谷 [[B2067 药房管理]] 入门
洛谷 [[B2068 统计满足条件的 4 位数]] 入门
洛谷 [[B2069 求分数序列和]] 入门
洛谷 [[B2070 计算分数加减表达式的值]] 入门
洛谷 [[B2071 余数相同问题]] 入门
洛谷 [[B2072 分苹果]] 入门
洛谷 [[B2073 求小数的某一位]] 入门
洛谷 [[B2074 计算星期几]] 入门
洛谷 [[B2075 幂的末尾]] 入门
洛谷 [[B2076 球弹跳高度的计算]] 入门
洛谷 [[B2077 角谷猜想]] 入门
洛谷 [[B2078 含 k 个 3 的数]] 入门
洛谷 [[B2079 求出 e 的值]] 入门
洛谷 [[B2080 计算多项式的值]] 入门
洛谷 [[B2081 与 7 无关的数]] 入门
洛谷 [[B2082 数字统计]] 入门
洛谷 [[B2083 画矩形]] 入门
洛谷 [[B2085 第 n 小的质数]] 入门
洛谷 [[B2086 不定方程求解]] 入门
洛谷 [[B2087 与指定数字相同的数的个数]] 入门
洛谷 [[B2088 计算书费]] 入门
洛谷 [[B2089 数组逆序重存放]] 入门
洛谷 [[B2090 年龄与疾病]] 入门
洛谷 [[B2091 向量点积计算]] 入门
洛谷 [[B2092 开关灯]] 入门
洛谷 [[B2093 查找特定的值]] 入门
洛谷 [[B2094 不与最大数相同的数字之和]] 入门
洛谷 [[B2095 白细胞计数]] 入门
洛谷 [[B2096 直方图]] 入门
洛谷 [[B2097 最长平台]] 入门
洛谷 [[B2098 整数去重]] 入门
洛谷 [[B2099 矩阵交换行]] 入门
洛谷 [[B2100 同行列对角线的格]] 入门
洛谷 [[B2101 计算矩阵边缘元素之和]] 入门
洛谷 [[B2102 计算鞍点]] 入门
洛谷 [[B2103 图像相似度]] 入门
洛谷 [[B2104 矩阵加法]] 入门
洛谷 [[B2106 矩阵转置]] 入门
洛谷 [[B2107 图像旋转]] 入门
洛谷 [[B2108 图像模糊处理]] 入门
洛谷 [[B2111 基因相关性]] 入门
洛谷 [[B2112 石头剪子布]] 入门
洛谷 [[B2113 输出亲朋字符串]] 入门
洛谷 [[B2114 配对碱基链]] 入门
洛谷 [[B2115 密码翻译]] 入门
洛谷 [[B2123 字符串 p 型编码]] 入门
洛谷 [[B2125 最高分数的学生姓名]] 入门
洛谷 [[B2126 连续出现的字符]] 入门
洛谷 [[B2127 求正整数 2 和 n 之间的完全数]] 入门
洛谷 [[B2128 素数个数]] 入门
洛谷 [[B2129 最大数 max(x,y,z)]] 入门
洛谷 [[B2130 简单算术表达式求值]] 入门
洛谷 [[B2131 甲流病人初筛]] 入门
洛谷 [[B2132 素数对]] 入门
洛谷 [[B2133 我家的门牌号]] 入门
洛谷 [[B2134 质数的和与积]] 入门
洛谷 [[B2135 单词替换]] 入门
洛谷 [[B2136 素数回文数的个数]] 入门
洛谷 [[B2137 判决素数个数]] 入门
洛谷 [[B2138 最大质因子序列]] 入门
洛谷 [[B2140 二进制分类]] 入门
洛谷 [[B2149 求三角形面积]] 入门
洛谷 [[B2150 判断闰年]] 入门
洛谷 [[B2151 正常血压]] 入门
洛谷 [[B2152 分离整数的各个数]] 入门
洛谷 [[B2153 求阶乘的和]] 入门
洛谷 [[B2154 数1的个数]] 入门
洛谷 [[B2155 合法C标识符]] 入门
洛谷 [[B2156 最长单词 2]] 入门
洛谷 [[B2157 短信计费]] 入门
洛谷 [[B2158 谁考了第k名]] 入门
洛谷 [[B2159 成绩排序]] 入门
洛谷 [[B2606 圆的计算]] 入门
洛谷 [[B3639 T2点亮灯笼]] 入门
洛谷 [[B3652 渡荆门送别]] 入门
洛谷 [[B3661 排排队]] 入门
洛谷 [[B3662 山峰]] 入门
洛谷 [[B3679 Zone Selection]] 入门
洛谷 [[B3680 BAN-PICK]] 入门
洛谷 [[B3771 幸运数字]] 入门
洛谷 [[B3834 长方形面积]] 入门
洛谷 [[B3835 每月天数]] 入门
洛谷 [[B3836 百鸡问题]] 入门
洛谷 [[B3838 时间规划]] 入门
洛谷 [[B3839 累计相加]] 入门
洛谷 [[B3840 找素数]] 入门
洛谷 [[B3841 自幂数判断]] 入门
洛谷 [[B3844 画正方形]] 入门
洛谷 [[B3845 勾股数]] 入门
洛谷 [[B3846 闰年求和]] 入门
洛谷 [[B3847 当天的第几秒]] 入门
洛谷 [[B3848 逛商场]] 入门
洛谷 [[B3849 进制转换]] 入门
洛谷 [[B3863 买文具]] 入门
洛谷 [[B3864 小明的幸运数]] 入门
洛谷 [[B3865 小杨的X字矩阵]] 入门
洛谷 [[B3866 数字黑洞]] 入门
洛谷 [[B3867 小杨的储蓄]] 入门
洛谷 [[B3868 进制判断]] 入门
洛谷 [[B3921 小杨的考试]] 入门
洛谷 [[B3922 小杨报数]] 入门
洛谷 [[B3923 小杨做题]] 入门
洛谷 [[B3924 小杨的H字矩阵]] 入门
洛谷 [[B3926 单位转换]] 入门
洛谷 [[B3952 小杨买书]] 入门
洛谷 [[B3953 找因数]] 入门
洛谷 [[B3954 乘法问题]] 入门
洛谷 [[B3955 小杨的日字矩阵]] 入门
洛谷 [[B3957 完全平方数]] 入门
洛谷 [[B3973 小 S 大战小 Q]] 入门
洛谷 [[B3974 放行李]] 入门
洛谷 [[B3984 编程学习]] 入门
洛谷 [[B3987 朋友数列]] 入门
洛谷 B4000 休息时间 入门 时间单位转换(统一秒数 + 除模分解) 将开始时刻 \(h:m:s\) 统一转换为总秒数 now = h*3600 + m*60 + s,加上 \(k\) 秒后通过 hh = now/3600mm = now%3600/60ss = now%60 分解回时分秒输出,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 B4002 平方之和 入门
洛谷 [[B4007 计数]] 入门
洛谷 [[B4011 speech]] 入门
洛谷 [[B4021 于抑郁中支持]] 入门
洛谷 [[B4030 距离]] 入门
洛谷 B4034 小杨购物 入门 整数除法(分组计数) 每组包含 1 个商品 A 和 1 个商品 B,成本为 \(a + b\),用总钱数 \(n\) 除以每组成本 \(a + b\) 的整数商即为最多购买组数,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 [[B4045 同桌]] 入门
洛谷 [[B4047 校门外的施工]] 入门
洛谷 B4062 温度转换 入门 公式计算 + 条件判断 \(C = K - 273.15\)\(F = C \times 1.8 + 32\) 链式转换,若 \(F > 212\) 输出 Temperature is too high!,否则用 printf("%.2lf") 保留两位小数输出 \(C\)\(F\),时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 [[B4072 小明的照片]] 入门
洛谷 [[B4073 快递费用]] 入门
洛谷 [[B4074 统计成绩]] 入门
洛谷 [[B4083 区区泥土也妄想夺走我的专属宝物]] 入门
洛谷 [[B4108 铅笔 2]] 入门
洛谷 [[B4123 检票]] 入门
洛谷 [[B4151 成绩分化]] 入门
洛谷 [[B4154 计算器]] 入门
洛谷 [[B4232 4-5年级组第3题]] 入门
洛谷 [[B4233 4-5年级组第4题]] 入门
洛谷 [[B4236 4-5年级组第7题]] 入门
洛谷 [[B4246 环形游走]] 入门
洛谷 B4258 四舍五入 入门 数位分解 + 条件判断 提取个位数 gw = x % 10 和十位以上部分 sw = x / 10,若 gw < 5 则输出 sw * 10(舍去),否则输出 (sw + 1) * 10(进一),逐数处理,时间复杂度 \(O(n)\),空间复杂度 \(O(1)\)
洛谷 [[B4259 等差矩阵]] 入门
洛谷 [[B4270 特殊运算符]] 入门
洛谷 [[B4300 看书]] 入门
洛谷 B4354 假期阅读 入门 基础数学比较 计算总阅读能力 \(k \cdot t\) 与总页数 \(n\) 的大小关系,取较小值输出(min(n, k * t)),时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 B4355 值日 入门 欧几里得算法(GCD)求最小公倍数(LCM) 两人同时值日的天数即 \(m\)\(n\) 的最小公倍数,用辗转相除法计算 \(\gcd(m, n)\),再由 \(\text{lcm}(m, n) = m \times n / \gcd(m, n)\) 得答案,时间复杂度 \(O(\log(\min(m, n)))\),空间复杂度 \(O(1)\)
洛谷 B4356 数三角形 入门
洛谷 [[B4375 庆典序列]] 入门
洛谷 [[B4376 茶具套装]] 入门
洛谷 [[B4409 商店折扣]] 入门
洛谷 [[B4410 金字塔]] 入门
洛谷 [[B4411 优美的数字]] 入门
洛谷 [[B4445 小杨的爱心快递]] 入门
洛谷 [[B4446 手机电量显示]] 入门
洛谷 [[B4447 环保能量球]] 入门
洛谷 [[B4448 黄金格]] 入门
洛谷 [[B4450 小杨的智慧购物]] 入门
洛谷 B4495 交朋友 入门 直接模拟 依次比较 \(H_2,H_3,H_4\)\(H_1\) 的身高差绝对值,维护差值最小且身高较矮的答案,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 B4496 数字替换 入门 直接模拟 / 数学判定 遍历区间 \([l,r]\),对每个数 \(x\)int(sqrt(x)) * int(sqrt(x)) == x 判定是否为完全平方数,统计个数,时间复杂度 \(O(r-l+1)\),空间复杂度 \(O(1)\)
洛谷 B4497 数数 入门 直接模拟 / 数位统计 枚举区间 \([L,R]\) 中每个数,用 while(x) 逐位取余统计数字 2 的个数,恰好为 3 则计数,时间复杂度 \(O((R-L+1) \cdot \log_{10}R)\),空间复杂度 \(O(1)\)
洛谷 B4498 画画 入门 直接模拟 / 二维数组遍历 先初始化 \(n \times n\) 数组全为 *,再覆盖边框(第一/末行填 -,第一/末列填 `\
洛谷 B4499 二进制回文串 入门 ⭐⭐ 进制转换 + 回文判断 枚举 \(1 \sim n\) 中每个数,调用 Dtom 函数转二进制字符串,与原串反转后比较判断是否回文,时间复杂度 \(O(n \cdot \log_2 n)\),空间复杂度 \(O(\log_2 n)\)
洛谷 [[P8225 天才⑨与天才拆分]] 入门

普及-

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 [[B2084 质因数分解]] 普及-
洛谷 [[B2105 矩阵乘法]] 普及-
洛谷 [[B2139 区间内的真素数]] 普及-
洛谷 [[B2141 确定进制]] 普及-
洛谷 [[B2143 进制转换]] 普及-
洛谷 [[B2160 病人排序]] 普及-
洛谷 [[B3827 高考组题]] 普及-
洛谷 [[B3837 画三角形]] 普及-
洛谷 [[B3842 春游]] 普及-
洛谷 [[B4260 时间跨越]] 普及-
洛谷 [[B4412 菱形]] 普及-
洛谷 B4558 身高体重指数 普及- ⭐⭐ 结构体排序 / 自定义比较器 用结构体封装每个小朋友的 BMI(1.0*w[i]/(h[i]*h[i]))和原始编号,自定义 cmp 按 BMI 降序排列后输出编号,时间复杂度 \(O(n \log n)\),空间复杂度 \(O(n)\)

来源:学而思编程

其他

题目来源 标题 难度 星级 考察算法 一句话思路总结

【模拟】

算法应用

来源:AcWing

其他

题目来源 标题 难度 星级 考察算法 一句话思路总结
AcWing [[62 丑数]]
AcWing [[441 数字统计]]
AcWing [[462 扫雷游戏]]
AcWing [[2767 优秀的拆分]]
AcWing [[3796 凑平方]]
AcWing [[6122 农夫约翰的奶酪块]]
AcWing [[6123 哞叫时间]]

来源:洛谷

入门

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 [[AT_abc002_1 正直者]] 入门
洛谷 [[AT_abc317_a Potions]] 入门
洛谷 [[AT_abc334_a Christmas Present]] 入门
洛谷 [[AT_abc335_b Tetrahedral Number]] 入门
洛谷 [[AT_abc336_b CTZ]] 入门
洛谷 [[AT_abc337_a Scoreboard]] 入门
洛谷 [[AT_abc337_c Lining Up 2]] 入门
洛谷 [[AT_abc339_b Langton's Takahashi]] 入门
洛谷 [[AT_abc340_a Arithmetic Progression]] 入门
洛谷 [[AT_abc340_b Append]] 入门
洛谷 [[AT_abc349_a Zero Sum Game]] 入门
洛谷 [[AT_abc350_a Past ABCs]] 入门
洛谷 [[AT_abc350_b Dentist Aoki]] 入门
洛谷 [[AT_abc351_a The bottom of the ninth]] 入门
洛谷 [[AT_abc351_b Spot the Difference]] 入门
洛谷 [[AT_abc352_a AtCoder Line]] 入门
洛谷 [[AT_abc355_a Whot Ate the Cake]] 入门
洛谷 [[AT_abc356_a Subsegment Reverse]] 入门
洛谷 [[AT_abc356_b Nutrients]] 入门
洛谷 [[AT_abc357_a Sanitize Hands]] 入门
洛谷 [[AT_abc357_b Uppercase and Lowercase]] 入门
洛谷 [[AT_abc358_a Welcome to AtCoder Land]] 入门
洛谷 [[AT_abc358_b Ticket Counter]] 入门
洛谷 [[AT_abc359_a Count Takahashi]] 入门
洛谷 [[AT_abc359_b Couples]] 入门
洛谷 [[AT_abc360_a A Healthy Breakfast]] 入门
洛谷 [[AT_abc361_a Insert]] 入门
洛谷 [[AT_abc362_a Buy a Pen]] 入门
洛谷 [[AT_abc363_a Piling Up]] 入门
洛谷 [[AT_abc375_b Traveling Takahashi Prblem]] 入门
洛谷 [[AT_abc379_a Cyclic]] 入门
洛谷 [[AT_abc381_a 11 22 String]] 入门
洛谷 [[AT_abc382_a Daily Cookie]] 入门
洛谷 [[AT_abc383_a Humidifier 1]] 入门
洛谷 [[AT_abc384_b ARC Division]] 入门
洛谷 [[AT_abc385_a Equally]] 入门
洛谷 [[AT_abc386_a Full House 2]] 入门
洛谷 [[AT_abc387_a Happy New Year 2025]] 入门
洛谷 [[AT_abc387_b 9x9 Sum]] 入门
洛谷 [[AT_abc388_a UPC]] 入门
洛谷 [[AT_abc388_b Heavy Snake]] 入门
洛谷 [[AT_abc389_a 9x9]] 入门
洛谷 [[AT_abc389_b tcaF]] 入门
洛谷 [[AT_abc390_a 12435]] 入门
洛谷 [[AT_abc391_c Pigeonhole Query]] 入门
洛谷 [[AT_abc392_a Shuffled Equation]] 入门
洛谷 [[AT_abc392_b Who is Missing]] 入门
洛谷 [[AT_abc394_a 22222]] 入门
洛谷 [[AT_abc395_a Strictly Increasing]] 入门
洛谷 [[AT_abc395_b Make Target]] 入门
洛谷 [[AT_abc396_a Triple Four]] 入门
洛谷 [[AT_abc397_a Thermometer]] 入门
洛谷 [[AT_abc398_b Full House 3]] 入门
洛谷 [[AT_abc400_a ABC400 Party]] 入门
洛谷 [[AT_abc400_b Sum of Geometric Series]] 入门
洛谷 [[AT_abc401_a Status Code]] 入门
洛谷 [[AT_abc401_b Unauthorized]] 入门
洛谷 [[AT_abc404_a Not Found]] 入门
洛谷 [[AT_abc405_a Is it rated]] 入门
洛谷 [[AT_abc405_b Not All]] 入门
洛谷 [[AT_abc406_a Not Acceptable]] 入门
洛谷 [[AT_abc408_a Timeout]] 入门
洛谷 [[AT_abc408_b Compression]] 入门
洛谷 [[AT_abc409_b Citation]] 入门
洛谷 [[AT_abc410_a G1]] 入门
洛谷 [[AT_abc410_b Reverse Proxy]] 入门
洛谷 [[AT_abc411_b Distance Table]] 入门
洛谷 [[AT_abc412_a Task Failed Successfully]] 入门
洛谷 [[AT_abc413_a Content Too Large]] 入门
洛谷 [[AT_abc414_a Streamer Takahashi]] 入门
洛谷 [[AT_abc415_a Unsupported Type]] 入门
洛谷 [[AT_abc415_b Pick Two]] 入门
洛谷 [[AT_abc420_a What month is it]] 入门
洛谷 [[AT_abc420_b Most Minority]] 入门
洛谷 [[AT_abc421_a Misdelivery]] 入门
洛谷 [[AT_abc422_b Looped Rope]] 入门
洛谷 [[AT_abc423_b Locked Rooms]] 入门
洛谷 [[AT_abc424_a Isosceles]] 入门
洛谷 [[AT_abc424_b Perfect]] 入门
洛谷 AT_abc425_a Sigma Cubes 入门 模拟 遍历 \(i\)\(1\)\(N\),逐项计算 \((-1)^i \times i^3\) 并累加求和,时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
洛谷 AT_abc427_a ABC - AC 入门 模拟 定位中间字符位置 \(\frac{L+1}{2}\),分别输出前半部分 \([1, L/2]\) 和后半部分 \([(L+1)/2+1, L]\),时间复杂度 \(O(L)\),空间复杂度 \(O(L)\)
洛谷 AT_abc428_a Grandma's Footsteps 入门 模拟 将总时间 \(X\) 拆分为 \(X/(A+B)\) 个完整周期和余下 \(X\%(A+B)\) 秒分别计算跑步距离,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc435_b No-Divisible Range 入门 ⭐⭐ 前缀和 + 暴力枚举 用前缀和 \(O(1)\) 计算区间和,枚举所有 \(O(N^2)\) 个区间并 \(O(N)\) 检查区间内每个元素是否整除该和,统计均不整除的区间数,时间复杂度 \(O(N^3)\),空间复杂度 \(O(N)\)
洛谷 AT_abc437_a Feet 入门 模拟 直接套用单位换算公式 \(ans = A \times 12 + B\) 计算总英寸数,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc437_b Tombola 入门 模拟 逐行遍历网格元素,对每个元素暴力检查是否在 \(B\) 列表中,统计每行匹配数后取最大值,时间复杂度 \(O(H \cdot W \cdot N)\),空间复杂度 \(O(H \cdot W + N)\)
洛谷 AT_abc438_a First Contest of the Year 入门 模运算 + 周期推算 利用7天周期性,计算下一年第一天与第 \(F\) 天的星期偏移,找第一个同星期的日子,答案为 \((7 - (D-F) \bmod 7) \bmod 7\)(调整为1-7),时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc439_a 2n - 2n 入门 直接计算 读入 \(N\) 后计算 \(2^N - 2N\) 并输出,可用位运算 1LL << npow(2, n) 实现幂运算,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc440_a Octave 入门 幂运算 / 循环翻倍 频率 \(X\) 提高 \(Y\) 个八度后变为 \(X \times 2^Y\),用循环连续翻倍 \(Y\) 次计算,时间复杂度 \(O(Y)\),空间复杂度 \(O(1)\)
洛谷 AT_abc441_a Black Square 入门 矩形区域判定 判断 \(X \in [P, P+99]\)\(Y \in [Q, Q+99]\) 是否同时成立,成立输出 Yes,否则 No,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc451_b Personnel Change 入门 计数统计 + 差分输出 分别统计每个部门本学期 \(cntA\) 和下学期 \(cntB\) 的人数,输出 \(cntB[j] - cntA[j]\),时间复杂度 \(O(N+M)\),空间复杂度 \(O(M)\)
洛谷 AT_abc460_a Mod While Positive 入门 辗转相除模拟 模拟 \(M \leftarrow N \bmod M\) 直到 \(M = 0\),统计操作次数,时间复杂度 \(O(\log \min(N,M))\),空间复杂度 \(O(1)\)
洛谷 AT_abc461_a Armor 入门 直接比较 判断 \(A \leq D\) 是否成立,成立输出 Yes,否则输出 No,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc461_b The Honest Woodcutters 入门 逆映射构建 + 一致性验证 \(A_i\) 构建为逆映射 \(pos[A_i]=i\),逐位验证 \(pos[i]=B_i\) 是否对所有 \(i\) 成立,不匹配即输出 No,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 AT_abc463_b Train Reservation 入门 列映射 + 线性扫描 将列字母 \(X\) 映射为下标 \(X-'A'+1\),遍历 \(N\) 趟列车检查对应列是否为 o,发现即输出 Yes,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 AT_abc464_b Crop 入门 边界扫描 + 最小包围矩形 分别从上、下、左、右四个方向扫描找到第一个非全白行/列,确定保留区域后输出,时间复杂度 \(O(H \times W)\),空间复杂度 \(O(H \times W)\)
洛谷 AT_abc465_a Supermajority 入门 不等式变形 + 整数比较 \(A > \frac{2B}{3}\) 转化为 \(3A > 2B\) 的整数比较,避免浮点精度问题,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc465_b Parking 2 入门 逐小时标记 + 分段累加 用数组标记 \(24\) 小时各时段费率(高峰 \(X\)/非高峰 \(Y\)),对停车时段 \([A,B)\) 逐小时累加费用,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc466_a Compromise 入门 线性扫描 + 提前终止 遍历 \(N\) 个幸福值,发现第一个 \(X_i \geq 0\) 即输出 No 并退出,全负则输出 Yes,时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
洛谷 AT_abc466_b Representative Balls 入门 桶数组 + 在线维护最大值 \(maxS[k]\) 记录颜色 \(k\) 的最大尺寸,初始 \(-1\),遍历 \(N\) 个球在线更新,按序输出 \(maxS[1..M]\),时间复杂度 \(O(N+M)\),空间复杂度 \(O(M)\)
洛谷 AT_abc467_a Obesity 入门 公式变形 + 整数比较 将 BMI \(\geq 25\) 转化为 \(W \times 10000 \geq 25 \times H^2\) 的整数比较,避免浮点精度问题,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 AT_abc467_b Keep the Change 入门 模拟 + 差额累加 分别维护实际金额 \(X\) 和理想金额 \(Y\),遍历商店更新,输出 \(Y - X = \sum_{S_i=\text{keep}}(B_i-A_i)\),时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
洛谷 AT_abc468_a Maximal Value 入门 线性扫描 + 局部峰值判定 遍历 \(i\)\(1\)\(N-2\),统计满足 \(A_i < A_{i+1} > A_{i+2}\) 的"峰"形三元组个数,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 AT_abc470_a Fizz 入门 模拟 遍历 \(1\)\(N\)\(i \bmod 3 = 0\) 输出 Fizz 否则输出 \(i\),时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
洛谷 AT_abc470_b Monocolor 入门 模拟 / 贪心 用哈希表统计每种颜色频率,答案为 \(N - \max(\text{频率})\),即将所有球改为出现次数最多的颜色,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 AT_abc471_a Nine or Nein 入门 模拟 检查 \(A+B\)\(A-B\)\(A \times B\)\(A=9B\) 四种情况是否至少一个等于 \(9\),是则输出 Nine 否则 Nein,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 B4001 立方数 入门 枚举验证(立方根上界) \(i=1\) 开始枚举,若 i*i*i == n 则标记为立方数并 break,若 i*i*i > n 可提前终止,最终根据标志位输出 YesNo,枚举上界实际为 \(\sqrt[3]{n}\),时间复杂度 \(O(\sqrt[3]{n})\),空间复杂度 \(O(1)\)
洛谷 [[B4037 小杨的N字矩阵]] 入门
洛谷 [[B4064 寻找数字]] 入门
洛谷 [[B4065 数位和]] 入门
洛谷 [[B4066 数字替换]] 入门
洛谷 [[B4076 随机数]] 入门
洛谷 [[B4078 统计成绩]] 入门
洛谷 [[B4137 幸运数字]] 入门
洛谷 [[B4264 二阶矩阵]] 入门
洛谷 [[B4413 数组清零]] 入门
洛谷 B4551 去旅行 入门 直接模拟 读入四个价格,计算三种方案总价(直飞 \(a\)、高铁+飞机 \(b+c\)、高铁+高铁 \(b+d\)),用 min({a, b+c, b+d}) 取最小值输出,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 B4552 交税 入门 直接模拟 / 分段函数 循环 12 个月,每月若报酬 \(x > 800\) 则累加 \((x-800) \times 0.2\),最后 printf("%.2lf", ans) 保留两位小数输出,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 B4553 完全平方数计数 入门 直接模拟 / 数学判定 遍历区间 \([l,r]\),对每个数 \(x\)int(sqrt(x)) * int(sqrt(x)) == x 判定是否为完全平方数,统计个数,时间复杂度 \(O(r-l+1)\),空间复杂度 \(O(1)\)
洛谷 B4555 加密 入门 直接模拟 / 查找表映射 map(或数组)建立 \(0 \sim 9\) 的映射表,读入待加密数字后逐位查表输出,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
洛谷 [[CF271A 美好的一年(Beautiful year)]] 入门
洛谷 P1001 A+B Problem 入门 直接相加 使用cin读入两个整数后用+运算符求和输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P1046 陶陶摘苹果 入门 线性扫描 读入10个苹果高度和陶陶身高后计算最大够到高度(身高+30),遍历统计高度不超过最大高度的苹果数量,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P1047 校门外的树 入门 模拟 用标记数组记录每个整数点是否有树,遍历每个区间将对应位置标记为移除,最后统计仍为 1 的位置数,时间复杂度 \(O(l + m \cdot \text{区间长度})\),空间复杂度 \(O(l)\)
洛谷 P1085 不高兴的津津 入门 线性扫描 + 最值维护 遍历7天计算每天总上课时间,维护超过8小时且总时间最大的最早日期,若无则输出0,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P1089 津津的储蓄计划 入门 模拟 逐月模拟收入(+300)和支出(-预算),若零钱不足则输出负月份,否则将整百存入(mother += ans/100),年底返还本金加20%利息,总金额为 ans + mother*120,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 P1161 开灯 入门 模拟 使用布尔数组标记每盏灯的开关状态,对每次操作产生的灯编号取反,最后查找唯一开着的灯,时间复杂度 \(O(\sum t_i)\),空间复杂度 \(O(2\times10^6)\)
洛谷 [[P1179 数字统计]] 入门
洛谷 P1201 贪婪的送礼者 入门 结构体模拟 用结构体数组记录每人收支,按送礼流程线性查找更新收入支出,利用整数除法取整和取模处理平均分配与余数返还,时间复杂度 \(O(n^2)\),空间复杂度 \(O(n)\)
洛谷 P1307 数字反转 入门 数位剥离重组 先处理负数符号,再通过n%10取最低位、n/=10右移、s=s*10+t重组的方式反转数字,最后恢复符号,时间复杂度$O(\log \
洛谷 P1319 压缩技术 入门 模拟 交替读取连续 01 的个数,按顺序输出对应数量的字符,每 N 个字符换行,时间复杂度 \(O(N^2)\),空间复杂度 \(O(1)\)
洛谷 P1320 压缩技术(续集版) 入门 模拟 逐字符读取输入,统计连续相同字符的段长,总字符数的平方根为 N,按格式输出压缩码,时间复杂度 \(O(N^2)\),空间复杂度 \(O(N^2)\)
洛谷 P1420 最长连号 入门 模拟 遍历序列,若当前数等于前一个数加 1 则延长当前连号长度,否则重置计数器,并不断更新最大值,时间复杂度 \(O(n)\),空间复杂度 \(O(1)\)
洛谷 P1421 小玉买文具 入门 单位统一 + 整数除法 \(a\)\(b\)角统一转换为总角数后除以单价19角,整数除法自动向下取整得到最多购买数量,避免浮点精度问题,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P1422 小玉家的电费 入门 分段计费 按用电量≤150、151-400、>400三档分别用对应单价0.4463、0.4663、0.5663计算各段费用后累加,保留一位小数输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P1423 小玉在游泳 入门 等比衰减累加 初始化步长为2米后循环累加当前步长到总距离,每步步长乘以0.98衰减,直到总距离达到目标值,时间复杂度\(O(\log s)\),空间复杂度\(O(1)\)
洛谷 P1424 小鱼的航程(改进版) 入门 周期模拟 + 模运算 遍历\(n\)天用(x-1+i)%7计算每天星期,统计周一到周五的工作日数量后乘以250公里,时间复杂度\(O(n)\),空间复杂度\(O(1)\)
洛谷 P1427 小鱼的数字游戏 入门 模拟 用数组存储所有非零输入数字,记录个数,然后从后向前遍历输出,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
洛谷 P1428 小鱼比可爱 入门 模拟 对每条鱼,遍历其左侧所有鱼并统计可爱程度小于自己的数量,时间复杂度 \(O(n^2)\),空间复杂度 \(O(n)\)
洛谷 [[P1548 棋盘问题]] 入门
洛谷 P1554 梦中的统计 入门 模拟 枚举区间内每个数,通过不断取模和整除 10 拆分数位并累加计数,最后输出 0~9 的出现次数,时间复杂度 \(O((N-M+1)\log N)\),空间复杂度 \(O(1)\)
洛谷 P1614 爱与愁的心痛 入门 模拟 枚举所有长度为 \(m\) 的连续子序列并计算和,记录最小值,时间复杂度 \(O(n \cdot m)\),空间复杂度 \(O(n)\)
洛谷 P1697 Lifeguards 入门 ⭐⭐ 差分统计 + 枚举移除 用差分数组统计每个时间点被覆盖的次数,计算总覆盖 \(sum\),枚举移除每个救生员时减去其独有覆盖点(\(B[j]=1\))的数量,取最大值,时间复杂度 \(O(N \cdot T)\),空间复杂度 \(O(T)\)
洛谷 P1720 月落乌啼算钱 入门 ⭐⭐ 比内公式(Binet's Formula) 利用黄金分割比例\(\phi=(1+\sqrt{5})/2\)及其共轭,代入\(F_n=(\phi^n-\hat{\phi}^n)/\sqrt{5}\)直接计算第\(n\)项斐波那契数,保留两位小数输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P1789 插火把 入门 模拟 用二维数组标记所有光源照亮的格子,最后统计未标记的格子数,时间复杂度 \(O(n^2)\),空间复杂度 \(O(n^2)\)
洛谷 P1909 买铅笔 入门 枚举 + 向上取整 枚举3种包装分别计算需要包数\(\lceil n/a_i \rceil\)和总花费,取最小值,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P1980 计数问题 入门 数位拆分 + 桶统计 遍历\(1 \sim n\)对每个数逐位拆分,用桶数组统计每个数字出现次数,最后输出\(x\)的计数,时间复杂度\(O(n \log n)\),空间复杂度\(O(1)\)
洛谷 P2550 彩票摇奖 入门 模拟 用布尔数组标记中奖号码,对每张彩票统计匹配数量并累加对应奖项计数,最后按等级输出,时间复杂度 \(O(n \times 7)\),空间复杂度 \(O(1)\)
洛谷 [[P2637 第一次,第二次,成交]] 入门
洛谷 P2670 扫雷游戏 入门 模拟 遍历每个非地雷格,统计其周围 8 个方向的地雷数量并输出数字,地雷格直接输出 *,时间复杂度 \(O(n \times m)\),空间复杂度 \(O(n \times m)\)
洛谷 P2911 Bovine Bones 入门 暴力枚举 + 频数统计 三重循环枚举三个骰子的所有 \(S_1 \cdot S_2 \cdot S_3\) 种组合,用数组统计各点数和的出现次数,取最大频数的最小和值,时间复杂度 \(O(S_1 S_2 S_3)\),空间复杂度 \(O(S_1+S_2+S_3)\)
洛谷 P2956 The Robot Plow 入门 模拟 用二维数组直接标记每个矩形指令覆盖的格子为 \(1\),最后遍历网格统计标记数量,时间复杂度 \(O(I \cdot X \cdot Y)\),空间复杂度 \(O(X \cdot Y)\)
洛谷 P3954 成绩 入门 加权求和 读取三项成绩后按权重\(20\%, 30\%, 50\%\)加权求和,浮点结果自动截断为整数输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P4414 ABC 入门 排序 + 映射输出 将三个数升序排序后,根据输入的顺序字符串将A/B/C分别映射为最小/中/最大值输出,覆盖6种全排列组合,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5703 苹果采购 入门 直接相乘 读取每人苹果数和人数后用*运算符求积输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5704 字母转换 入门 ASCII 码偏移 利用小写与大写字母在 ASCII 表中差值恒为 32 的性质,通过 xiao - 'a' + 'A' 转换后输出,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 P5705 数字反转 入门 数位拆分与重组 将浮点数乘10转为整数后逐位拆分为个十百千位,逆序按千位→个位重组为新整数,再除以1000.0还原为浮点数,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5706 再分肥宅水 入门 直接计算 + 格式化输出 用浮点除法计算人均饮料量,整数乘法计算总杯子数,通过printf%.3f保留三位小数输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5708 三角形面积 入门 海伦公式 读取三边后用海伦公式\(p=\frac{a+b+c}{2}\)\(S=\sqrt{p(p-a)(p-b)(p-c)}\)计算面积,通过printf%.1f保留一位小数输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5709 苹果和虫子 入门 分类讨论 根据吃苹果时间是否为0、时间是否足够吃完所有苹果、是否刚好吃完整数个三种情况分类讨论,计算已吃完和正在吃的不完整苹果数后求剩余完整数,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5710 数的性质 入门 布尔逻辑 + 分类讨论 先计算偶数和范围两个基础布尔条件,再根据同时成立、至少一个、刚好一个、都不成立三种互斥情况输出固定格式的四个判断结果,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5711 闰年判断 入门 逻辑条件判断 根据格里高利历规则,用布尔表达式`year%4==0 && year%100!=0 \
洛谷 P5712 Apples 入门 分支选择 + 格式化输出 根据苹果数量\(x \le 1\)\(x > 1\)选择单数apple或复数apples形式,用printf格式化输出句子,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5713 洛谷团队系统 入门 直接比较 比较本地配置总时间\(5n\)与洛谷团队总时间\(3n+11\),输出时间更短的方案名称,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5714 肥胖问题 入门 直接计算 + 区间分类 计算BMI指数\(m/h^2\)后按小于18.5、18.5-24、大于等于24三个区间分别输出Underweight、Normal、BMI值+Overweight,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5715 三位数排序 入门 冒泡思想 + swap交换 通过三次比较和swap交换将三个数按升序排列(先保证a≤b,再保证b≤c使最大值沉底,最后再次保证a≤b修复逆序),时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5716 月份天数 入门 switch分支 + 闰年判断 用switch按12个月份分支输出固定天数,2月单独嵌入闰年判断条件输出29或28天,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5717 三角形分类 入门 排序 + 平方比较 将三边排序后通过\(a+b>c\)判定三角形,利用\(a^2+b^2\)\(c^2\)比较判定直角/锐角/钝角,通过边相等关系判定等腰/等边,多条件满足时分别输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5718 找最小值 入门 线性扫描 初始化最小值为第一个元素后遍历数组,遇到更小值立即更新,时间复杂度\(O(n)\),空间复杂度\(O(n)\)(可优化至\(O(1)\)
洛谷 P5719 分类平均 入门 分类统计 + 均值计算 遍历\(1 \sim n\)用模运算将数分为\(k\)的倍数和非倍数两类,分别累加和与个数后用浮点除法求平均,保留一位小数输出,时间复杂度\(O(n)\),空间复杂度\(O(1)\)
洛谷 P5720 一尺之棰 入门 循环折半模拟 从初始长度开始每天整数除法折半并累加天数,直到长度变为1,时间复杂度\(O(\log a)\),空间复杂度\(O(1)\)
洛谷 P5721 数字直角三角形 入门 双重循环 + 格式化输出 用外层循环控制\(n\)行,内层循环每行输出\(n+1-i\)个顺序递增的数字,通过printf("%02d")保证两位格式并前补零,时间复杂度\(O(n^2)\),空间复杂度\(O(1)\)
洛谷 P5722 数列求和 入门 循环累加 从1到\(n\)逐项累加求和,时间复杂度\(O(n)\),空间复杂度\(O(1)\)
洛谷 P5724 求极差 入门 线性扫描求最值 读入第一个数初始化最大最小值后,边读入剩余数字边更新最值,最后输出最大值减最小值,时间复杂度\(O(n)\),空间复杂度\(O(1)\)
洛谷 P5725 求三角形 入门 模拟 用双重循环分别打印 \(n \times n\) 数字方阵和右对齐数字三角形,所有数字按两位格式输出,中间空一行,时间复杂度 \(O(n^2)\),空间复杂度 \(O(1)\)
洛谷 P5727 冰雹猜想 入门 模拟 按规则生成从 \(n\)\(1\) 的完整序列并存入数组,然后倒序输出,时间复杂度 \(O(L)\),空间复杂度 \(O(L)\)
洛谷 P5728 旗鼓相当的对手 入门 模拟 用双重循环枚举所有学生组合,检查三科分差 \(\le 5\) 且总分分差 \(\le 10\),满足则计数,时间复杂度 \(O(N^2)\),空间复杂度 \(O(N)\)
洛谷 P5729 工艺品制作 入门 模拟 用三维数组标记被切割区域的小方块,最后统计未被标记的格子数,时间复杂度 \(O(q \cdot w \cdot x \cdot h)\),空间复杂度 \(O(w \cdot x \cdot h)\)
洛谷 P5731 蛇形方阵 入门 模拟 从左上角开始,按右→下→左→上的顺序循环“撞墙转向”填充数字,直到填满 \(n^2\),每个数字占 3 位右对齐,时间复杂度 \(O(n^2)\),空间复杂度 \(O(n^2)\)
洛谷 P5732 杨辉三角 入门 模拟 使用递推公式 \(a[i][j] = a[i-1][j] + a[i-1][j-1]\),按行生成杨辉三角并输出,时间复杂度 \(O(n^2)\),空间复杂度 \(O(n^2)\)
洛谷 P5735 距离函数 入门 模拟 根据欧几里得距离公式计算三点间的三条边长并求和,使用 sqrt 开方,输出保留两位小数,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 P5737 闰年展示 入门 模拟 遍历区间 \([x,y]\),用闰年判定条件统计个数并记录年份,先输出个数再输出所有年份,时间复杂度 \(O(y-x+1)\),空间复杂度 \(O(1)\)
洛谷 P5743 猴子吃桃 入门 模拟 从第 \(n\) 天剩余 1 个桃子开始,逆向递推 \(n-1\) 次,每次 (剩余+1)*2,时间复杂度 \(O(n)\),空间复杂度 \(O(1)\)
洛谷 P5744 培训 入门 模拟 用结构体存储学员信息,年龄加 1,成绩提高 20% 且不超过 600,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
洛谷 P5831 Cow Gymnastics 入门 ⭐⭐ 邻接矩阵标记 \(N \times N\) 矩阵标记每轮排名中"劣于"关系,最终统计全 \(K\) 轮中从未被标记反例的奶牛对数,时间复杂度 \(O(K \cdot N^2)\),空间复杂度 \(O(N^2)\)
洛谷 P6206 Another Cow Number Game 入门 直接模拟 按照奇数 \(3N+1\)、偶数 \(N/2\) 的规则逐步变换直到 \(N=1\),统计变换次数,时间复杂度 \(O(T)\)\(T\) 为收敛步数),空间复杂度 \(O(1)\)
洛谷 [[P6565 最急救助]] 入门
洛谷 [[P7071 优秀的拆分]] 入门
洛谷 P8090 Herdle 入门 两遍扫描模拟 第一遍标记同位置同字母的绿色并锁定,第二遍在剩余位置中顺序匹配品种正确但位置不同的黄色并锁定,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 [[P8254 王国比赛]] 入门
洛谷 [[P8813 乘方]] 入门
洛谷 [[P9389 烂柯杯]] 入门
洛谷 P9940 Uddered but not Herd 入门 模拟 + 贪心 pos 数组记录字母在牛文字母表中的顺序,遍历目标字符串,每当当前字母位置 ≤ 前一个字母位置时,说明需要新唱一遍,累加计数,$O(26 + \
洛谷 P9955 Do You Know Your ABCs 入门 排序 + 数学 将 7 个数排序,最小和第二小即为 \(A\)\(B\),最大的数减去 \(A\)\(B\) 即为 \(C\)\(O(1)\) 时间
洛谷 [[P10372 家庭作业]] 入门
洛谷 [[P10575 下一次相遇]] 入门
洛谷 [[P10696 写都写了,交一发吧]] 入门
洛谷 [[P11033 宾果游戏]] 入门
洛谷 [[P11213 竹竿]] 入门
洛谷 [[P11227 扑克牌]] 入门
洛谷 [[P11542 有人吗]] 入门
洛谷 [[P11559 嗯欧哎]] 入门
洛谷 [[P11641 分数]] 入门

普及-

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 [[AT_abc317_b MissingNo]] 普及-
洛谷 [[AT_abc319_b Measure]] 普及-
洛谷 [[AT_abc333_c Repunit Trio]] 普及-
洛谷 [[AT_abc335_d Loong and Takahashi]] 普及-
洛谷 [[AT_abc336_c Even Digits]] 普及-
洛谷 [[AT_abc338_c Leftover Recipes]] 普及-
洛谷 [[AT_abc341_c Takahashi Gets Lost]] 普及-
洛谷 [[AT_abc342_c Many Replacement]] 普及-
洛谷 [[AT_abc344_c A+B+C]] 普及-
洛谷 [[AT_abc349_c Airpot Code]] 普及-
洛谷 [[AT_abc363_b Japanese Cursed Doll]] 普及-
洛谷 [[AT_abc372_c Count ABC Again]] 普及-
洛谷 [[AT_abc377_c Avoid Knight Attack]] 普及-
洛谷 [[AT_abc378_c Repeating]] 普及-
洛谷 [[AT_abc380_c Move Segment]] 普及-
洛谷 [[AT_abc383_b Humidifier 2]] 普及-
洛谷 [[AT_abc385_c Illuminate Buildings]] 普及-
洛谷 [[AT_abc390_c Paint to make a rectangle]] 普及-
洛谷 [[AT_abc392_c Bib]] 普及-
洛谷 [[AT_abc394_d Colorful Bracket Sequence]] 普及-
洛谷 [[AT_abc395_c Shortest Duplicate]] 普及-
洛谷 [[AT_abc396_b Card Pie]] 普及-
洛谷 [[AT_abc402_c Dislike Foods]] 普及-
洛谷 [[AT_abc409_c Equilateral Triangle]] 普及-
洛谷 [[AT_abc410_c Rotatable Array]] 普及-
洛谷 [[AT_abc411_c Black Intervals]] 普及-
洛谷 [[AT_abc417_b Search and Delete]] 普及-
洛谷 [[AT_abc420_c Sum of Min Query]] 普及-
洛谷 AT_abc426_c Upgrade Required 普及- ⭐⭐⭐ 指针优化模拟 维护 minn 指针跳过已清空的低版本位置,将版本 \(\le X\) 的电脑数量聚合到版本 \(Y\) 并清空原位置,minn 单调递增保证均摊 \(O(N+Q)\),空间复杂度 \(O(N)\)
洛谷 AT_abc436_b Magic Square 普及- ⭐⭐ 模拟 按照Siamese法规则直接模拟构造奇数阶幻方,用取模实现循环边界,优先填右上角、冲突时填正下方,时间复杂度 \(O(N^2)\),空间复杂度 \(O(N^2)\)
洛谷 AT_abc436_c 2x2 Placing 普及- ⭐⭐ 模拟 + 哈希映射 map 标记已占用的格子,每次操作检查 \(2 \times 2\) 区域四角是否均空闲,空闲则放置并标记,时间复杂度 \(O(M \log M)\),空间复杂度 \(O(M)\)
洛谷 AT_abc443_c Chokutter Addiction 普及-
洛谷 [[B3851 图像压缩]] 普及-
洛谷 [[B3869 进制转换]] 普及-
洛谷 [[B3870 变长编码]] 普及-
洛谷 [[B3925 小猫分鱼]] 普及-
洛谷 [[B3940 填幻方]] 普及-
洛谷 [[B4036 数位之和]] 普及-
洛谷 [[B4040 黑白方块]] 普及-
洛谷 [[B4068 Recaman]] 普及-
洛谷 [[B4075 11的倍数]] 普及-
洛谷 [[B4263 荒地开垦]] 普及-
洛谷 [[B4378 矩阵圈层90度交错旋转]] 普及-
洛谷 [[B4397 第二题]] 普及-
洛谷 [[B4414 日历制作]] 普及-
洛谷 [[B4451 建造]] 普及-
洛谷 B4501 山之谷 普及-
洛谷 B4554 菱形 普及-
洛谷 B4557 扫雷 普及-
洛谷 [[CF1534A Colour the Flag]] 普及-
洛谷 [[P1003 铺地毯]] 普及-
洛谷 [[P1008 三连击]] 普及-
洛谷 [[P1014 Cantor表]] 普及-
洛谷 P1042 乒乓球 普及- ⭐⭐ 模拟 按顺序统计每局得分,当一方达到目标分数且分差 \(\ge 2\) 时输出并重置,最后输出当前比分,时间复杂度 \(O(L)\),空间复杂度 \(O(L)\)
洛谷 [[P1051 谁拿了最多奖学金]] 普及-
洛谷 P1067 多项式输出 普及- ⭐⭐ 模拟 从高次到低次遍历系数,根据符号、系数绝对值、指数值逐项格式化输出,注意首项符号、系数 1 省略、指数 1 省略等规则,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
洛谷 [[P1086 花生采摘]] 普及-
洛谷 P1088 火星人 普及- ⭐⭐ STL 排列 使用 std::next_permutation 循环 \(M\) 次生成目标排列,时间复杂度 \(O(M \times N)\),空间复杂度 \(O(N)\)
洛谷 P1098 字符串的展开 普及- ⭐⭐⭐ 模拟 遍历字符串,对符合展开条件的 - 根据 \(p_1,p_2,p_3\) 生成填充序列(正/逆序、大小写/星号、重复次数),不符合则原样输出,时间复杂度 \(O(n \cdot p_2 \cdot d)\),空间复杂度 \(O(1)\)
洛谷 [[P1149 火柴棒等式]] 普及-
洛谷 P1206 回文平方数 普及- ⭐⭐ 进制转换 + 回文判断 + 模拟 枚举 \([1,300]\) 中的每个数,将其平方转换为 \(B\) 进制字符串并判断是否为回文,若是则输出该数及其平方的 \(B\) 进制表示,时间复杂度 \(O(300 \cdot \log_B 90000)\),空间复杂度 \(O(\log_B 90000)\)
洛谷 P1207 双重回文数 普及- ⭐⭐ 进制转换 + 回文判断 + 枚举模拟 \(s+1\) 开始逐个枚举整数,统计其在 \(2 \sim 10\) 进制中为回文的进制种数,当达到 2 种时输出,直到收集 \(n\) 个数为止,时间复杂度 \(O(n \cdot 9 \cdot \log(\text{max\_value}))\),空间复杂度 \(O(\log(\text{max\_value}))\)
洛谷 P1211 牛式 普及- ⭐⭐ 枚举 + 数位验证 用桶数组标记可用数字后枚举所有三位数乘两位数,验证被乘数、乘数、两个部分积和最终积的每位数字是否均在数集中且位数符合竖式要求,时间复杂度\(O(10^5)\),空间复杂度\(O(1)\)
洛谷 P1328 生活大爆炸版石头剪刀布 普及- ⭐⭐ 模拟
模拟
用两个周期索引分别模拟两人的出拳,通过预定义的胜负矩阵判定每轮结果并累计得分,时间复杂度 \(O(N)\),空间复杂度 \(O(N_A+N_B)\)
洛谷 P1467 循环数Runaround Numbers 普及- ⭐⭐ 暴力枚举 + 模拟验证 \(m+1\)开始逐个枚举,对每个数检查不含0、无重复数字后模拟循环移动过程,验证是否经过每位恰好一次并回到起点,时间复杂度\(O((m'-m) \cdot d)\),空间复杂度\(O(d)\)
洛谷 [[P1540 机器翻译]] 普及-
洛谷 P1563 玩具谜题 普及- ⭐⭐ 模拟 根据当前人的朝向和指令左右,确定移动方向(顺时针/逆时针),在环形数组上更新索引,时间复杂度 \(O(n+m)\),空间复杂度 \(O(n)\)
洛谷 P1599 结算日 普及- ⭐⭐⭐ 贪心模拟 顺序扫描每头奶牛维护累计资金 \(sum\),当 \(sum\) 从负变正时计算往返债务区间 \([l,i]\) 的额外距离 \(2\times(i-l)\),累加基础距离 \(N\) 得总路程,时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
洛谷 P1618 三连击(升级版) 普及- ⭐⭐ 枚举 枚举第一个数 \(x\),按比例计算 \(y,z\),检查三个数是否均为三位数且数字 1~9 各出现一次,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 P1677 HoofBall 普及- ⭐⭐⭐ 模拟 + 功能图分析 排序后确定每头奶牛的最近邻传球方向,统计入度为 \(0\) 的节点数,再检测相邻互相指向的二元环额外加球,时间复杂度 \(O(N \log N)\),空间复杂度 \(O(N)\)
洛谷 P1693 Sleepy Cow Herding 普及- ⭐⭐ 分类讨论 排序后分析两间隔 \((d_1, d_2)\) 的六种组合情况,根据间隔是否为 \(1\)\(2\)\(\ge 3\) 直接判定最小移动次数(\(0\)\(1\)\(2\)),最大次数为 \(\max(d_1-1, d_2-1)\),时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 P1696 Blocked Billboard II 普及- ⭐⭐ 坐标离散化 + 网格划分 收集两矩形所有边界坐标排序后形成 \(3 \times 3\) 网格,逐格判断是否在割草机矩形内但不在牛饲料矩形内,累加暴露面积,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 [[P2010 回文日期]] 普及-
洛谷 P2035 iCow 普及- ⭐⭐ 模拟 每次遍历 \(N\) 首曲子找权值最大者输出,将其权值清零后整除部分均分给其余 \(N-1\) 首、余数按编号顺序分配,重复 \(T\) 次,时间复杂度 \(O(T \times N)\),空间复杂度 \(O(N)\)
洛谷 P2089 烤鸡 普及- 枚举 用十重循环枚举每种配料 1~3 克的所有组合,统计和等于 \(n\) 的方案并输出,时间复杂度 \(O(3^{10})\),空间复杂度 \(O(1)\)
洛谷 P2141 珠心算测验 普及- 模拟 枚举所有不同数对并标记其和,最后统计集合中有多少数被标记过,时间复杂度 \(O(n^2)\),空间复杂度 \(O(\text{最大值})\)
洛谷 P2241 统计方形(数据加强版) 普及- ⭐⭐ 数学 / 枚举 枚举所有子矩形尺寸 \((i,j)\),计数 \((n-i+1)(m-j+1)\)\(i=j\) 计入正方形,否则计入长方形,时间复杂度 \(O(nm)\),空间复杂度 \(O(1)\)
洛谷 P2433 小学数学 N 合一 普及- 分支选择 + 基础计算 根据输入编号通过if-else分支执行14个独立的小学数学问题,涉及字符串输出、四则运算、几何公式、追及相遇、逆向推导等,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P2615 神奇的幻方 普及- ⭐⭐ 模拟 从第一行中间开始,按四种优先级规则确定每个数字的位置并填入,最后输出矩阵,时间复杂度 \(O(N^2)\),空间复杂度 \(O(N^2)\)
洛谷 P2666 Bessie's Secret Pasture 普及- ⭐⭐ 模拟 四重循环枚举边长 \(i,j,k,l\)\(0\)\(\sqrt{N}\)),统计满足 \(i^2+j^2+k^2+l^2=N\) 的有序四元组数量,时间复杂度 \(O(N^2)\),空间复杂度 \(O(1)\)
洛谷 P2693 号码锁 普及- 暴力枚举 + 环形距离 三重循环枚举所有号码组合,利用模运算计算环形双向距离判断是否与两个合法组合的对应位置均在2以内,时间复杂度\(O(n^3)\),空间复杂度\(O(1)\)
洛谷 [[P2694 接金币]] 普及-
洛谷 P3392 涂条纹 普及- ⭐⭐ 枚举 枚举白色和蓝色区域的行数,分别计算各区域修改为非目标颜色的格子数,取最小值,时间复杂度 \(O(N^3)\),空间复杂度 \(O(N)\)
洛谷 [[P3654 First Step]] 普及-
洛谷 P4924 魔法少女小Scarlet 普及- ⭐⭐ 模拟 按顺时针/逆时针坐标变换公式旋转子方阵,使用临时数组存储结果后写回,时间复杂度 \(O(m \cdot r^2)\),空间复杂度 \(O(n^2)\)
洛谷 [[P4942 小凯的数字]] 普及-
洛谷 P4956 Davor 普及- 数学 + 枚举 将 52 周总额化简为 \(364(x+3k)=n\),枚举 \(x\) 从大到小,找到使 \((n/364 - x)\) 能被 3 整除且大于 0 的 \(k\) 即可,时间复杂度 \(O(100)\),空间复杂度 \(O(1)\)
洛谷 [[P5016 龙虎斗]] 普及-
洛谷 P5116 Mixing Milk 普及- 直接模拟 按桶1→桶2→桶3的周期循环模拟100次倒奶操作,每次判断目标桶是否溢出并更新两桶状态,时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)
洛谷 P5117 The Bucket List 普及- ⭐⭐ 差分数组 + 前缀和 用差分数组标记每头奶牛的起止时间桶需求变化,前缀和还原各时刻并发桶数后取最大值,时间复杂度 \(O(N+T)\),空间复杂度 \(O(T)\)
洛谷 P5707 上学迟到 普及- 时间倒推 + 向上取整 计算总耗时\(t=\lceil s/v \rceil+10\)后从8:00倒推,处理分钟借位和跨天情况,按HH:MM格式补零输出,时间复杂度\(O(1)\),空间复杂度\(O(1)\)
洛谷 P5726 打分 普及- 模拟 一次遍历记录总和、最大值和最小值,最终平均值为 (总和 - 最大值 - 最小值)/(n-2),时间复杂度 \(O(n)\),空间复杂度 \(O(1)\)
洛谷 P5730 显示屏 普及- ⭐⭐ 模拟 预先存储 0~9 每个数字的 5 行点阵模板,按数字顺序逐行拼接,数字间加一列 . 分隔,最终输出 5 行,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
洛谷 P5738 歌唱比赛 普及- ⭐⭐ 模拟 对每组评分输入时维护总和、最大值和最小值,计算去掉极值后的平均分,更新最高分,时间复杂度 \(O(n \cdot m)\),空间复杂度 \(O(1)\)
洛谷 P5740 最厉害的学生 普及- 模拟 用结构体存储学生信息,线性扫描计算总分并维护最高分(并列时保留先出现的),最后输出该生信息,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 P5741 旗鼓相当的对手(加强版) 普及- ⭐⭐ 模拟 用结构体存储学生信息,双重循环枚举所有组合,检查四科分差条件,满足则按字典序输出,时间复杂度 \(O(N^2)\),空间复杂度 \(O(N)\)
洛谷 P5742 评等级 普及- 模拟 用结构体存储学生信息,将综合分数整数化为 s1*7+s2*3 并与 800 比较,结合总分 > 140 判定优秀,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 P6200 Super Paintball 普及- ⭐⭐ 暴力模拟 + 八方向扫描 对每个位置沿八个方向逐格扫描统计可见对手数,若等于 \(K\) 则该位置合法,时间复杂度 \(O(N^3)\),空间复杂度 \(O(N^2)\)
洛谷 [[P7909 分糖果]] 普及-
洛谷 P8091 Non-Transitive Dice 普及- ⭐⭐ 暴力枚举 + 胜负判定 定义 f(X,Y) 比较两骰子 \(16\) 种面组合的胜负次数,四重循环枚举 \(C\) 骰子的 \(10^4\) 种组合,检查是否满足 \(A \to B \to C \to A\) 或反向循环的非传递关系,时间复杂度 \(O(T \cdot 10^4)\),空间复杂度 \(O(1)\)
洛谷 P8184 Photoshoot 2 普及- ⭐⭐⭐ 位置映射 + 贪心逆序统计 建立目标排列的位置映射,将初始排列转为位置序列后贪心统计逆序数(即需要移动的奶牛数),时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 P9010 Leaders 普及- ⭐⭐ 模拟 + 贪心推导 利用品种首尾位置缩小候选范围,仅枚举第一种品种中位于另一品种第一头之前的牛,判定其是否覆盖全部同品种或覆盖到另一品种首头,从而 \(O(N)\) 计数领导者对数,空间 \(O(N)\)
洛谷 [[P9117 涂色游戏]] 普及-
洛谷 P9122 Stamp Grid 普及- ⭐⭐ 模拟 + 枚举覆盖 枚举印章的 4 种旋转状态和所有放置位置,只执行不覆盖目标中 . 的合法盖章,将所有能覆盖的目标 * 涂黑,最后检查是否所有目标 * 均被覆盖,\(O(T \cdot 4 \cdot (N-K+1)^2 \cdot K^2)\)\(N \le 20\)
洛谷 [[P9752 密码锁]] 普及-
洛谷 P9942 Just Stalling 普及- ⭐⭐ 排序 + 贪心计数(乘法原理) 将奶牛按高度从大到小排序,依次统计每头奶牛可选的牛棚数(满足限制的总数 - 已分配的奶牛数),累乘得到总方案数,\(O(N^2)\) 时间(\(N \le 20\)),\(O(N)\) 空间,注意用 64 位整数
洛谷 P9944 Comfortable Cows 普及- ⭐⭐ 增量模拟 新增奶牛只影响其自身及四邻居的舒适状态,每次先减去这5个位置的旧状态,添加新牛后再加上新状态,增量维护全局舒适奶牛总数,\(O(N)\) 时间,\(O(1005^2)\) 空间
洛谷 P9945 Clockwise Fence 普及- 模拟 + 转角累加 在字符串末尾添加首字符后,逐对计算相邻方向的转角(左转 +90°,右转 -90°),累加和为 +360° 为逆时针 CCW,-360° 为顺时针 CW,时间复杂度 \(O(N \cdot L)\),空间复杂度 \(O(1)\)
洛谷 P9947 Photoshoot 普及- ⭐⭐ 枚举验证 \(1\)\(N\) 枚举 \(a_1\),递推计算 \(a_{i+1}=b_i-a_i\),验证是否构成 \(1\)\(N\) 的合法排列,第一个满足条件的即为字典序最小解,时间复杂度 \(O(N^2)\),空间复杂度 \(O(N)\)
洛谷 [[P9949 Triangles]] 普及- ⭐⭐ 枚举 + 几何判定 三重循环枚举三个点,检查是否满足 \(y_i=y_j\)\(x_j=x_k\) 的直角三角形坐标条件,计算两直角边长度乘积取最大值,时间复杂度 \(O(N^3)\),空间复杂度 \(O(N)\)
洛谷 P9956 Daisy Chains 普及- ⭐⭐ 枚举 + 模拟 枚举所有连续子区间 \([i,j]\),计算区间和与平均值,检查区间内是否存在等于平均值的花瓣数,满足则计数,时间复杂度 \(O(N^3)\),空间复杂度 \(O(N)\)
洛谷 P9958 Shell Game 普及- 枚举 + 模拟 枚举鹅卵石初始在 1、2、3 号位置,分别模拟所有交换和猜测过程,统计猜中次数,取最大值,\(O(N)\) 时间,\(O(1)\) 空间
洛谷 P10132 Cannonball 普及- ⭐⭐⭐ 模拟 + 循环检测 模拟贝西的弹跳过程,只有跳板会改变能量和方向,炮击目标仅影响计数;记录每个跳板被访问时的能量值,若以相同能量再次到达同一跳板则进入循环并停止,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 [[P11228 地图探险]] 普及-
洛谷 [[P11697 二维蚱蜢]] 普及-

普及

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 [[AT_abc162_d RGB三元组]] 普及
洛谷 [[AT_abc375_c Spiral Rotation]] 普及
洛谷 [[AT_abc395_d Pigeon Swap]] 普及
洛谷 [[AT_abc406_c ~]] 普及
洛谷 AT_abc468_d Pre-Palindrome 普及 ⭐⭐⭐ 中心扩展法 + 不匹配计数 枚举奇数和偶数中心,向两边扩展统计不匹配对数,\(mis \leq 1\) 时累加答案,超过则提前终止,时间复杂度 \(O(n^2)\),空间复杂度 \(O(1)\)
洛谷 AT_abc470_d Inverse and Swap 普及 ⭐⭐⭐⭐ 双数组维护 + 延迟求逆 同时维护排列 \(a\) 和逆排列 \(b\),用 \(flag\) 标记当前模式,操作 \(2\)\(O(1)\) 翻转 \(flag\),交换操作根据模式同步更新双数组,时间复杂度 \(O(Q)\),空间复杂度 \(O(N)\)
洛谷 [[AT_arc061_a 数学公式]] 普及
洛谷 [[P1061 Jam的计数法]] 普及
洛谷 P1065 作业调度方案 普及 ⭐⭐⭐⭐ 模拟 + 贪心 按给定顺序安排每个操作,在对应机器的时间轴上找到最早的连续空闲段并插入,同时满足工件工序顺序约束,时间复杂度 \(O(m \times n \times ans)\),空间复杂度 \(O(m \times ans)\)
洛谷 [[P1076 寻宝]] 普及
洛谷 P1205 方块转换 普及 ⭐⭐ 矩阵变换 + 枚举验证 利用坐标映射公式依次验证旋转\(90^\circ\)/\(180^\circ\)/\(270^\circ\)、水平反射、反射后旋转、不变六种变换,第一个匹配的即为最小序号答案,时间复杂度\(O(n^2)\),空间复杂度\(O(n^2)\)
洛谷 P1465 序言页码 普及 ⭐⭐ 数位拆分 + 查表转换 + 桶统计 \(1 \sim n\)每个数字按千位、百位、十位、个位独立查表转换为罗马数字后拼接,用桶数组统计各字符总出现次数并按序输出,时间复杂度\(O(n)\),空间复杂度\(O(n)\)
洛谷 P1518 两只塔姆沃斯牛 普及 ⭐⭐⭐ 状态模拟 + 循环检测 逐分钟同步模拟农夫和牛的移动(前方可通行则前进否则顺时针转向),用六维数组标记位置和方向状态检测循环,相遇则输出时间否则输出0,时间复杂度\(O(160000)\),空间复杂度\(O(160000)\)
洛谷 P1786 帮贡排序 普及 ⭐⭐ 排序 + 模拟 先按帮贡排序分配职位(除帮主副帮主外),再按职位优先级、等级、输入顺序排序输出,时间复杂度 \(O(n \log n)\),空间复杂度 \(O(n)\)
洛谷 [[P2239 螺旋矩阵]] 普及
洛谷 [[P3799 小 Y 拼木棒]] 普及
洛谷 [[P7911 网络连接]] 普及
洛谷 P8183 Sleeping in Class 普及 ⭐⭐⭐ 枚举段数 + 贪心验证 枚举最终段数 \(i\)\(N\)\(1\),检查是否能划分为 \(i\) 个和为 \(\text{sum}/i\) 的连续子段,取最大可行段数后答案为 \(N - \text{maxn}\),时间复杂度 \(O(N^2)\),空间复杂度 \(O(N)\)
洛谷 P8898 Feeding the Cows 普及 ⭐⭐⭐ 贪心区间覆盖 分别对 GH 牛从左到右贪心扫描,为每头未覆盖的牛在其最远可达位置 \(i+K\) 种草,跳过覆盖范围 \(2K+1\),时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
洛谷 P8899 Reverse Engineering 普及 ⭐⭐⭐⭐ 多轮列冲突检测 + 行删除 模拟 if/else if/else 执行流程,每轮检查每列中 \(0\)\(1\) 的输出是否各自一致,一致则删除对应行,\(N\) 轮后仍有未删除行则输出 LIE,时间复杂度 \(O(N^2 M)\),空间复杂度 \(O(NM)\)
洛谷 P9015 Moo Route 普及 ⭐⭐⭐ 贪心模拟 \(A_i\) 视为链上每条边的剩余遍历次数,贪心保持当前方向,仅在剩余次数不足时掉头,构造出的路线拐弯次数最少,时间复杂度 \(O(\sum A_i)\),空间复杂度 \(O(N)\)
洛谷 [[P9750 一元二次方程]] 普及
洛谷 P9951 Swapity Swap 普及 ⭐⭐ 置换 + 周期取模 将两次区间反转看作一个复合置换,找到该置换的周期 \(T\),令 \(K \leftarrow K \bmod T\),再模拟剩余次数的反转操作即可,\(O(N \cdot T)\)\(T \le N!\) 但实际很小
洛谷 P9974 Candy Cane Feast 普及 ⭐⭐⭐ 模拟 + 剪枝 对每根糖果棒维护已吃底部 \(bottom\),逐头奶牛模拟吃糖过程,当糖果棒被完全吃完时立即跳出内层循环,时间复杂度 \(O(NM)\) 但剪枝后实际高效,空间复杂度 \(O(N+M)\)
洛谷 P14976 Photoshoot 普及 ⭐⭐ 模拟 + 局部更新 s[i][j] 存储以 (i,j) 为左上角的 \(K \times K\) 窗口和,每次单点更新 (r,c),只更新左上角在 [r-K+1,r]×[c-K+1,c] 范围内的窗口(最多 \(K^2\) 个),维护全局最大值,\(O(Q \cdot K^2)\)

普及+

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 [[AT_abc421_d RLE Moving]] 普及+
洛谷 P1013 进制位 普及+ ⭐⭐⭐ 模拟 + 推导 根据加法表推导字母到数字的映射(利用进位规律),验证所有加法项是否满足 \(k\) 进制加法,输出映射和进制 \(k\),时间复杂度 \(O(n^2)\),空间复杂度 \(O(n^2)\)
洛谷 P2867 Big Square 普及+ ⭐⭐⭐ 枚举对角线 + 几何推导 枚举任意两头J牛作为对角线端点,利用中点和向量旋转推导另外两个顶点,验证整数坐标、边界和障碍后更新最大面积,时间复杂度 \(O(J^2)\),空间复杂度 \(O(N^2)\)
洛谷 [[P7075 儒略日]] 普及+
洛谷 [[P7913 廊桥分配]] 普及+
洛谷 [[P8815 逻辑表达式]] 普及+
洛谷 P14977 Lineup Queries 普及+ ⭐⭐⭐⭐ 模拟 + 批量跳跃 利用移动规则的分段线性性质,在模拟中直接跳跃到下一次状态改变的时间点,正向查询从奶牛加入时刻推进到目标时刻,逆向查询从目标时刻反推回初始,时间复杂度 \(O(\log t)\),空间复杂度 \(O(1)\)

提高

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 [[P1039 侦探推理]] 提高

提高+

题目来源 标题 难度 星级 考察算法 一句话思路总结
洛谷 [[P2312 解方程]] 提高+
洛谷 [[P9754 结构体]] 提高+

来源:AtCoder

其他

题目来源 标题 难度 星级 考察算法 一句话思路总结
AtCoder [[AT_awc0002_a Organizing the Bookshelf]]
AtCoder [[AT_awc0002_b Fruit Sorting]]
AtCoder [[AT_awc0002_c Observing Plant Growth]]
AtCoder [[AT_awc0003_a Product Quality Evaluation]]
AtCoder [[AT_awc0003_b Line of Handshakes]]
AtCoder [[AT_awc0004_a Preparations Before Departure]]
AtCoder [[AT_awc0004_b Battery Level]]
AtCoder [[AT_awc0005_a Reward of Multiples]]
AtCoder [[AT_awc0005_b Updating the Report Card]]
AtCoder [[AT_awc0005_c Staircase-Shaped Flower Bed]]
AtCoder [[AT_awc0006_a Target Shooting Game]]
AtCoder [[AT_awc0006_b Efficient Quests]]
AtCoder [[AT_awc0006_c Air Conditioner Temperature Adjustment]]
AtCoder [[AT_awc0007_a Selection of Delivery Trucks]]
AtCoder [[AT_awc0007_b Laboratories That Can Collaborate]]
AtCoder [[AT_awc0007_d Investigation of Overlapping Advertisement Areas]]
AtCoder [[AT_awc0008_a Planting the Flower Bed]]
AtCoder [[AT_awc0008_b Buildings Visible from the Sea]]
AtCoder [[AT_awc0009_a Total Shopping Amount]]
AtCoder [[AT_awc0009_b Dungeon Exploration]]
AtCoder [[AT_awc0009_c Apple Harvest]]
AtCoder [[AT_awc0010_a Distributing Requests to Servers]]
AtCoder [[AT_awc0010_b Piano Practice]]
AtCoder [[AT_awc0010_c Mountain Hut Trails]]
AtCoder [[AT_awc0011_a A Walk Along the Cherry Blossom Trees]]
AtCoder [[AT_awc0011_b Creating Mosaic Art]]
AtCoder [[AT_awc0012_a Typhoon Damage Survey]]
AtCoder [[AT_awc0012_b Factory Quality Inspection]]
AtCoder [[AT_awc0013_a Path to the Target Score]]
AtCoder [[AT_awc0015_a Dot Product Calculation]]
AtCoder [[AT_awc0015_b First Alert]]
AtCoder [[AT_awc0015_c Matchup Card Combinations]]
AtCoder [[AT_awc0016_a Over Budget]]
AtCoder [[AT_awc0016_b Exam Preparation]]
AtCoder [[AT_awc0017_a Organizing the Bookshelf]]
AtCoder [[AT_awc0017_b Brightness of Street Lights]]
AtCoder [[AT_awc0018_a Round-Trip Patrol]]
AtCoder [[AT_awc0018_b Classroom Assignment]]
AtCoder [[AT_awc0019_a Number of Successful Applicants]]
AtCoder [[AT_awc0020_b Climbing to the Summit]]
AtCoder [[AT_awc0021_a Counting the Number of Successful Applicants]]
AtCoder [[AT_awc0021_b Scholarship Selection]]
AtCoder [[AT_awc0022_a Battery Level and Charger Arrival]]
AtCoder [[AT_awc0022_b Target Score for the Test]]
AtCoder [[AT_awc0023_a Chef's Break]]
AtCoder [[AT_awc0023_b Bus Tour]]
AtCoder [[AT_awc0024_a Comparing Test Scores]]
AtCoder [[AT_awc0024_b Spread of Rumors]]
AtCoder [[AT_awc0024_c Unique Seats]]
AtCoder [[AT_awc0025_a Passing Score]]
AtCoder [[AT_awc0025_b Warehouse Inspection Robot]]
AtCoder [[AT_awc0025_d Constellation Observation Tour]]
AtCoder [[AT_awc0026_a Announcement of Winning Numbers]]
AtCoder [[AT_awc0026_b Distribution of Jewels]]
AtCoder [[AT_awc0027_a Passing Criteria]]
AtCoder [[AT_awc0028_a Applause for the Successful Candidates]]
AtCoder [[AT_awc0028_b Harvest Interval in the Orchard]]
AtCoder [[AT_awc0029_a Calculating Part-Time Job Pay]]
AtCoder [[AT_awc0029_b Warehouse Inventory Management]]
AtCoder [[AT_awc0030_a Distribution of Sweets]]
AtCoder [[AT_awc0030_b Shopping List]]
AtCoder [[AT_awc0030_c Traffic Jam Report]]
AtCoder [[AT_awc0031_a Cooking Contest and Ingredients]]
AtCoder [[AT_awc0031_b Outstanding Score]]
AtCoder [[AT_awc0032_a Closeness of Fireworks]]
AtCoder [[AT_awc0032_b Package Delivery Schedule]]
AtCoder [[AT_awc0034_a Reception Processing at the Service Window]]
AtCoder [[AT_awc0034_b From Station to Station]]
AtCoder [[AT_awc0035_a Warehouse Inventory Management]]
AtCoder [[AT_awc0036_a Library Loan Management]]
AtCoder [[AT_awc0043_a Signal Attenuation]]
AtCoder [[AT_awc0044_a Refilling Water]]
AtCoder [[AT_awc0045_a Event Refund]]
AtCoder [[AT_awc0046_a Optimal Practice Partner]]
AtCoder [[AT_awc0047_a Temperature Changes on a Mountain Trail]]
AtCoder [[AT_awc0047_b Road Closure on a One-Way Street]]
AtCoder [[AT_awc0048_a Flipping Switches]]
AtCoder [[AT_awc0080_a Bomb Disposal Squad]]
AtCoder [[AT_awc0081_a Order Confirmation]]
AtCoder [[AT_awc0081_b Monster Slaying]]
AtCoder [[AT_awc0082_a Store Sales Calculation]]
AtCoder [[AT_awc0083_a Plant Growth Record]]
AtCoder [[AT_awc0083_b Choosing an Observation Deck]]
AtCoder [[AT_awc0085_a Tournament Elimination Round]]
AtCoder [[AT_awc0087_a Meeting on a Number Line]]
AtCoder AT_awc0088_a Bus Departure Time 直接模拟 线性扫描 \(N\) 个上车时间取最大值,加上延迟 \(K\) 分钟即为出发信号时间,时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
AtCoder AT_awc0089_a Correcting the Household Account Book 前缀和 + 增量更新 预计算总和后,每次操作将被置零的 \(A_{D_j}\) 从总和中减去并输出,利用 \(D_j\) 互异性避免重复处理,时间复杂度 \(O(N+Q)\),空间复杂度 \(O(N)\)
AtCoder AT_awc0098_a Error Analysis of Temperature Forecasts 直接模拟 遍历 \(N \times D\) 的气温矩阵,逐地点计算 $\sum_{j=1}^{D} \
AtCoder AT_awc0100_a Calculating Part-Time Job Pay 直接模拟 遍历 \(N\) 份工作,累加每份的时薪 \(A_i\) 与时长 \(T_i\) 的乘积得到总工资,时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
AtCoder AT_awc0100_b Cooking Contest 线性扫描找最大值 遍历 \(N\) 名参赛者,实时维护最高总分 \(A_i+B_i\) 及其编号,时间复杂度 \(O(N)\),空间复杂度 \(O(1)\)
AtCoder AT_awc0101_a City with Power Shortage 直接模拟 \(M\) 条线路的容量 \(W_j\) 分别累加到两端城市,最后统计 \(T_i < S_i\) 的城市数量,时间复杂度 \(O(N+M)\),空间复杂度 \(O(N)\)
AtCoder AT_awc0129_a Addressing Wedding Invitations 直接模拟 + 稳定分组 按头衔将 \(N\) 位参会者线性扫描分入 A/B 两组,先输出 A 组(sensei)再输出 B 组(san),组内保持输入顺序,时间复杂度 \(O(N)\),空间复杂度 \(O(N)\)
AtCoder AT_awc0130_a The Fate of the Vote ⭐⭐ 直接模拟 + 实时计数 mp 维护两方支持者人数,每场演讲翻转学生支持后检查是否有方归零,若归零立即输出演讲编号,时间复杂度 \(O(n+m)\),空间复杂度 \(O(n)\)

来源:学而思编程

语言基础

题目来源 标题 难度 星级 考察算法 一句话思路总结
学而思编程 冲刺信奥 语言基础 模拟 / 数学计算 先计算一周总做题量 \(s = 5a + 2b\),用 \(n / s \times 7\) 得到完整周数对应的天数,剩余不足一周的题量 \(n \% s\) 通过循环模拟周一至周日的做题过程(用数组 d[] = {a,a,a,a,a,b,b} 和模7循环取当天题量),直到累计超过剩余目标,总天数为完整周天数加最后模拟天数,时间复杂度 \(O(1)\)(最多7次循环),空间复杂度 \(O(1)\)
学而思编程 数字卡片 语言基础 模拟 用布尔数组标记出现的数字,遍历 \(1 \sim n\) 找到未出现的那个。

CSP-J集训

题目来源 标题 难度 星级 考察算法 一句话思路总结

CSP-S集训

题目来源 标题 难度 星级 考察算法 一句话思路总结

其他

题目来源 标题 难度 星级 考察算法 一句话思路总结

来源:其他

其他

题目来源 标题 难度 星级 考察算法 一句话思路总结
其他 徐老师的二进制加法 ⭐⭐⭐ 高精度二进制 + 进位链模拟 倒序存储二进制数,每次加 \(2^k\) 时模拟从第 \(k\) 位开始的进位链(连续 \(1\)\(0\) 直到第一个 \(0\)\(1\)),统计变化位数,时间复杂度均摊 \(O(1)\) 每次,空间复杂度 \(O(n)\)
其他 徐老师的阶乘计算器 直接模拟 按阶乘定义从 \(2\)\(n\) 累乘,初始化 res=1 自然覆盖 \(0!\) 边界,时间复杂度 \(O(T \cdot n)\),空间复杂度 \(O(1)\)
其他 徐老师的连续正整数和 ⭐⭐⭐ 数学推导 + 枚举优化 利用等差数列公式 \(n = i \cdot a + \frac{i(i-1)}{2}\) 枚举长度 \(i\),判断 \(n - \frac{i(i-1)}{2}\) 能否被 \(i\) 整除,时间复杂度 \(O(\sqrt{n})\),空间复杂度 \(O(1)\)
posted @ 2026-07-06 13:45  团爸讲算法  阅读(75)  评论(0)    收藏  举报