自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 NEUQ-ACM Week10

3.判断是否可以构成二分表:bfs搜索使用染色法,首先把一个点标记成黑色(1),然后开始bfs,枚举所有与它相连的点,将它们标记成白色(2),不断遍历整张图,如果你发现下一个染色的点已经有了颜色,判断是否与此时你在的点颜色一致。若是颜色一致,说明染色存在冲突,无法拆成二分图。2.行和列匹配,但实际上则是路径和路径进行匹配,最后要行列相等的匹配,即最大匹配数等于边数的时候可以交换得到成功匹配,输出yes,否则输出no。1.构建二分图:一边为列数,一边为行数,若第i行第j列是1,就给列数j和行数i连一条路径。

2023-12-16 21:13:30 50

原创 NEUQ-ACM Week9

1.本题目中N个非负整数t0,t1,…,tN−1,表示了每个村庄重建完成的时间,村庄重建时间递增,接下来Q行,每行3个非负整数x,y,t,询问在第t天,从村庄x到村庄y的最短路径长度为多少,数据保证了t是不下降的。2.判断天数:对于不能到达的情况,判断给出的两个点是否有到目前没有修好。而对最短距离继续使用floyd,枚举的k代表中间接口,不把不能走的点作为k,保证目前这一天就对于其他能走的点没有影响。2.使用dfs搜索,循环从n到1,则每个点i能访问到的结点的值都是i,在每个点访问一次,这个值都是最优的。

2023-12-09 21:34:38 48

原创 NEUQ-ACM Week8

3.依次循环遍历找最短距离:i到j的最短距离不外乎存在经过i与j之间经过k和不经过k两种可能,所以可以令k=1,2,3,...,n,在检查d(ij)与d(ik)+d(kj)的值;所以,若d(ij)>d(ik)+d(kj),就表示从i出发经过k再到j的距离要比原来的i到j距离短,自然把i到j的d(ij)重写为d(ik)+d(kj),每当一个k查完了,d(ij)就是目前的i到j的最短距离。重复这一过程,最后当查完所有的k时,d(ij)里面存放的就是i到j之间的最短距离了。1.输入两个方向的线条权值(取最小值)

2023-12-03 21:37:56 60 1

原创 NEUQ-ACM Week7

2.循环1-n分别作为第一个数,向下进行搜索,每次判断数是否已经在这次排序中被使用,不是则标记已使用,再搜索下一位数,等这次排序结束,dfs回溯把这个数标记去除。2.dfs:从(1,1)开始搜索,每次向四个方向进行搜索,若某一方向坐标满足为”.“可以走且没有超出迷宫范围则可以进行向下搜索,并将搜索过的点标记为”#“。3.dfs:标记已查过,并向四个方向进行搜索,把以0为边界以内的所有不为0且未被查找过的数标记为1,知道四周皆为0返回。1.以数组a存储每次的排序,数组b判断1-n在每次排序中是否已经被取。

2023-11-25 21:03:37 82

原创 NEUQ-ACM Week6

3.如果染过色以后i,j那个地方还是0,说明没有搜到,就是周围有边界,当然就是被围住了,然后输出2。若不为0,因为被染色了,本来没有被围住的元素和边界都染成了1,所以就输出原本a[i][j]2.搜索染色:向四个方向从原点开始搜索,如果搜过头或者已经被搜过了或者本来就是边界的就不继续,没有被1围住的元素都染色为1。2.简单广度搜索:从开始层开始逐层搜索,每次分为向上和向下两种情况分别继续搜索。1.运用深搜染色,以数组a存储原来的二维表,数组b表示染色过的二维表。

2023-11-19 14:48:53 44

原创 NEUQ-ACM Week5

dp典型背包问题

2023-11-11 20:17:44 90 1

原创 NEUQ-ACM Week4

4.最长不上升序列个数等价为:若遍历的a[i]小于等于已有序列最后一位数则序列+1,反之找到与a[i]最接近的比其小的序列里的数进行交换,最后得到的序列长度。3.对于每个i再从头遍历到i,若有a[j]比a[i]小的,代表可以在b[j]最长长度后面再加1即b[j]+1,每次与b[i]本身比较达到取最大的目的。2.初始化,dp[1][1]为0,因为只能向右或向下,dp[1][j]、dp[i][1]为1,因为不能走行号和列数都是偶数的,所以这些方格赋值为0。2.遍历a[i](b[i]初始定义为1)

2023-11-05 17:09:28 100 1

原创 NEUQ-ACM Week3

1.从1开始向后递推,2 3后可跟1,4 5后可从2开始跟,6 7后可从3开始跟···2.找规律可得f[n]=1+f[1]+f[2]+f[3]······+f[n/2]3.通过规律递推到f[n]即可。

2023-10-27 21:12:55 65

原创 Week2 NEUQ-ACM

1.分别计算每个士兵到两岸的最近距离,并进行从小到大的排序2.最少时间即为每个士兵都往最近的岸的方向走时离最近的岸最远士兵所需的时间3.因为所有士兵行进速度一样,所以当有士兵相遇两者转身继续行进可以当作两者错身而过继续行进。最大时间即为离一边岸最远的士兵走到那边所需的时间4.此外,注意当士兵数量为0的特殊情况。

2023-10-21 20:18:07 77

原创 NEUQ-ACM week1

2.可以把相邻两头牛的最小距离看作一个从可能最大到最小1的数列,然后进行二分答案判断找到最小值。1.若指数y转化为二进制,每一位若为1则代表要乘一次p(一开始为底数),若为0则代表不需。2.每一次y位运算向右移一位,同时p*p,再判断最后一位是否为1。3.二分答案判断:通过遍历房间坐标放牛,判断这个间隔是否可能实现(pan函数)1.用数组存储数列数据,因为单调不减每个数字直接可以通过二分查找。1.用数组存储房间坐标数据,并对进行升序排序。2. 遍历输出数字间隔最小的差值。ps:要考虑差值为0的特殊情况。

2023-10-15 21:04:22 39 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除