
思维题
小匈许
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #606 (Div. 2) A ~ C
个人赛原创 2022-09-01 17:19:49 · 173 阅读 · 0 评论 -
AcWing 秋招每日一题 & LeetCode 768. 最多能完成排序的块 II
思维题:哈希 | 单调栈原创 2022-08-15 17:23:28 · 209 阅读 · 0 评论 -
Acwing - 每日一题 - 重新排列奶牛
题目 思路 其实可以看成 n 个点炼成一个环 5 -> 1 -> 2 -> 5,有多少个连通块,然后最长的连通块的个数,连接每个点可以用并查集来实现 AC code #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int N = 110; int n; int a[N], b[N]; int p[N];// 存储每个点的原创 2022-04-25 21:48:45 · 114 阅读 · 1 评论 -
D - Coprime 2「质因数分解」「思维」
题目 给出 n 个数和 m ,问0 ~ m 中,有多少是和给出的这n个数互质。 思路 可以把 n 个数的所有的质因数分解,然后存到数组里,然后用筛质数的方式把所有的数打表出来,然后循环一遍1 ~ m,如果没有标记的话,就说明当前的数与给出的 n 个数都互质,符合题意 AC code #include <cstdio> #include <vector> #include <cstring> #include <iostream> #include <al原创 2022-04-22 20:36:28 · 163 阅读 · 0 评论 -
ABC 217 E - Sorting Queries ( 优先队列 + 思维 )
题意: 三种操作: 在 A 序列的末尾添加一个元素 X 输出 A 中第一个元素并删除 对 A 序列进行排序 思路 首先,我们可以想到可以使用优先队列,但是不能只用优先队列,我们不能加入一个元素就直接压到优先队列里面去。 我们可以用数组模拟一个普通的队列,hh 表示队头,tt 表示队尾 可以进行一下操作: 一开始先将元素加入到普通的队列中,当我们收到的操作是排序的话,我们就将所有的元素全部压到优先队列里面,然后清空我们的普通队列,令 hh = tt = 0; 当我们排序之后我们收到删除第一个元素的操作之后原创 2022-04-14 20:57:40 · 183 阅读 · 0 评论 -
C. Delete Two Elements
题目连接 题目: 大意: 给了一堆整数,然后求出其平均值,然后在其中去除两个数,然后使这一堆数的平均值不变。 思路: 假设平均值为 k , 可以分为三种情况: 找不到两个数,使去掉这两个数之后使 k 不变; 找到两个数。 通过题意,我们可以得知,平均值 k 要么是 .5,要么是整数,因为给出的数组是整数,所以 选择两个数加起来之后(假设能选择的情况下)除于 2,要么是一半,要么是整数。 所以应该选择几对符合条件的数 ...原创 2021-10-22 19:12:28 · 583 阅读 · 0 评论