摘要: 一看懵了,求一条路的长度whose二进制位中1的个数最小?什么鬼。 其实这种n这么小的图论题,应该往Floyd上想了。令f(p, i, j)为从i走长度为2^p长度的路能否到j,若能,则在一张新的图上连一条i到j的边。最后bfs就猴了。 阅读全文
posted @ 2016-11-15 21:10 ciao_sora 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 先将输入的边从小到大排序,对于一条边,它一定连接着两个联通块u与v,那么这条变对于答案的贡献是siz[u] * siz[v] * (边权 + 1) - 1,别问为什么这太显然了,一想就懂。。。 阅读全文
posted @ 2016-11-15 20:29 ciao_sora 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 4. 种树 (trees.pas/c/cpp) 【问题描述】 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号为1..n。每个块的大小为一个单位尺寸并最多可种一棵树。每个居民想在门前种些树并指定了三个号码b,e,t。这三个数表示该居民想在b和e之间最少种t棵树 阅读全文
posted @ 2016-11-15 20:01 ciao_sora 阅读(304) 评论(0) 推荐(0) 编辑