摘要: 思路 观察下图: 红色箭头代表枚举顺序。 我们4次枚举 $x,y$,依次判断 $x,y$ 是否满足图中的四个条件。 注意左下-右上的箭头对于下标是逆序的,枚举时要注意。 代码 #include <iostream> #include <algorithm> using namespace std; 阅读全文
posted @ 2021-07-14 19:31 Sk_sync_closer 阅读(56) 评论(0) 推荐(0)
摘要: 思路 枚举每个位置。 如果能和前面接上(和前一项相等)就累计长度,更新最大值。 否则把长度重置成1,继续枚举。 代码 #include <iostream> #include <algorithm> using namespace std; int n, k, t = 1, s, a[101]; i 阅读全文
posted @ 2021-07-14 18:56 Sk_sync_closer 阅读(69) 评论(0) 推荐(0)
摘要: 思路 定义数组 $cnt,cnt[i]$ 表示 i 的出现次数。 枚举一遍原数组,统计每个数出现的次数。 然后从 0 到 fmax 遍历 cnt,输出从 0 到 fmax 每个数的出现次数。 代码 #include <iostream> #include <algorithm> using name 阅读全文
posted @ 2021-07-14 18:43 Sk_sync_closer 阅读(82) 评论(0) 推荐(0)
摘要: 思路 排一遍序,找出最大值和最小值,累加剩下的值。 平均值即为累加值$/n-2$。 再用平均值依次减所有有效值,找到差的绝对值的最大值。 代码 #include <iostream> #include <algorithm> #include <cmath> #include <cstdio> us 阅读全文
posted @ 2021-07-14 18:35 Sk_sync_closer 阅读(174) 评论(0) 推荐(0)
摘要: 思路1 升序排序,最后一项即为最大值,记录 遍历数组,累加所有与记录的最大值不同的元素 代码1 #include <iostream> #include <algorithm> using namespace std; int n, a[101], s, x; int main() { cin >> 阅读全文
posted @ 2021-07-14 18:13 Sk_sync_closer 阅读(100) 评论(0) 推荐(0)
摘要: 思路 定义 bool 数组 $a,a[i]$ 表示第 $i$ 个灯是否关闭。 从 $1$ 到 $n$ 枚举每个人,对于每个人,枚举倍数。 令人数$×$倍数 $≤ n$,再修改 $a[$ 人数 $×$ 倍数 $]$ 的状态。 代码 #include <iostream> using namespace 阅读全文
posted @ 2021-07-14 18:04 Sk_sync_closer 阅读(105) 评论(0) 推荐(0)
摘要: 思路 用一个map<string,int>存每个人的总得分 用一个pair<string,int>数组存每回合的情况 找出最高总得分后,再建一个map<string,int>模拟每回合 如果过程中发现有人已经到达最高分,而且总分是最高分,输出这个人的名字 代码 #include <iostream> 阅读全文
posted @ 2021-07-14 17:22 Sk_sync_closer 阅读(35) 评论(0) 推荐(0)
摘要: 思路 输入每个病人的年龄后,判断属于哪个年龄段,累加每个年龄段的人数。 最后用每个年龄段的人数 ÷ 总人数 × 100 输出即可。 注意 printf 输出一个百分号是printf("%%"); 代码 #include <iostream> #include <cstdio> using names 阅读全文
posted @ 2021-07-14 17:16 Sk_sync_closer 阅读(70) 评论(0) 推荐(0)
摘要: 思路 因为 $ax+by=c$,所以 $ax=c-by$。 又因为 $by≥0$,所以 $ax≤c$。 同理 $by≤c$,枚举范围内所有 $x,y(0 ≤ ax,by ≤ c)$ 代码 #include <iostream> using namespace std; int a, b, c, an 阅读全文
posted @ 2021-07-14 17:07 Sk_sync_closer 阅读(42) 评论(0) 推荐(0)
摘要: 队列模板题,容易出各种玄学错误 这题需要用到的$STL$芝士: list<int> l:建立一个元素为int的链表 l.push_back(n):在l的末尾加入n 设it为list的迭代器 next(it):it后面的迭代器 l.insert(it,n):在it前面加入n,返回插入的新元素的位置 l 阅读全文
posted @ 2021-07-14 15:51 Sk_sync_closer 阅读(36) 评论(0) 推荐(0)