Fork me on github

09 2019 档案

摘要:求树的直径。 两遍$dfs$就好了。 cpp include include include include include const int maxn = 10000; const int maxm = 10000; using namespace std; int to[(maxn + max 阅读全文
posted @ 2019-09-07 04:36 acboyty 阅读(306) 评论(0) 推荐(0)
摘要:模拟题。 良心出题人并没有$y_1 y_2$的样例。注意闰年的处理。 cpp include using namespace std; int dayOfMonth[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; bool isL 阅读全文
posted @ 2019-09-07 04:34 acboyty 阅读(256) 评论(0) 推荐(0)
摘要:简单的替换一下字符串。 注意数组开大点。 cpp include const int maxm = 100; const int maxn = 100; using namespace std; char buf[maxm + 10][110]; struct tNode { char var[11 阅读全文
posted @ 2019-09-05 13:19 acboyty 阅读(245) 评论(0) 推荐(0)
摘要:有点忧愁。$CSP$也考$Tarjan$缩点的嘛。 原理咱也不明白,咱也不敢学,找到模板就是抄。 cpp include const int maxn = 10000; const int maxm = 100000; using namespace std; int to[maxm + 10]; 阅读全文
posted @ 2019-09-05 13:18 acboyty 阅读(286) 评论(0) 推荐(0)
摘要:新建不超过$k$个无线路由器,求使路由器1、2连通最少的中间路由器。 首先常规建图,将相距不超过$r$的路由器(包括新建的)相连。 想到了分层$dijkstra$。类似的,作$bfs$时记录已经经过的新建路由器个数$b$。$queue$内节点的形式就是当前路由器编号、经过的新建路由器个数、经过的路由 阅读全文
posted @ 2019-09-02 15:59 acboyty 阅读(353) 评论(0) 推荐(0)
摘要:求字典序最小欧拉路。 似乎不能用$Fluery$算法($O(E^2)$)。$Fluery$算法的思路是:延申的边尽可能不是除去已走过边的图的桥(割)。每走一步都要判断是否是割,应当会超时。 采用$Hierholzer$算法($O(V+E)$),亦称逐步插入回路法。思路见代码。注意根据题意,每次选取未 阅读全文
posted @ 2019-09-01 22:52 acboyty 阅读(535) 评论(0) 推荐(0)