- 博客(15)
- 收藏
- 关注
原创 二分答案+图论 例题题解 c++
题目:传送门首先这题的 最短路 不一定是最优解,因为题目说是路径上最长的一条边的值最小。所以改良一个 BFS 求最短路(不就是接近SPFA吗)结合二分答案,求出结果。AC代码:#include<bits/stdc++.h>using namespace std;#define MAXN 50010#define RI register intint end[MAXN],value[MAXN],nxt[MAXN],head[MAXN];int q[MAXN],n,m,s,t,fr
2020-10-25 09:28:42 223
原创 离散化 例题题解 c++
题目:传送门离散化就是把这些坐标(一维二维都可以实现)排序,按照一定的方式标记,求区间覆盖。当然,也可以模拟,和 珂朵莉树。珂朵莉树可以区间赋值啊!!!转化一下就可以了。离散化AC代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define MAX 40001#define IL inline#define RI register int ll n,m=1,ans,c[MAX];int
2020-10-25 09:23:20 252
原创 c++ 求gcd的三种完美代码
gcd(x,y)指x和y的最大公约数三种求法分别为 位运算,高精度,优化的高精度。int gcd(int x,int y){ while(y^=x^=y^=x%=y); return x;}int gcd(int x,int y){ while(x!=y){ if(x>y) x=x-y; else y=y-x; } return x;}int gcd(int x,int y){ while(x!=y){ while(x&1==0)x>&g
2020-10-24 15:01:00 1248
原创 二分答案 例题 题解
话说今天是1024程序员节???和我这个中学生有关吗有,我要发表技术。题目:传送门二分先坐车的人下车的位置。code by lmrttxlanguage:c++#include<iostream>#include<cstdio>#include<cmath>double s,s1,s2,vren,vche,t1,t2,mid,a,b;int main(){ scanf("%lf%lf%lf",&s,&vren,&vche)
2020-10-24 11:31:12 174 1
原创 lca模板 c++
求树上的两个点的最小公共祖先的算法。void fill(){ for(int i=1;i<=29;i++) for(int j=1;j<=n;j++) f[j][i]=f[f[j][i-1]][i-1]; //f[i][j]表示i往上跳2^j层 } int lca(int x,int y){ if(depth[x]<depth[y]) swap(x,y); for(int i=29;i>=0;i--) if(depth[f[x][i]]>
2020-10-22 20:25:45 217
原创 2020 CSP 提高组+普及组 初赛 题目小结 第五期
又出一个啦1.下列哪些问题不能用贪心解决???A. 霍夫曼编码B.0-1背包C.最小生成树D.单源最短路径选B。A:用最优二叉树解决。B:只能用DP。不能贪心C:Prim是通过贪心求最小生成树的算法。D:额,常识。2.学生人数:%3=2,%5=3,%7=4.人数范围???50~60易得人数为53人。谢谢阅读,希望这一专栏可以帮助大家...
2020-10-12 12:21:41 807 1
原创 线性筛质数 题解 luoguP3383
线性筛,可以求出1~n之间的质数,储存在数组里。又名欧拉筛。题目传送门:做题去啊代码:lang:c++#include<bits/stdc++.h>using namespace std;#define RI register intinline int read(){ int s=0,w=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} while(ch>='0'
2020-10-12 12:14:04 157
原创 最小生成树模板题题解 c++
请先掌握一些最小生成树的知识题目传送门用克鲁斯卡尔算法,通过并查集合并两个节点和选择是否加边。代码 Lang:c++#include<bits/stdc++.h>using namespace std;#define RI register intinline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} whil
2020-10-12 07:58:38 202 1
原创 2020 CSP 提高组+普及组 初赛 题目小结 第四期
好东西1.广搜一定要用的数据结构答案:队列常识2.一个图,有n个结点和e条边,用邻接表储存,用深搜的时间复杂度是???答案:O(n+e)既然是用邻接表,那么,就是依次访问每一结点和边,即n+e3. …(二分图介绍)一个二分图有24个结点,那么它最多有几条边???答案:144首先将点集分为 24/2=12 的两部分,每部分的一个点向另一部分的每一个点连一条边,即:12*12=144 条还有后期,谢谢阅读...
2020-10-11 22:26:09 891
原创 2020 CSP 提高组+普及组 初赛 题目小结 第三期
来啦!!!我好像是全网第一个发的1.一个8分钟的视频,每秒播放24帧,每帧为一个2048*1024+32位的图片。请问这个视频占用多少空间?答案:90G2048 * 1024=2^11 * 2^10 = 2^2132位=4B2^21 * 4 B= 2^23 B=2^13 KB= 2^3 MB=8 MB每个图片8MB,共有 8 *60 *24 =11520张,则有 11520 * 8 MB=92160MB=90G这空间有点小啊2.链表特点:???选项忘了,答案是 不支持随机访问。为什么我选这
2020-10-11 18:39:05 2723 3
原创 2020CSP 提高组+普及组 初赛 题目小结 第二期
第二期来啦1.a,b,c,d,e,f.进栈,进栈,出栈,进栈,进栈,出栈。栈底是???选a简单的栈,模拟一下就行了,有手就行2.一个2048*1024+32位的图片,占用多少空间???8MB2048 * 1024=2^11 * 2^10 = 2^2132位=4B2^21 * 4 B= 2^23 B=2^13 KB= 2^3 MB=8 MB还有第三期,谢谢阅读...
2020-10-11 17:56:09 819
原创 2020CSP 提高组+普及组 初赛 题目小结 第一期
这是一篇好文章,小结了一些选择题,有提高组和普及组1.在44的表格里,选择两个格子,使它们不在同一列也不在同一行,有几种方法???选项忘了…答案:72组合数的计算:C(16,2)-4C(4,2)-4C(4,2)=120-46-4*6=72总的方法减去在同一列或在同一行,得到结果。2.是谁引入熵并开创信息论???A.欧拉 B.冯诺依曼 C. 香农 D.图灵选择C常识题还会有第二期的,谢谢阅读...
2020-10-11 17:47:49 1712
原创 如何卡爆SPFA
这是一个快乐的话题前置知识:SPFA求最短路老师说,如果把图搞得很长,很窄(有点像链或树的形状)SPFA的时间复杂度的常数(K,平均值为2)给搞得很大大常数乘上边数ESPFA爆炸了!!!所以推荐别用SPFA用弗洛伊德这个最快【嘻嘻】谢谢阅读...
2020-10-05 21:47:49 490
原创 c++ 快速输出 快写 int类型
inline void write(int x){ if(x>9)write(x/10); putchar(x%10+'0');}思路:递归,分解,用putchar以字符的方式输出,达到“快速”谢谢阅读
2020-10-05 21:38:20 592 1
原创 树的计数,与遍历有关的初赛知识
树的计数我们知道树有3种遍历通过遍历可以确定一棵树正文:已知先序序列和中序序列可确定一棵唯一的二叉树;已知后序序列和中序序列可确定一棵唯一的二叉树;已知先序序列和后序序列不能确定一棵唯一的二叉树。谢谢阅读我这个爽快人的博客!!!...
2020-10-05 20:14:11 164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人