
数学
bigstrength
记录学习的算法,以及好点的题
展开
-
ACM模板高斯消元
ACM模板高斯消元原创 2022-09-08 14:35:08 · 130 阅读 · 0 评论 -
Educational Codeforces Round 127 (Rated for Div. 2) C. Dolce Vita
C. Dolce Vita本题先预处理出所有商店糖果价格的前缀和sum[i],显然当金币的数量小于sum[i]则当天不能买到i个糖果,反之可以。所以我们还要预处理出b[i],表示前i个商店涨价后总价格最后小于x的天数,可以二分处理。答案的构成是当天没有涨价能买的糖果数量ans1加上后面慢慢涨价后能买到的数量ans2。显然, ans1是前缀和最后一个小于x的下标。ans2的计算:我们从后往前遍历数组b,然后定义一个变量r存b[i + 1],一开始r = 0,产生的贡献是当天可以涨价的天数减去后面一天涨原创 2022-04-23 10:52:09 · 424 阅读 · 0 评论 -
Educational Codeforces Round 127 (Rated for Div. 2) D. Insert a Progression
D. Insert a Progression思路:本题要发现只要插好1和x后,其余的数插到数组里面是不会产生贡献的。所以现在的问题转化为1和x怎么差产生的贡献最少?设原数组中最小的值为minminmin,最大的值为maxmaxmax。如果1==min1 == min1==min则可以把1放在最小值边上不会产生贡献,同理把x < max,也不会产生贡献。考虑 x>maxx > maxx>max 和 1<min1 < min1<min的情况:肯定能想到优先把原创 2022-04-23 10:33:54 · 687 阅读 · 1 评论 -
2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred
2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred)C. Connect the Points题意:给你三个点,让你添加若干条平行于xxx轴和yyy轴的线段,让这三个点在一个连通块上,问在所有的方案中,所有添加的线段长度最小的方案。思路:找到三个点横坐标大小位于中间的那个,令其为xm,找到纵坐标大小位于中间的那个,令其为ym,我们用平行xxx轴和平行yyy轴原创 2022-04-14 15:49:42 · 769 阅读 · 0 评论 -
2021-08-27
B. Duff in Love(分解质因数的应用)题意:给你一个n,找到n的最大约数x且满足不存在a(a > 1),使得x % (a * a)= 0思路:任何一个数都可以转化为n质数的m次幂的乘积,所以这题我们只要n分解质因数然后,将每个质因子取一次幂相乘即可。代码:#include <bits/stdc++.h>#define debug cout << "!!!!!!!!" << endl;#define pb push_back;#d原创 2021-08-27 15:39:22 · 133 阅读 · 0 评论 -
2021-08-21
D - Coprime 2题意:给你两个整数n, m,再给你n个整数a[i],问你在1 ~ m中(包括1和m)与n个整数的最大公约数都是1的数有几个,并输出。方法:本题可以用埃拉托斯特尼筛法(埃氏筛),筛出每一个 a[i]大于1的约数,并利用bool数组st标记,将其标记为true,再对每一个约数的倍数且不超过m的进行标记,把其标记为true,答案就是st[i]中为false的对应的下标。代码:#include <bits/stdc++.h>using namespace原创 2021-08-21 22:45:10 · 182 阅读 · 0 评论