09 2022 档案

摘要:对于深度优先,如果答案在很浅的部位,但是整个搜索树过于深,那么就会寄掉。 但是对于广度优先,本来挺好,但是在队列里面存储太多的元素,到时爆。同时,广度优先也不容易存储数据。 对于迭代加深,就是限定层数进行搜索。当这一层没有答案的时候,把限定的层数增加,再次搜索。 有着广搜的搜索浅层的时间复杂度 不会 阅读全文
posted @ 2022-09-24 11:51 心坚石穿 阅读(54) 评论(0) 推荐(0)
摘要:AcWing165. 小猫爬山 翰翰和达达饲养了 N 只小猫,这天,小猫们要去爬山。 经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<)。 翰翰和达达只好花钱让它们坐索道下山。 索道上的缆车最大承重量为 W,而 N 只小猫的重量分别是 C1、C2**…**…CN。 阅读全文
posted @ 2022-09-18 15:24 心坚石穿 阅读(62) 评论(0) 推荐(0)
摘要:第一次体验省赛,加油! A.JB Loves Math JB is good at Math, so he thinks all the math problems in the world are easy. But one day, he meets a math problem which h 阅读全文
posted @ 2022-09-12 22:44 心坚石穿 阅读(556) 评论(0) 推荐(0)
摘要:为人熟知的pair类型 注意:pair对于==, !=, <, >, <=, >=进行了重载,提供first第一关键字,second第二关键字的比较方法。 再谈STL STL有三大件: 容器 算法 迭代器 迭代器的使用 #include <vector> #include <iostream> us 阅读全文
posted @ 2022-09-11 23:04 心坚石穿 阅读(327) 评论(0) 推荐(1)
摘要:凸多边形以及凹多边形的区别: 凸多边形没有凹陷处,但是凹多边形至少有一个凹陷处。 凸多边形任意两点均在内部,但是凹多边形至少有一对点,他们的连线在多边形外部。 沿着凸多边形的转向是相同的,而沿着凹多边形的转向有不同的地方,这个地方正是凹点。 点集的凸包 定义:在平面上能包含所有给定点的最小凸多边形叫 阅读全文
posted @ 2022-09-11 16:19 心坚石穿 阅读(192) 评论(0) 推荐(0)
摘要:这里讨论的是二维平面中的算法 基础常识 这里一改之前草率的作风,使用类来进行构造。 在这里默认把一个点看做还是一个以原点为起点的向量。 最开始的类 #include <bits/stdc++.h> using namespace std; class Point{ public: double x, 阅读全文
posted @ 2022-09-10 20:36 心坚石穿 阅读(152) 评论(0) 推荐(0)
摘要:这算是总结性的文章,比较简略,不太适合初学者 深度优先搜索 //所有的有向边经过一次(无向边经过两次) void dfs(int x) { v[x] = true; for(int i = head[x]; i; i = nxt[x]) { int y = ver[i]; if(v[y]) cont 阅读全文
posted @ 2022-09-09 17:18 心坚石穿 阅读(72) 评论(0) 推荐(0)
摘要:![image](https://img2022.cnblogs.com/blog/2609004/202209/2609004-20220907193542450-1636491461.png) 阅读全文
posted @ 2022-09-07 23:07 心坚石穿 阅读(220) 评论(0) 推荐(0)
摘要:最小点覆盖 在一个图中,求一个点的数目最少的一个点集,使得每一条边的两个端点中至少有一个属于这个集合。 由于任意图的最小点覆盖存在一些难度,所以这里只讨论二分图的最小点覆盖。 二分图的最小(点)覆盖的点的个数等于最大匹配的边的个数。 其中这些点的取法为: 对这一个图进行一次匈牙利算法,求出最大匹配。 阅读全文
posted @ 2022-09-03 18:34 心坚石穿 阅读(107) 评论(0) 推荐(0)