求置顶谢谢
如果正在看题解的你是一个帅帅的大男孩或者美美的大女孩或者老师就给我点一个赞,谢谢。
T1:求和
题目链接
个人难度:红 中
题目大意:
给你一个长度为 N(1≤N≤105)N(1\le N \le 10^5)N(1≤N≤105) 的数组 AAA,满足 1≤Ai≤1091\le A_i \le 10^91≤Ai ≤109。求出所有以0 或者5结尾的 AiA_iAi 的总和。
题目分析:
打表发现满足条件的数依次是5,10,15,20,25......
不难发现这些数字的共同特点为都是5的倍数,即取余5等于0。
所以满足条件的数累加即可。
易错点:
最大的满足条件的数是 10910^9109,而 NNN 最大是 10510^5105,那么最大的结果就是 109×10510^9\times 10^5109×105,会超过 int 的范围,所以需要使用 long long
代码实现:
时间复杂度:O(N)O(N)O(N)
T2 字符串价值
题目链接
个人难度:红 上
题目大意:
给定字符串 S(1≤∣S∣≤106)S(1\le |S| \le 10^6)S(1≤∣S∣≤106),每个字母的价值是这个字母在 SSS 中出现的次数 ×\times× 这个字母的 ACSIIACSIIACSII 值。
代码实现:
别问为什么没有分析,因为99%的人做法都一样
时间复杂度:O(∣S∣)O(|S|)O(∣S∣)
T3 数位和
题目链接
个人难度:橙 下 实际难度:红 上
题目大意:
给定两个日期 A,BA,BA,B,日期 AAA 是 y1−m1−d1y1-m1-d1y1−m1−d1,日期 BBB 是 y2−m2−d2y2-m2-d2y2−m2−d2。 计算从日期 AAA 到日期 BBB 所经过的每一个日期有几种不同的数位和。
如 2024−12−012024-12-012024−12−01 的数位和是 2+0+2+4+1+2+0+1=122+0+2+4+1+2+0+1=122+0+2+4+1+2+0+1=12, 2024−11−022024-11-022024−11−02 的数位和是 2+0+2+4+1+1+0+2=122+0+2+4+1+1+0+2=122+0+2+4+1+1+0+2=12,他们就是相同的数位和。
题目分析:
其实这题真的没有什么好说的,你们自己看吧。
易错点:
1.2月29日的判断
2.别漏掉最后一天
代码实现:
可能会有点乱,见谅。
时间复杂度:反正不超时就对了OvO
T4 减少荒地开垦
题目链接
前话:
看着好熟悉,疑似2025 GESP 三月份 四级编程题真题
个人难度 橙 中
题目大意
给定 N×MN\times MN×M 的网格土地,定义一块土地可以开垦当且仅当这块土地自身以及上下左右都没有杂物。杂物用#表示,空地用.表示。
可以在一个地方放上杂物,求最后最少的可以开垦的土地数量。
题目分析:
开个 visvisvis 数组,vis[i][j]=0vis[i][j]=0vis[i][j]=0 代表 (i,j)(i,j)(i,j) 可以开垦,vis[i][j]=1vis[i][j]=1vis[i][j]=1 代表 (i,j)(i,j)(i,j) 有杂物,vis[i][j]=2vis[i][j]=2vis[i][j]=2 代表 (i,j)(i,j)(i,j) 虽然没有杂物但是也不能开垦。
然后依次遍历每一个地方,计算在这里放一个杂物可以可以减少几个能开垦的地方。
代码实现:
时间复杂度:O(NM)O(NM)O(NM)
赞赞,谢谢。