- 2024-11-19code
快速排序代码https://www.acwing.com/problem/content/description/787/voidQuickSort(intq[],intlow,inthigh){//递归的终止情况if(low>=high)return;//第一步:分解为子问题intpivot=q[low+high>>1],i=low-1,j=high+1;
- 2024-11-18【Stable Diffusion】文生图超详细参数使用技巧和方法推荐
Ai出图最基本的就是文生图,拿写实类方向来说,可以生成很多逼真的Ai作品,足够让人惊艳了。2张图像都是用SD生成的,底模用的是麦橘大神新发布的V7写实模型,lora还搭配使用了麦橘大神发布的花田错stablediffusion整合包以及更多模型插件,可以扫描下方,免费获取今天我想来一期
- 2024-11-16Living-Dream 系列笔记 第86期
边双连通分量概念:若在无向图\(G\)中,存在一个极大子图\(G'\),使得\(G'\)中没有割边,则称\(G'\)为\(G\)的一个边双连通分量,记作\(\texttt{E-DCC}\)。使用场景:将无向图转化为一棵树(即无向图上的缩点)。求解步骤:确定割边,再遍历所有点且不经过割边,那么能联通的点都是即在同一
- 2024-11-16[Tricks-00003]CF1989F 套路叠加,高级分治
先说一个简单问题:给定一个\(n\timesm\)的黑白网格图,每次可以将一行或者一列染成同一种色,判断是否能到达?经典做法:倒过来考虑,每次将颜色全相同或为*的一行全染成*,判断是否可以将这张图染成全*。经典网格图转二分图,如果\(s_{i,j}='W'\)则将\(i\)向\(j'\)连一条有向边,否
- 2024-11-14CF1835F Good Graph
小清新图论题。题目大概说了个关于hall定理的东西,不多赘述了。先处理NO,这是好处理的,在跑匈牙利的时候如果失配那就把增广到的点集输出即可。然后处理YES,注意到两个紧密的集合合并还是紧密的集合。那么我们考虑对每个左部点\(u\)找到最小的包含他的紧密的集合\(S_u\),这个
- 2024-11-14[LeetCode] 1385. Find the Distance Value Between Two Arrays
Giventwointegerarraysarr1andarr2,andtheintegerd,returnthedistancevaluebetweenthetwoarrays.Thedistancevalueisdefinedasthenumberofelementsarr1[i]suchthatthereisnotanyelementarr2[j]where|arr1[i]-arr2[j]|<=d.Exampl
- 2024-11-13[题解]P3119 [USACO15JAN] Grass Cownoisseur G
P3119[USACO15JAN]GrassCownoisseurG显然我们可以先跑强连通分量,由\(x\)个点缩成的新点\(u\)权值为\(v[u]=x\)。下文中的节点\(1\)均表示缩点后节点\(1\)所在的节点。我们在缩点后的DAG上跑拓扑排序,预处理出\(fa[i]\)和\(fb[i]\),分别表示“\(1\)到\(i\)路径的点权和”,“\(i
- 2024-11-13[题解]P3225 [HNOI2012] 矿场搭建
P3225[HNOI2012]矿场搭建挖煤点坍塌相当于把该点和与其相连的边在图上删掉。借用wjyyy的题解,我们定义“叶子连通块”为“只包含\(1\)个割点的点双连通分量”,“非叶子连通块”为“包含\(\ge2\)个割点的点双连通分量”。如下图,橙色点是割点,红色框圈出的是点双,加粗的是叶子连通
- 2024-11-12题解:[XIX Open Cup, Grand Prix of Korea] Dev, Please Add This!
前置知识:2-SAT题意[XIXOpenCup,GrandPrixofKorea]Dev,PleaseAddThis!在一张网格上有以下几种物品:空地(.)墙(#)星星(*)一个球(O)现在你要玩一个游戏。你可以让球朝上下左右某一个方向移动,但是一旦移动就必须走到底,也就是说直到前面是墙或者边界才能停。另外,如果你走
- 2024-11-11python算法之最low三人组之一——————选择排序
之前讲过了冒泡排序,我们再聊一聊最low三人组中的选择排序,选择排序的基本思想是:遍历整个序列,选取其中一个最小的数取出来,然后再次遍历除了刚刚选出来的最小的数的序列中最小的数现在让我们看看代码实现importrandomdefselect_sort(li):new_li=[]foriinrange(l
- 2024-11-11二分法查找
二分查找/*折半查找,二分查找*///已经排好序的数组中进行查询#include<stdio.h>intmain(){ intlow,high,mid,userInput;//highlowmid记录的是数组下标 intflag=0;//记录能否找到 inta[10]={12,14,21,35,48,57,69,78,89,99};//二分查找的前提:已经有序 low=0
- 2024-11-10【模版】广义圆方树の建构
==>推倒重建版:voidtarjan(intu,intfather){ stack[++top]=v; dfn[u]=low[u]=++num; for(inti=head[u];i;i=ed[i].last) { intv=ed[i].to; if(v==father)continue; if(!dfn[v]) { tarjan(v,u); low[u]=min(low[u],low[v]);
- 2024-11-10课程讲解--深入探究二分算法
一、二分查找算法的基本概念定义与原理二分查找,也被称为折半查找,是一种在有序数据集合中查找特定元素的高效算法。其原理基于分治思想,每次查找都将查找区间缩小一半。例如,在一个有序数组中查找一个特定的数字,我们先比较数组中间位置的元素与目标元素的大小。如果中间元素
- 2024-11-10CSP-2024游记
考前把这个看一遍:考场策略应该是,10min解压+读题+建文件夹,先打暴力,别被一道题卡死(!!就比如去年的J组T1)别死磕,别死磕,别死磕尤其早上的J组只有3.5h,一定要注意时间分配。相信自己,心态不要炸,当成正常的模拟赛对待。如果非常慌可以选择深呼吸或者先打自己会的分。下考前5min反复
- 2024-11-09Living-Dream 系列笔记 第84期
连通性问题点双连通:在无向图中,删除一个点(不是\(x\)或者\(y\))后,点\(x\)和点\(y\)仍然能够彼此到达,那么称\(x\)和\(y\)是点双连通的。边双连通:在无向图中,删除一条边后,点\(x\)和点\(y\)仍然能够彼此到达,那么称\(x\)和\(y\)是边双连通的。性质点双连
- 2024-11-09Living-Dream 系列笔记 第85期
割边在无向图中删了一条边后,图中联通块个数增加,则称该边为割边。判定对于一条\(cur\toi\)的边,若\(low_i>dfn_{cur}\)(不能取等,画图便知理由),则该边为割边。T103481&P1656板子。P1656code#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+5;intn,
- 2024-11-08双连通分量学习笔记+杂题
图论系列:前言:もしも明日がくるのならあなたと花を育てたいもしも明日がくるのならあなたと愛を語りたい走って笑って転んで相关题单:https://www.luogu.com.cn/training/641352一.割点与桥双连通分量是针对无向图来说的,有向图是强连通分量。在了解双连通分量之前需要先
- 2024-11-07常考的排序算法
冒泡排序#include<iostream>#include<string>usingnamespacestd;//voidShellsort(intA[],intn)//{// intd,i,j;// for(d=n/2;d>=1;d=d/2)// {// for(i=d+1;i<=n;i++)// {//
- 2024-11-05蓝桥杯排序算法之low B三人组——冒泡,插入,选择
目录一、题目二、分析三、代码一、题目分别用冒泡,插入,选择对列表li=[3,2,4,5,1,8,6,9,7]进行排序二、分析冒泡排序:它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经
- 2024-11-04【笔记/模板】割点和桥
割点对于一张无向图\(G=(V,E)\),使得H是G的连通子图,且不存在\(F\)满足\(H\subsetneqF\inG\)且\(F\)为连通图,则称\(H\)是\(G\)的一个连通块/连通分量(connectedcomponent),又叫极大连通子图。由此,我们可以对割点做出如下定义:对于一个无向图,如果把一个点删除后
- 2024-11-04【笔记/模板】无向图的双连通分量
边双连通分量定义在一张联通的无向图中,对于任意两点\(u\)和\(v\),删去两点之间任意一条边,都无法使其不连通(即连通数不变),我们就说这两点是边双连通。对于一个无向图中的极大边双连通的子图,我们称这个子图为一个边双连通分量。根据【笔记/模板】割点和桥中可知,如果
- 2024-11-02圆方树
前置知识:点双连通分量定义圆方树:对于一个点双内的点,拆除点之间所有相连的边,并和一个代表该点双的点连边圆点为原图中的点,方点代表一个点双圆方树有狭义和广义两种狭义圆方树不把“杠铃形”当作点双,有圆圆边广义圆方树把“杠铃形”当作点双,只有圆方边狭义圆方树是解决仙人
- 2024-11-02tarjan算法
强连通分量细节对于多点跑tarjan来说,可能会有先访问\(u\tov\)中的\(v\),这导致\(dfn[v]<dfn[x]\),后面\(x\)跑tarjan时会误把\(v\)当成祖先,要加判断割点&割边删去后使图不连通的点/边找割边和强连通分量求法大差不差,这里不再赘述找割点不同于前两者,首先割点不是low[x]==dfn
- 2024-11-01abc318_g Typical Path Problem 题解 圆方树
题目链接:https://atcoder.jp/contests/abc318/tasks/abc318_g题目大意:给出一个有\(n\)个顶点和\(m\)条边的无向连通图\(G\),没有重边和自环。顶点的编号为\(1\simn\),边的编号为\(1\simm\),第\(i\)条边连接顶点\(u_i\)和\(v_i\)。给出图上三个不同的顶点\(A,B,C