
知识点
文章平均质量分 59
出尘呢
广告位招租!
展开
-
瓶颈生成树与最小生成树关系的证明
百度百科终于良心易懂了起来qwq还是算导清楚啊w(゚Д゚)whttps://baike.baidu.com/item/%E7%93%B6%E9%A2%88%E7%94%9F%E6%88%90%E6%A0%91/2397900定义无向图G,G的瓶颈生成树是一棵 “ 树上最大边权值 edge 在G的所有生成树中最小 ” 的生成树,这样的生成树可能不止一棵。瓶颈生成树的值为树上最大边权值 edge最小生成树是瓶颈生成树的充分不必要条件。命题:最小生成树一定是瓶颈生成树。证明:可以采用反证法予以证明。转载 2021-07-14 02:14:13 · 880 阅读 · 0 评论 -
【C++string用法】B. Prinzessin der Verurteilung—— Codeforces Round #724 (Div. 2)
B. Prinzessin der Verurteilung【C++string用法】推荐!!这里用到的:a+=,push_back,pop_back,sort[],a.size(),a.find(),string::npos=-1注意://std::ios::sync_with_stdio(false);//这一句话,不能再scanf等,会错了#include<bits/stdc++.h>#ifdef LOCALFILE*FP=freopen("text.in","r"原创 2021-06-07 15:57:56 · 538 阅读 · 0 评论 -
快速傅里叶变换FFT及其延伸(只是一个引导)
快速傅里叶变换FFT及其延伸步骤步骤1. 通过蓝书初步了解FFT介绍概念直观理解重要性质举例:快速多项式乘法朴素的方法快速的方法优化方法快速傅里叶变换部分单位根快速多项式乘法具体步骤步骤2. 通过blog看懂FFT和NTTDFT前置知识&技能复数DFT(离散傅里叶变换)步骤通过蓝书初步了解FFT通过bloghttps://blog.youkuaiyun.com/enjoy_pascal/article/details/81478582/看懂FFT和NTT(%*10000——博主是初二写的oi健er!)原创 2021-05-30 00:26:34 · 801 阅读 · 1 评论 -
我的板子
板子:bellman-ford算法求最短路(判断负环)#include<bits/stdc++.h>#ifdef LOCALFILE*FP=freopen("text.in","r",stdin);//FILE*fp=freopen("text.out","w",stdout);#endifusing namespace std;#define _forplus(i,a,b) for( register int i=(a); i<=(b); i++)#define mem(原创 2021-05-23 08:14:40 · 266 阅读 · 0 评论 -
数据结构:堆手写
部分目录手写堆手写堆的存储手写堆的两个基本操作插入节点的原理求当前堆的最小值删除堆顶(最小值)删除任意一个元素手写堆的初始化板子:手写堆(我的)手写堆堆:堆中某个结点的值总是不大于或不小于其父结点的值;堆总是一棵完全二叉树。完全二叉树:如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。若将和此次序列对应的一维数组(即以一维数组作此序列的存储结构)看成是一个完全二叉树,则堆的含义表明,完全二叉树中所有非终端结点的值均不大于(或不小于原创 2021-05-19 22:40:25 · 276 阅读 · 0 评论 -
二叉树层序遍历,Trees on the level UVA - 122——紫书第六章例题和字符串新解
https://vjudge.net/problem/UVA-122Trees are fundamental in many branches of computer science (Pun definitely intended). Current stateof-the art parallel computers such as Thinking Machines’ CM-5 are based on fat trees. Quad- andoctal-trees are fundament原创 2021-05-16 22:21:59 · 183 阅读 · 0 评论 -
记忆化搜索DP:D - Explorer Space
Contest 2050 and Codeforces Round #718 (Div. 1 + Div. 2)D. Explorer Spacetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are wandering in the explorer space of the 2050 Conference.The explore原创 2021-05-03 11:42:04 · 176 阅读 · 0 评论 -
Educational Codeforces Round 108 (Rated for Div. 2)——vector用法以及不超时解法
C. Berland Regionaltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPolycarp is an organizer of a Berland ICPC regional event. There are n universities in Berland numbered from 1 to n. Polycarp know原创 2021-04-30 01:37:35 · 176 阅读 · 0 评论 -
动态树LCT(未完成)
动态树LCT大佬教程大佬配应用原创 2021-04-29 21:35:19 · 123 阅读 · 0 评论 -
树链剖分(未完成)
树链剖分一个大佬的教程原创 2021-04-29 21:34:29 · 123 阅读 · 0 评论 -
splay树(未完成)
splay树某谷大佬教程原创 2021-04-29 21:33:28 · 93 阅读 · 0 评论 -
树状数组(未完成)
树状数组容易看懂的教程原创 2021-04-29 21:32:28 · 89 阅读 · 0 评论 -
线段树(未完成)
线段树听说树链剖分在线段树上进行寒假学的,斌姐姐教的,快忘了,复习一下线段树参考博客线段树大佬模板:#include<cstdio>using namespace std;int n,p,a,b,m,x,y,ans;struct node{ int l,r,w,f;}tree[400001];inline void build(int k,int ll,int rr)//建树 { tree[k].l=ll,tree[k].r=rr; if(tree原创 2021-04-29 21:31:05 · 94 阅读 · 0 评论 -
使用 Tarjan 算法求解无向图的割点与桥(未完成)
部分目录前言前言来路不明是在试图找负权环时看到的这个算法这是一篇比较好的资料立个flag,五一学会原创 2021-04-29 20:57:52 · 108 阅读 · 0 评论 -
线段树,树状数组,树链剖分,动态树LCT(Link Cut Tree)(未完成)
部分目录前言线段树树链剖分动态树LCT平衡树前言本来只想学个LCT的因为我想快点找到最短路的负权环而过程中看到了各种各样的树现在就来一网打尽慢慢学立个flag,五一学完线段树听说树链剖分在线段树上进行寒假学的,斌姐姐教的,快忘了,复习一下线段树参考博客线段树大佬模板:#include<cstdio>using namespace std;int n,p,a,b,m,x,y,ans;struct node{ int l,r,w,f;}tree[400001原创 2021-04-29 20:54:30 · 84 阅读 · 0 评论 -
旅行商问题之状压DP——旅行商变体之贪心法——旅行商问题之思考&&比较遗传算法退火算法_——重新补最短路基础未完成—— A Journey to Greece
部分目录Unsolved 18 / 85 A Gym 100753A A Journey to Greece官方题解:TSP变体TSP问题——大名鼎鼎的旅行商问题解法方法1:状压DP法附:遗传算法的乌龙刚刚在上面发现一个新问题:状压DP不能保证每个点只走一次?那么有一个解决方法,如果要只经过一次的话,也就是只给状压经过,求最短路时不要经过(只不重复要参观的城市):我们是不是可以不重复所有的城市?(超时超空间,,解决,,可能要调数据范围AC)对于标准的TSP,我们是否可以不管重复不重复,只要走过所有点的最短原创 2021-04-29 20:44:33 · 1922 阅读 · 0 评论 -
最短路各方法总结&&变体思考(未完成)
部分目录Floyd算法多源最短路Floyd算法的抽象基础:Warshall算法最短路变体:走k步能到达的最短单源之Bellman-Ford算法关于找负权环单源最短路之SPFAFloyd算法多源最短路参考博客Dk-1[i][j]表示从i到j的中间点不大于k-1的最短路径p:i…j,哦,也就是我们把图给分裂开来,有多少对i,j就是分成多少图。在一个分图中,i到j开始没有中间节点。最外层for循环一次加一个中间节点k。第一次加k1,如果经过k1能使i到j变短,就变短了不管有没有短,都是在中间原创 2021-04-29 20:44:07 · 296 阅读 · 0 评论 -
重视自底向上思想的有力证明——Legacy Code
来源题解目录比赛linkUnsolved 19 / 80 H Gym 100753H Legacy Code题意应该是:操作中要有::PROGRAM至少一个才有用操作可以嵌套问有几个无用的操作Sample Input 12SuperGame::PROGRAM 0HelpPackage::HelpFunction 2HelpPackage::HelpFunction SuperGame::PROGRAMSample Output 10Sample Input 22Loop::C原创 2021-04-28 22:58:55 · 226 阅读 · 0 评论 -
二分图匹配匈牙利算法——学习与改进——Bounty Hunter II
34 / 134 B Gym 100753B Bounty Hunter II这道题我和队长是一起看过的,可是最后没有做出来,当时还讨论了很多情况,没想到最后在网上找到的题解的思路如此简单暴力。https://blog.youkuaiyun.com/weixin_30268071/article/details/96471391博主思路:在一个有向图中,求最少可以分人一条路径,是的每个路径的顶点都不重复。可以转换成求二分图最大匹配但是认真看了代码才知道,原来我弄不懂二分图。看到n~2n开始还笑为什么白开一段,是原创 2021-04-28 22:53:11 · 596 阅读 · 0 评论 -
Dijkstra算法&&SPFA算法&&A*算法——最短路&&次短路&&k短路——Change of Scenery
部分目录Solved 44 / 319 E Gym 100753E Change of Scenery我先恶补一下C++,大佬略过Dijkstra算法附一与队列有关的最短路算法:SPFA算法打印路径会长亲自说他是怎么算第二条的我认为可以简化改进分析一下会长的代码Dijkstra求次短路——开头许诺过的回来啦!删边法同时记录法——莫名有误A*算法求第k短路——会长说目前还是传说级算法来源题解目录比赛linkSolved 44 / 319 E Gym 100753E Change of Scenery我原创 2021-04-28 22:45:02 · 437 阅读 · 0 评论 -
恶补C++:重载&&手写堆&&结构体&&lower_bound()&&vector&&构造、析构函数&&set&&map&&pair&&stack
部分目录运算符重载C++ 函数调用运算符 () 重载我的经历关于this关于友元附:重载函数手写堆手写堆的存储手写堆的两个基本操作插入节点的原理求当前堆的最小值删除堆顶(最小值)删除任意一个元素手写堆的初始化板子:手写堆(我的)C++入门和STL入门C++结构体C++重载C++sort()和lower_bound()C++vector不定长数组紫书例题:木块问题手写可变数组构造函数,析构函数C++set集合C++map映射set,map共有的操作函数关于pair栈stack(队列因为讲过也用过就不讲了)运原创 2021-04-28 22:41:13 · 982 阅读 · 0 评论 -
坐标系一套
ljy大佬的方法蓝书上的方法,是ljy给的,整一个坐标系方法#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef long double ld;typedef unsigned long long ull;#define rint register int#define rll register ll#define pii pair<int, int>#define pl原创 2021-04-28 22:26:16 · 176 阅读 · 0 评论 -
数学:坐标系内叉乘求多边形面积&&减少误差——Cake
目录Attempted 20 / 137 C Gym 100753C Cake数学:坐标系内求多边形面积误差处理Attempted 20 / 137 C Gym 100753C Cake其实这是一道简单题,关键在于数学公式和误差缩小题意:凸多边形蛋糕太大了,要切为原来的a倍,按每个边的1/s处切,输出s,保证2 ≤ s ≤ 1000 ,允许10−4的误差输入0.875(剩余比例) 4(顶点数)0 0(各顶点坐标)8 08 40 4后来补题终于ac了,ac代码:#include&l原创 2021-04-28 22:17:17 · 479 阅读 · 0 评论 -
素数一套:Miller-Rabin 素性检验算法&&Pollard-Rho算法&&线性筛——Upside down primes&&Divisions
部分目录Solved 94 / 304 K Gym 100753K Upside down primes高效判断素数快速幂取模继续 Miller-Rabin 素性检验算法Unsolved 61 / 182 F Gym 100753F DivisionsPollard-Rho算法朴素的算法,试除法生日悖论伪随机数序列Floyd判环算法改进log n求最大因数关于template < class T> ,map和vector用法AC代码不需要以上算法的方法附:判断立方的方法附:线性筛Solved原创 2021-04-28 21:51:59 · 803 阅读 · 0 评论 -
template < class T> ,map和vector用法——恶补c++
部分目录template < class T> 是什么找到各素数因子map数组下用法map遍历map元素的默认值vector 用法template < class T> 是什么template < class T> 是什么即任意的数据类型,这里可以ll代替吧但是要T相同,我不得不写了((ll)1,n-1)找到各素数因子根据该函数功能,若返回它本身,即Miller_Rabin判断素数就让该因子的map ++用STL里的mapmap数组下用法来自https原创 2021-04-28 21:51:03 · 1175 阅读 · 0 评论 -
快速幂&&矩阵快速幂&&矩阵乘法&&传矩阵
快速幂取模参考博客讲的很好,引用一下但是有一个错误:我们的a^b%c运算就可以转化为(a^(bx*2^x)%c)*...*(a^(bn*2^n)%c)————外面少了个%c了。 并没有不需要%c就确定了该结果比c小 但是代码里改回来了原理正是:a^b%c=(a^(bx*2^x)%c)*...*(a^(bn*2^n)%c)%c————最后一个%c是各阶段都%c之所以能快速幂,是因为是指数式,底都一样大因为不断a加倍这个操作而一般的乘数为a[i],一般只能一个一个算int qui原创 2021-04-28 21:44:52 · 314 阅读 · 0 评论 -
ACM选修课——分治法
分治法概念例一:归并排序例二:二分搜索案例一:要点一:二分搜索要点二:识别空行案例二:交叉的梯子三分法求极值二分法求根此处透镜公式案例三:快速幂,求a^b^%c案例四:矩阵快速幂求斐波那契求后四位求前四位代码中传二维数组:输出小心:补0一般线性递推关系的A矩阵:概念分治法,字面意思是“分而治之”,就是把一个复杂的1问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并,这个思想是很多高效算法的基础,例如排序算法(快速排序,归并排序原创 2021-04-27 21:12:41 · 574 阅读 · 0 评论 -
acm选修课——贪心技术
acm选修课——贪心技术贪心技术简介案例1:桥案例2:安放雷达案例3:合并果子(相当于哈夫曼树,哈夫曼编码)案例4:判断一个数是否可以分解为阶乘和贪心技术简介局部解是最终解的一部分在这个基础上继续解更多的解优点:不用回溯,效率高案例1:桥POJ题目链接题意:有N个人过桥,每个人单独过桥花 t i 时间天黑要手电筒,他们只有一个手电筒这桥最多容纳两人同时过,取慢者的时间计求过桥最短时间(1 ≤ N ≤ 50) (ti are integers from 1 to 100).一道有名的原创 2021-04-21 02:38:58 · 343 阅读 · 2 评论 -
枚举法——acm课
暴力搜索,即枚举法。优点:可以把所有的解都搜索到缺点:时间效率不高案例1:假金币银行得知一堆金币里有一枚假金币,质量与正常金币不同,银行决定找出假金币。给n个金币,给定天平上称m次,第i次给出两侧相等的个数ai,左边ai个,右边ai个之后给出称量结果。问假金币是哪一枚。如果假金币是多枚或0枚,输出0。输入样例:5 32 1 2 3 4<1 1 4=1 2 5=枚举法:for(i=1;i<=n;++i){ //假设i为假 for(j=-1;j<=1;i+=原创 2021-04-13 21:15:38 · 429 阅读 · 0 评论 -
Software Bugs SPOJ - SOFTBUG
题目链接给一个字符串,输出的字符串中没有连续的"BUG"关键:次生"BUG",改了又有。法一、堆栈的应用:自建堆栈,理解原理,也管得更少效率更高#include<stdio.h>#define N 100005char STACK[N];int SP,i;void push(char c){STACK[SP++]=c;}char pop(){return STACK[--SP];}int main(){ char c; SP=0; while((c=getchar()原创 2021-04-06 21:36:20 · 130 阅读 · 0 评论 -
数组链表
链表太麻烦了acm一般用数组,简化链表静态链表int p[N],a[N];//p指针,a数据for(i=1;i<n;i++)p[i]=i+1;p[n]=1;//初始化p[i]=p[p[i]];//删去p[i]还有报数的一些注意:1,删掉的哪一个,就在前面一个停,为i,删p[i]2,刚开始时是i=n,则p[i]=1,算一次就是算1号,这才正确...原创 2021-04-06 20:44:14 · 119 阅读 · 0 评论 -
五种文件输入输出方式大总结
先介绍文件输入输出,要用到:模式描述“r”打开一个用于读取的文件。该文件必须存在。“w”创建一个用于写入的空文件。如果文件名称与已存在的文件相同,则会删除已有文件的内容,文件被视为一个新的空文件。“a”追加到一个文件。写操作向文件末尾追加数据。如果文件不存在,则创建文件。“r+”打开一个用于更新的文件,可读取也可写入。该文件必须存在。“w+”创建一个用于读写的空文件。“a+”打开一个用于读取和追加的文件。总结:规律r原创 2021-03-30 15:07:21 · 2960 阅读 · 0 评论 -
蒟蒻的python 学习笔记 ——北京理工大学嵩天mooc(有时间就看就更新,尽量让笔记容易懂,蟹蟹各位大神不吝赐教)
蒟蒻的python 学习笔记前言课一:python语言程序设计第一周:python 基本语法元素程序设计基本方法python 环境配置实例1:温度转换python程序语法元素分析前言版权声明:本文受CC BY-NC-SA 4.0知识产权协议保护(署名 — 非商业性使用 — 相同方式共享)除此以外,将本文任何内容用于其他用途时,须征得本文作者许可。(可csdn私信)笔记介绍:学习记录,蒟蒻一枚的,预计2个月内更完。作者特点:1.喜欢研究语法问题,可能有各种奇怪的想法,有的地方会尝试地很透彻(原创 2021-03-04 19:00:02 · 523 阅读 · 2 评论 -
time.h 全部使用举例
#include <time.h>#include <stdio.h> using namespace std;int main(){ clock_t start_t, end_t; double total_t; int i; start_t = clock(); printf("程序启动,start_t = %ld\n", start_t); printf("开始一个大循环,start_t = %ld\n", start原创 2021-02-26 02:03:51 · 407 阅读 · 0 评论 -
time(NULL)用法
time(NULL);就是返回从1970年元旦午夜0点到现在的秒数。time的返回值和其参数都能用来接收这个数值,效果是一样的。原创 2021-02-26 01:09:48 · 4774 阅读 · 0 评论 -
map的基本操作函数:
map的基本操作函数: C++ maps是一种关联式容器,包含“关键字/值”对 begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的迭代器 equal_range() 返回特殊条目的迭代器对 erase() 删除一个元素 find()转载 2021-02-15 22:58:36 · 253 阅读 · 0 评论