- 博客(38)
- 问答 (1)
- 收藏
- 关注
原创 tarjan算法(相关概念、Tarjan求最大强连通分量、割点、求桥、缩点)
无向图 G 的最大连通子图称为 G 的连通分量。注:这里的最大连通子图的含义为:此图为 G 的连通子图,将 G 的任意一个点加到盖子图中之后,此子图将不再连通。比如这一张图中,很显然,我用三种颜色圈起来的部分都是原图的连通分量。(其实可以十分形象的理解成每一个连通分量都是一个连通块)回想到以前的“亲戚”一题,就是让我们去求在这个无向图中,询问的两个点是不是在同一个连通分量中。值得注意的一点,一个连通图的连通分量就是他本身。
2023-07-09 13:15:47
1657
1
原创 斗地主题解(c++)
以下是斗地主的规则:发完牌后三人依次叫牌,可叫1分、2 分、3 分或不叫,所叫的分数称为底分,分数叫的高赢的多,输的也多。叫完后叫分最高者为地主,然后开始打牌,若地主获胜则地主得到 2倍的底分,其余两家农民各输掉一份底分;小X一向认为身边人和自己一样的厉害,他坚信你和他一样有未卜先知的能力,他在他们玩完斗地主后,告诉了你他们的最终得分,希望你猜出他们最少玩了几局牌?这题十(hen)分(nan)明(kan)显(chu)明是个广搜,但如果想到是广搜后就易如反掌了。所以代码就出炉了,哈哈哈!很简单,就是一个模板。
2022-08-31 15:52:41
866
2
原创 差分数组(超详细)
先从一到题入手:数列游戏:给定一个长度为n的序列:首先进行x次操作,没下次操作在Li和Ri这个区间加上一个数Ci然后进行y次询问,每次询问Li到Ri的区间和。初始序列都为0。(数据较大)这明显是一道线段树裸题!但有没有其他更加简便的解法?...
2022-08-30 20:55:15
1126
原创 贪心习题A:找零钱
找零钱问题提示样例解释97=50+20+20+5+1+1,共6张纸币0≤n≤1000看到这道题后,我告诉你可以用贪心来做:贪心思想:贪心算法就是:贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。简介步骤见贪心算法是什么。我们看这个样例,可以发现是在可以取大的钱时,尽量取大的。我......
2022-06-21 18:21:17
617
转载 奇数平方和
用小号写的文章,转载一下(超详细)自创公式,谢绝抄袭!!!(求你们了)先看一下我们研究的东西:(n是项数)我们可以先把他转化成如下形式:根据我们又可将原式转化成下面的样子:再拆开:和一些:我们把每一节这样分一下:把每一部分相加:第一部分:第二部分:第三部分:第一部分化简:通过可知上式可化简为:拆括号:继续拆+化简分数:结合一下:第二部分:n第三部分:通过(当然这东西是个人都知道)可推出...
2022-05-28 11:28:40
450
1
转载 经典中的经典算法:动态规划(详细解释,从入门到实践,逐步讲解)
动态规划的重要性就不多说,直接进入正题首先,我们看一下官方定义:定义:动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。基本思想与策略编辑:由于动态
2022-05-25 20:04:41
41951
13
原创 【例4-4】最小花费
#include <bits/stdc++.h>using namespace std;double g[10001][10001],f[10001],v[10001];int n,m,x,y,z,s,e;int main(){ // Dijkstra :// 用来计算一个源点到其他所有点的最短路径算法。// 描述:设起点为s,d[v]表示从s到v的最短路径,p[v]为v的前驱结点,用来输出路径。// 初始化:d[v]=∞(v!=s);d[s]=0,ps[s]=0;.
2022-03-19 07:36:51
266
原创 详细SPFA算法模板
#include<bits/stdc++.h>#include<queue>using namespace std;int head[101],f[101],d[101];//head是每次的起点,f标记走过没有,d表示路径长int n,m,t;//n表示节点数,m表示边数,t用来记录下标struct node{ int pre,next,w;//到达的节点,下一个节点,值 }a[101];queue<int> q;void spfa(){ for.
2022-03-16 20:40:44
170
原创 “1342:【例4-1】最短路径问题”解析
1342:【例4-1】最短路径问题时间限制: 1000 ms 内存限制: 65536 KB提交数: 16118 通过数: 7288【题目描述】平面上有n个点(n<...
2022-03-15 20:10:29
130
原创 基础floyd算法
#include<bits/stdc++.h>using namespace std;int g[1001][1001];int main(){ int n,m; scanf("%d%d",&n,&m);//n组关系,m条边 for(int i=1;i<=n;i++) { int x,y,z; scanf("%d%d%d",&x,&y,&z); g[x][y]=g[y][x]=z;//标记x,y的权值是z g[i.
2022-03-15 19:56:00
360
原创 A+B Problem的六种解法
我终于可以写一篇这么难的题解了!!!#include<bits/stdc++.h>using namespace std;int main(){ int a,b; cin>>a>>b; cout<<a+b; return 0;}我只认为不用jie's第二种解法(高精度):#include<bits/stdc++.h> using namespace std;char a1[1000]
2022-02-19 15:49:30
4069
6
原创 非常“简单”地公式
大家先来看一个“简单”的公式:,他十分的简单,对吗?只是椭圆形的周长近似值。在接受下一个公式前,我先吟诗一首:看到你时总是感觉清风徐徐,本以为和你相识不会是偶遇, 奈何你犹如过客、化作秋雨,只是经过我生命的一瓢柳絮,从不会真正有童话似的结局.我静静地写尽这些躁言丑句,本以为可以稍稍地缓解抑郁.却是徒增一场悲伤的脑补剧.你问我为什么说这么多?因为这公式是月牙形面积.温馨提示:有长度恐惧症的马上退出!!!上:b:第一个圆形的半径w:第
2022-01-13 19:11:47
165
空空如也
关于#解方程#的问题,如何解决?
2022-01-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人