摘要:
第几次查询 剩余查询数 1 N/2 2 N/22 3 N/23 ... ... k N/2k 在第k次已经找到 N/2k = 1 k = log2N 则复杂度为O( log2N) 阅读全文
摘要:
1 //usage language C++ 领接表 2 #include 3 using namespace std; 4 #define INF 0x3f3f3f3f 5 int dist[MAX_VERTEX_NUM]; 6 int vis[MAX_VERTEX_NUM]; 7 8 void MyDijkstra(AdjList G, int v0){ 9 v... 阅读全文
摘要:
先对几个概念做一些浅析 最早发生时间 比如事件a的发生需要先发生b和c而b和c的时间最大值即为最早发生时间,从实际意义来说烧水需要10min,扫地需要3min,完成这两个任务你才可以出去玩,所有的事件应该都是可以同时发生的,则你可以在烧水的时候去扫地,这样你只需要10min就可以出去玩了。 最晚发生 阅读全文
摘要:
什么是生成树呢? 一个连通图的生成树是指一个极小连通子图, 它含有图中的全部顶点,但只有足以构成一棵树的n-1条边。 什么是最小生成树? 在一个连通图的所有生成树中,各边的代价之和最小的那棵生成树称为该连通图的最小代价生成树(MST), 简称最小生成树。 求最小生成树有两种算法,本文讲prim算法。 阅读全文
摘要:
以hud畅通工程为例:用ford暴力也可ac 样例的图解: spfa算法模板,用一个数组来储存从开始的点到其他点的距离,不断进行松弛操作。 还有用队列来保存与其相邻的点。 附代码: #include <iostream>#include <queue>#include<cstring>#define 阅读全文
摘要:
codeforces 445A. DZY Loves Chessboard 1.大意为将‘.’,用B和W填充,且相邻的不可以相同。 可以看出为一个二分图,早先用bfs一直wa找不到原因,后用dfs就ac。 用深度优先搜索遍历所有的点,再用一个变量来记录上一个的值,以便进行B和W的转换。 阅读全文