摘要:
1.next_permutaion(a,a+n): 用于一个数组的全排列(从当前数组状况开始,所以要真正生成全排列之前先排序)。用法如下。 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int main(){ 5 int a[3]; 6 阅读全文
摘要:
预处理阶乘。纯板子,做一下保存。 #include <bits/stdc++.h> using namespace std; const int maxn=1e5+10; typedef long long ll; ll frac[maxn]; void get(int p){ frac[0]=1; 阅读全文
摘要:
2020牛客暑期多校训练营(第十场) D-Hearthstone Battlegrounds 题意: 酒馆战棋共有四种怪,规定亡语会出一个$1/1$的白板植物~~(不是两个)~~ : $1/ 10^9$的圣盾剧毒亡语 $1/ 10^9$的圣盾剧毒 $1/ 10^9$的剧毒亡语 $1/ 10^9$的剧 阅读全文
摘要:
涵盖知识点:思维、位运算、前缀和 比赛链接:传送门 A - Boboniu Likes to Color Balls 题意: 给定$r,g,b,w$四种颜色数量,每次操作可以选择$r,g,b$各一个然后变为三个$w$,问最后这些颜色能否组成回文。 题解: 偶数次改变的奇偶性同第一次,所以只要判断两种 阅读全文
摘要:
涵盖知识点:思维 比赛链接:传送门 A - Remove Smallest 题意: 每次选择两个相差$1$以内的数字删除较小的一个,若两数相等,则随机删除一个。问最后能否删到只剩一个数字。 题解: 排序一下观察是否连续即可。 Accept Code: #include <bits/stdc++.h> 阅读全文
摘要:
涵盖知识点:思维、dfs 比赛链接:传送门 A - Captain Flint and Crew Recruitment 题意: 构造$a,b,c,d$满足$a+b+c+d=n$且其中至少三个数字为两质数的积。 题解: 找到最小的三个两质数积为$6,10,14$。那么小于这三个数字的和的值均无法达成 阅读全文
摘要:
题目链接 找找规律就能看出来最后元组的结果在$k$任意取的条件下,$n$只要满足$n%k=0$或者$n%k=1$即可。那求的就是$\sum\limits_{\lfloor \frac \rfloor}+\sum\limits_{\lfloor \frac \rfloor}$。数论分块处理一下就行了。 阅读全文
摘要:
涵盖知识点:思维、数学 比赛链接:传送门 A - LCM Problem 题意: 找到一组$x,y$满足$l \le x < y \le r$且$l\le LCM(x, y) \le r$ 题解: 直接找两倍。 Accept Code: #include <bits/stdc++.h> using 阅读全文
摘要:
涵盖知识点:思维、博弈 比赛链接:传送门 A - Common Prefixes 题意: 构造$n+1$个字符串使得第$i$个和第$i+1$个字符串的最长公共前缀的长度为$a_i$ 题解: 一开始全a,后面随便改一改。 Accept Code: #include <bits/stdc++.h> us 阅读全文
摘要:
涵盖知识点:思维、dp 比赛链接:传送门 A - Common Subsequence 题意: 找串$a,b$的最短公共子序列 题解: 找一个相同的字母即可。若全不同则不存在。 Accept Code: #include <bits/stdc++.h> using namespace std; co 阅读全文
摘要:
题目链接 题目大意:把$1$到$n$总共$n$个数两两分组,要求分组尽可能多并且每组的$\gcd$都大于$1$。 做法大致就是先把所有的素数筛出来,然后先去除所有大于$\lfloor \frac{2} \rfloor$的素数。对于剩下来的素数对于他所有的倍数且尚未匹配的进行任意匹配,若个数为奇数,则 阅读全文
摘要:
题目链接 题目大意:初始给定一个$n$个点,$m$条边,费用全部确定的网络。要求对于接下来的$k$次询问,每次都给定所有边的容量为一个分数$\frac$。要求对于每一个询问计算从点$1$到点$n$跑大小为$1$的流的最小花费。 大致思路:因为我们事先知道了所有边的费用,并且后续所有边的最大容量全部相 阅读全文
摘要:
题目链接 造了一个最小费用最大流的板子,可根据需求小改,O2优化后可完全AC #include <bits/stdc++.h> using namespace std; class MinCostFlow { public: struct Result { int flow, cost; }; Mi 阅读全文
摘要:
题目链接 题意就是给定初始的图,每个点初始都各自属于一个组。然后每一次操作给定一个数字$k$,这次操作会将与组$k$中的任意一点相邻的点的对应组合并到组$k$中。最后求每个点的组编号。 既然是分组,那么利用并查集应该是很明确的,注意到一旦合并之后那么这两个组的关系就永远相同了,就算是变化的话也是一起 阅读全文
摘要:
题目链接 我是演员来的,比赛时候发现了长度为6,9,8的边都是唯一的,那么就只要找到6,8相交的那个点,将图形平移到交点在原点处,然后根据另两个端点的象限进行分类讨论,结果WA了。。挂了两发后面也懒得写了=。=慢慢补吧。至今没想清楚坑点在哪里。赛后发现只要求一下叉积判断正负就可以了。。几何题好久没写 阅读全文
摘要:
题目链接 保存一下dinic的板子 (不开longlong见祖宗) #include <bits/stdc++.h> using namespace std; const int INF=0x7fffffff; const int MAXN = 210,MAXM = 10010; namespace 阅读全文
摘要:
2020牛客暑假多校训练营(第二场)F-Fake Maxpooling 题意: 给定矩阵$A$,\(A[i,j]=\operatorname{lcm}(i,j)\)。求大小为$k\times k$的所有子矩阵中的最大值的和。 两次单调队列,第一次遍历所有的行,得到每一行中的一维最大值记录在数组$B$ 阅读全文
摘要:
涵盖知识点:思维、前缀和 比赛链接:传送门 A - Omkar and Completion 题意: 要求构造一个长度为$n$的数组满足任意两个数相加不等于第三个数 题解: 全$1$即可 Accept Code: #include <bits/stdc++.h> using namespace st 阅读全文
摘要:
涵盖知识点:思维 比赛链接:传送门 A - Matrix Game 题意: 两人博弈,依次在$01$矩阵中将某个$0$变为$1$,且该位置原本的行列中都不存在$1$。 题解: 记录行列中没有$1$的数量,取最小值判断奇偶性即可。 Accept Code: #include <bits/stdc++. 阅读全文
摘要:
涵盖知识点:暴力、模拟 比赛链接:传送门 A - Johnny and Ancient Computer 题意: 每次只能位移三位以内。不允许右移截断。问最少几次可以使$a$变为$b$。 题解: 不允许截断,所以乘除等价。贪心暴力。 Accept Code: #include <bits/stdc+ 阅读全文
摘要:
涵盖知识点:树上dp、树上博弈、二分 比赛链接:传送门 A - Odd Selection 题意: $n$张牌中选$k$张使得和为奇数 题解: 奇偶判断直接上代码。 Accept Code: #include <bits/stdc++.h> using namespace std; int main 阅读全文