合集-补题
摘要:容斥原理 集合 \(S\) 的子集 \(A_1\) 有性质 \(p_1\) ,\(A_2\) 有性质 \(P_2\) , \(\dots\) , \(A_n\) 有性质 \(P_n\) 。 那么,集合 \(S\) 中具有性质 \(P_1,P_2,\dots,P_n\) 的集合个数为 \[\Big|\
阅读全文
摘要:codeforces 22 div2(喔被豹纱了) A 题目 签到题,利用set的互异性和自动排序就可以 代码 #include <bits/stdc++.h> using namespace std; int n,ip; set <int> s; int main(void){ ios::sync
阅读全文
摘要:codeforces 859 div4 A 题目 签到题,没有算法,纯if判断然后输出 代码 #include <bits/stdc++.h> using namespace std; int t,a,b,c; int main(void){ ios::sync_with_stdio(false);
阅读全文
摘要:codeforces 988 div.3 A 题目 找相同的数字,有点像天天爱消除,两个相同的数字就可以消掉,用个数组记录数字出现的次数就ok。这题数据很小,什么方法都行 代码 #include <bits/stdc++.h> using namespace std; int t,score,n,c
阅读全文
摘要:codeforces 993 div4 A 题目 给你一个n,问你有多少有序数对(a,b)满足a+b=n? 其实就是n-1 代码 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_with_stdio(fa
阅读全文
摘要:codeforces 995 div3 A 题目 贪心,要使m-s差最大化,就让每个大于零的ai-b(i+1 )相加,并加上a[n-1],就是最大值 代码 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_
阅读全文
摘要:codeforces 991 div.3 A 题目 字符串处理,题意大概是:给你一个数字,问你有多少个完整的单词的字母数之和不超过这个数字。很简单的字符串题,运用字符串的size()函数即可。 代码 #include <bits/stdc++.h> using namespace std; int
阅读全文
摘要:牛客寒假训练营1 大家都报了训练营呐,那我也报一个 v(虽晚不亏) 补一下之前的 A 题目 这题考察素数。由题目得,ai不超过1e9,因此如果给的数有1就输入-1(1和任何数都构成倍数关系),否则输出任意一个比1e9大的素数、 那比1e9大的素数怎么找呢? 新开一个cpp,用埃氏筛把这个数找到,是9
阅读全文
摘要:牛客周赛80 A 题目 签到 代码 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int x,y; cin >> x
阅读全文
摘要:牛客周赛81 A 题目 签到 代码 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int a,b,c; cin >>
阅读全文
摘要:牛客月赛 111 A 贪心,田鸡的最大的a比齐威王次大的v大,田鸡的次大的a比齐威王最小的v大就能赢 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_with_stdio(false); cin.tie(
阅读全文
摘要:牛客周赛84 续上周 D 赛时用的数学方法,花的时间和代码量比较多。差分我写得少,这里用题解的差分方法补个题 用差分数组对每个k区间做修改,然后求和以及相邻数字绝对值差对陡峭值的贡献即可 #include <bits/stdc++.h> using namespace std; const int
阅读全文
摘要:牛客周赛 85 A 签到 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int n; cin >> n; cout
阅读全文
摘要:牛客周赛86 A 签到 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int x,y; cin >> x >> y;
阅读全文
摘要:牛客月赛113 A 签到 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int sum = 1; string s;
阅读全文
摘要:本部蓝桥试炼 续上回 B 线段树板子,但奈何我现在没法手撕线段树哇(码太长了) 遂选择树状数组,但是--按理说树状数组(nlog2n)的复杂度是能过此题的,而且赛后题解里也说了树状数组能过,为什么才拿25分?? (后来发现问题了--忘记取模,唉) 题补就写线段树的吧 #include <bits/s
阅读全文
摘要:树形DP 首先是树的储存,树的储存是图的储存的特殊情况,可以用邻接表储存,或链式向前星 洛谷P2015二叉苹果树 定义状态dp[u][j]表示以节点u为根的子树上留 j 条边时的最多苹果数量。dp[1][q]就是答案。 状态转移方程:dp[u][j] = max(dp[u][j], dp[u][j-
阅读全文
摘要:CF1013 div3 给个题目链接,就不一题一题截图了:https://codeforces.com/contest/2091 F 比较好的思路:dp+前缀和 用u[i][j]表示从i-1排满足距离条件的点到点(i,j)的所有走法之和,状态转移方程为: u[i][j] = (prep[i-1][r
阅读全文
摘要:蓝桥杯15届国赛B 题目可以在官网https://www.lanqiao.cn/上查到 填空A 暴力找每个长度为8~16的子区间,然后判断是否满足条件即可 #include <bits/stdc++.h> using namespace std; int main(void){ ios::sync_
阅读全文
摘要:区间DP 以一道模板题目为例 石子合并 不能用贪心,会陷入局部最优解。用DP求解 定义dp[i][j]为合并第i堆到第j堆的最小花费 状态转移方程为: dp[i][j] = min(dp[i][k] + dp[k+1][j] + w[i][j]),i <= k < j,w[i][j]表示第i堆到第j
阅读全文
摘要:逆序对 最简单的求逆序对的方法:冒泡排序,时间复杂度$ O(n^2) $ 直接给无优化的代码,不解释了: #include <bits/stdc++.h> using namespace std; int a[10] = {3,5,7,9,2,1,4,6,8,10}; int main(void){
阅读全文
摘要:拓扑排序 拓扑排序不是对数字进行大小排序的那种排序,而是对一系列事物的顺序关系和依赖关系进行排序,属于图论。拓扑排序的排序结果通常不是唯一的。 一个图能进行拓扑排序的充要条件是它是一个**有向无环图(DAG) **。 拓扑排序需要用到点的入度(Indegree)和出度 (Outdegree) 入度:
阅读全文
摘要:基环树 基环树不是树,而是只有一个连通环的图,它有$ n \(个点和\) n $条边。 无向图上的基环树。在一颗基于无向图的无根树加上一条边,就形成了基环树。去掉环上任意一条边,基环树就变成了一颗真正的树 有向图上的基环树。一个有向无环图,如果能在图中加一条边形成一个自连通的环,则形成一颗基环树。把
阅读全文
摘要:ITA练习赛2 B 这道签到题我交了7发...... 最初把题目看成了任意两个元素互素,结果怎么提交都不对,就发现看错题了... #include <bits/stdc++.h> using namespace std; const int maxn = 1e5+5; int n,a[maxn];
阅读全文

浙公网安备 33010602011771号