lca转rmq 欧拉遍历,记录dep,然后建立ST表查询第一次出现位置之间的dep最小值 定义一个mindep会方便很多 cpp const int N = 100005, E = 200005; int to[E], nt[E], hd[N], ord[E], dep[N], fa[N], fst ...
分类:
其他好文 时间:
2019-05-04 00:30:28
阅读次数:
176
You are given a tree with n nodes. The weight of the i-th node is wi. Given a positive integer m, now you need to judge that for every integer i in [1 ...
分类:
其他好文 时间:
2019-05-03 18:14:04
阅读次数:
163
#include #include #define SA struct sockaddr int sockfd_to_family(int sockfd) { struct sockaddr_storage ss; socklen_t len; len = sizeof(ss); if (getso... ...
分类:
其他好文 时间:
2019-05-03 14:39:34
阅读次数:
120
#include #include #include #include int sockfd_to_family(int); int mcast_set_ttl(int sockfd, int val) { switch (sockfd_to_family(sockfd)) { case AF_IN... ...
分类:
其他好文 时间:
2019-05-03 14:21:50
阅读次数:
130
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小 ...
分类:
其他好文 时间:
2019-05-02 18:32:29
阅读次数:
116
就是求连通块的数量,可以维护一个斜着的扫描线,set里只保留在R范围内的点 然而怎么维护连通块呢。。 其实只需要向能够到的最靠左和最靠右的点连边就可以,剩下的点之前就已经连好了 ...
分类:
其他好文 时间:
2019-05-02 18:21:19
阅读次数:
102
/******************************************************** * SClist.h头文件 /********************************************************/ #ifndef __SCLIST_H_ ...
分类:
其他好文 时间:
2019-05-02 13:11:47
阅读次数:
133
吉老师天下第一! 感觉这个题大概能算我见过的最神仙的数据结构题? 首先考虑把答案拆到每一个点上,即去计算每一个点会被贡献多少次。 显然,对于一个点来说,只有它子树内的崛起可能会在它这里产生贡献。 具体一点,如果它子树内部连续崛起的两个点属于两个不同的儿子,那么贡献+1。 那么就转化为这样找一个问题。 ...
分类:
其他好文 时间:
2019-05-01 18:46:51
阅读次数:
119
消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。 Linux用宏 和`MSGMNB ...
分类:
系统相关 时间:
2019-04-30 23:26:09
阅读次数:
202
思路: 先把这些矩形统一 一下,让最长边向下,然后按大小放好。 这样,我们就可以来构建DAG图形, 令,被包含的矩形a与包含的矩形b看成a一一>b的路线,这样就形成了这样的图形: ,我们一定知道最小矩形一定是不能包含其他矩形的(因为没有矩形比最小矩形还小),同时,知道最大矩形一定不能被包含。(因为没 ...
分类:
其他好文 时间:
2019-04-30 22:11:06
阅读次数:
144