摘要:
题意: 已知一个树形的地图,要在其间建设一条公路,每个公路上的点只经过一次,问如何建工路使得所有点到公路的最长距离最短。分析: 看成是找树上所有点中距离最远的路径,主要是两次广搜,第一次找到一个端点,第二次找到另一个,第二次找的过程中记录路径, 便于最后一次遍历全图找到答案。#include <stdio.h>#include <string.h>#define maxn 100005#define clr(x)memset(x,0,sizeof(x))struct node{ int to, next, w;}q[1000000];int tot;int head[m 阅读全文
摘要:
题意:问一个1..n 的排列中,有多少组数满足 i < j < k 且 num[i] < num[k] < num[j].分析:符合条件的答案即为 小大中的情况总数,而 小大中 = 小XX - 小中大 可以求出每个数前面小于它的数的个数x,和后面大于它的个数y, 那么每个数对应的 小XX 数量为 y*(y-1)/2 每个数对应的小大中数量为 x*y#include <stdio.h>#include <string.h>#define mod 100000007long long a[100005];int n;int lowbit(int x) 阅读全文