题解 AT_code_festival_final_e 常ならずグラフ 思路 我们直接从开始暴力枚举,每三个算一次。 如果这三个不构成波浪,那么我们就需要将答案减一,即剔除掉这个数。这个时候,我们就需要把这前一个数给赋值到这个数,这样的话就可以与剔除的前一个数进行比较。 AC 代码 (人生苦短,我用 Python) 1234567891011n = int(input())a = list(map(int,input().split(" ")) 2023-08-03 洛谷题解 #OI #题解
题解 AT_nikkei2019ex_e コラッツ問題 又来刷水题了,题目传送门。 思路 看这个递推函数 f(x)f(x)f(x),它像什么? 角谷猜想是说给定一个正整数 xix_ixi,进行如下操作: {xi+1=xi÷2xi is evenxi+1=3xi+1xi is odd\begin{cases} x_{i+1} = x_i\div2\quad x_i\rm\ is\ even\\ x_{i+1} = 3x_i+1 \quad x_i \ 2023-06-25 洛谷题解 #OI #题解
题解 AT_pakencamp_2020_day1_c 皆勤賞 思路 Python 中有一种变量类型叫做字典,与 C++ 中的 map 非常相似。字典类型有一个特点:对于一个键 key,都有其对应的值 value。这就说明字典就如同一个花名册一样,一个名字对应一个信息。 这道题循环即可。但为了优化节省时间,我们只需要把第一天输入的名字存入字典中即可,因为后面输入的不可能获得全勤奖。而这就需要一个函数叫 get。 1dic.get(key[,value]) 这 2023-06-16 洛谷题解 #OI #题解
题解 UVA11661 Burger Time? 题目大意 有一个字符串,由 .,R,D,Z 组成。如果字符串中有 Z 则输出 0,否则输出所以 R 与 D 之间距离最小的距离数值。 思路 判断字符串中有没有 Z 是很容易的,重要是找到 R 与 D 距离最小的数值。 我们可以模拟输入数组,从头开始循环。如果输入的是 R 则设置 rpos 为当前所在位置;如果输入的是 D 则设置 dpos 为当前所在位置。相邻的两个 R 和 D 的距离必然是相 2023-06-16 洛谷题解 #OI #题解
题解 AT_past202004_e 順列 思路 按照题意模拟即可。 对于每次按按钮,我们只需要设置一个新变量并且比较即可。 需要注意的有以下几点: 结果 ansansans 的值需要加 111,你可以将其初值设置为 111。 ansansans 需要在每次循环后重新赋初值。 你需要每次循环设定一个新变量 b=a[i],这样的话就不会影响数组原来的样子。 每次输出之后要加空格而不是换行。 AC 代码 12345678 2023-06-16 洛谷题解 #OI #题解
题解 AT_jag2017summer_day1_d くさかべ 题目大意 有一直角三角形 △ABC\triangle ABC△ABC,其中 BBB 是直角边。在 ABABAB 上找一点 PPP,连接 CPCPCP,又在 ACACAC 上找一点 QQQ 后连接 PQPQPQ,使得 ∠APQ=∠BPC\angle APQ=\angle BPC∠APQ=∠BPC。若已知线段 ABABAB 的长度为 XXX,线段 BCBCBC 的长度为 YYY,线段 AQAQAQ 2023-06-16 洛谷题解 #OI #题解
题解 AT_cpsco2019_s1_d Dessert Planning 思路 这道题暴力肯定是过不去的,所以我们要进行优化。虽然蒟蒻不会什么矩阵快速幂,但是会找规律。 根据样例,当 n=1n=1n=1 和 222 时,方案数分别为 888 和 404040。接着我们可以写一些简陋的枚举代码计算 n≥3n\ge3n≥3 时的方案数,然后你就会得到下面的结果: n=1n=1n=1 时,有 888 种方案。 n=2n=2n=2 时,有 404040 种方案。 2023-06-15 洛谷题解 #OI #题解
题解 AT_bcu30_2019_qual_a Bullet of Flame 思路 额,一道很水的题,是暂无评定可惜了…… 我们只需要循环每次输入后判断能量是否为负。如果为负,则输出目前进行的操作数减 111(因为这一次操作不可能打穿墙壁,需要减掉这一次)即可 return 0; 收官。如果全部打穿,即循环后没有结束代码,输出 NNN 的值即可。 AC 代码 1234567891011121314151617#include<bits/stdc++.h>us 2023-06-15 洛谷题解 #OI #题解
题解 UVA10784 Diagonal 蒟蒻又来水题解啦! 思路 题目大意如下: 给定你一个数 NNN,求最小的 nnn 使得 nnn 边形的对角线总数不小于 NNN。 首先我们需要知道一个正 NNN 边形最多有几个对角线。 对于一个正 NNN 边形,我们先选择一个点,有 NNN 种选法。此时要找到一个对角线,不能取这个点,也不能取相邻的两个点,则还有 N−3N-3N−3 种选法。又由于可能选重复,则需要将结果除以二。所以我们得到了如 2023-06-15 洛谷题解 #OI #题解
题解 UVA10101 Bangla Numbers 思路 这题可能是我写过最崩溃的一道题了…… 这道题本质上就是相当于给数字分段,分成个十百千位的形式。 刚开始用 string 写的,想法是从第一位暴力枚举到第十五位。但是当我用 uDebug 检查输出的时候发现有如下几个问题: 如果出现输出 000 的情况,对于暴力枚举可能不太友好。 洛谷 UVA 的样例输出一般都不太友好,如果你看 uDebug 的话会发现前面有空位的。 所以我的推 2023-06-15 洛谷题解 #OI #题解