4.7k 4 分钟

# 算法性 算法不等同于数学中的计算方法 # 算法特性 确定性 可行性 有穷性 输入 输出 # 评价算法优劣 正确性 可读性 健壮性 高效性 # 随机数 # 随机整数 randint(a, b) ,返回 [a, b] 的随机整数 randrange(a, b) ,返回 [a, b) 的随机整数 # 随机浮点数 uniform(a, b) ,返回 [a, b] 的随机浮点数 random() ,返回 [0, 1) 的随机浮点数 a + (b - a) * random() ,返回 [a, b) 的随机浮点数 # 循环 若要在 for...
963 1 分钟

对于比赛的评测,一般一秒能运行 5×1085 \times 10^85×108 次运算 数据范围 时间复杂度级别 适用算法 n≤30n \le 30n≤30 指数级别 dfsdfsdfs(剪枝)、状压 dpdpdp n≤100n \le 100n≤100 O(n3)O(n^3)O(n3) floydfloydfloyd、dpdpdp、高斯消元 n≤103n \le...
3.5k 3 分钟

# 填空题 # 1 握手问题 水 # 2 反弹问题 对于反弹问题,直接考虑较复杂,而将反弹过程展开,可以得到完整的若干个矩形拼起来。 C++123456void solve () { int a = 343720, b = 233333; int m = 1059, n = 1768; printf("%.2lf", sqrt(a * a * m * m + b * b * n * n) * 2);} # 编程题 # 1 好数 # 题目大意 求 1→n1 \to n1→n 中有多少个好数 #...
1.7k 2 分钟

# 基环树是什么? 基环树其实是图 给一棵树加上一条边,那么树就会产生唯一的一个环,这样的图就叫基环树 如果是森林,那么可以是多个基环树 # 基环树森林 # 基环树的性格(bushi 内 / 外向基环树其实都是有向图 # 内向基环树 每个点的出度都只为 111,且环外点指向环内点 # 外向基环树 每个点的入度都只为 111,且环内点指向环外点 # 例题 # Directed Roads # 题目大意 有 nnn 个点和 nnn 条边,第 iii 条边连接了 iii 点和 aia_iai​...
2k 2 分钟

# C # 题目大意 给你一个无向图,问要删除多少条边才能使得图中不存在环? # 题解 考察并查集的题目,对于新进的一条边 如果两个端点在一个集合中,则这条边需被删去 如果不在,则是有效边 计算被删去的边的数量即可 C++123456789101112131415161718192021222324252627int n, f[N], m, a, b;int find(int x) { if (x != f[x]) f[x] = find(f[x]); return f[x];}void solve () { cin...
843 1 分钟

# A 填空水题,算天数,答案是 33149 # B 感觉不应该是水题啊?但是暴力算出来就是 45 ,数据弱? C++12345678910111213141516171819202122int getI(int x, int n) { int t = pow(x, n); while (t / 10 != 0) t /= 10; return t;}map<int, bool> mp;void solve () { for (int i = 1; i <= 27; i++) {...
460 1 分钟

# 埃氏筛 时间复杂度 O(N⋅log(log(N)))O(N·log(log(N)))O(N⋅log(log(N))) C++1234567void init(int n) { notPrime[1] = 1; for (int i = 2; i * i <= n; i++) if (!notPrime[i]) for (int j = i * i; j <= n; j += i) notPrime[j] = 1;} # 线性筛(欧拉筛) 埃氏筛在筛的过程中,合数会被重复筛到,引入线性筛(欧拉筛),可以在...
3.9k 4 分钟

# B # 题目大意 给定 nnn 个数 (a1,...,an)(a_1, ..., a_n)(a1​,...,an​),再给一个教练需要的团队最小实力 xxx 一个团队的实力定义为: 团队人数 * 团队中的最小实力 ,如果这个团队的实力 ≥x\ge x≥x,那么就可以组一只队伍 问:最多能组成多少队 # 题解 排序之后,倒着找就好了 对于单人实力 ≥x\ge x≥x 的,单人组队 反之,慢慢往前组队,直到实力 ≥x\ge x≥x 位置 C++123456789101112131415161718192021void solve () { int...