T1.树的重量(weight)

给出一棵n个叶节点的树(但是有多组数据)以及n个节点之间的距离(最短距离。。。然而也只有一条路),求树的所有边权之和。

一开始完全没有思路啊。。。难道爆搜模拟??狂汗。。。

然而答案就是构造(枚举啦)。因为n个都是叶节点,那么假设已经安排好了i-1个节点的位置,那么第i个点的连边肯定是从已有的边中连出来的。

如下:若1,2距离为4个单位,1,3距离为5个单位,那么试构就是这样的:

所以可以从3开始一个一个枚举,每次枚举从已经放好的节点中找到扩展节点,扩展出的边权是 (tmp为中间值自行无视)

然后只要把每次扩展的值累加起来就好了(别忘了1,2之间的边权)。

T2.单词查找树(tree)

给出一些单词(每行一个,总计不超过32K),求构成的trie的节点个数。

其实很水,只要模拟构造trie就可以了。只是之前没写过trie所以。。。。

T3.登山(climb)

给出n个数,q次询问,每次问区间l,r的最大值(RMQ)

用st算法很快可以求出来。

不过由于之前没写过st的总结所以还是写一下。

首先,对给出序列求出maxn[i][k],表示的是i开始2^k个数的最大值,枚举k再枚举i就好,具体推导为:

Maxn[i][k]=max(maxn[i][k-1],[i+(1<<(k-1))][k-1])

这样最大值问题就解决了。

那么区间l,r呢?先求k=log2(r-l+1),然后最大值就是

Max(maxn[l][k],maxn[r-(1<<k)+1][k])

然后好了这就是st

二模11day1解题报告的更多相关文章

  1. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  2. 二模14day1解题报告

    注:Index数☞由4,7组成的十进制数. T1.全排列(permutation) 求n个数的第k个排列中,有多少个Index位置上是Index数. 由于k的范围比较小,n的范围比较大(都是109), ...

  3. 二模12day2解题报告

    T1.笨笨玩糖果(sugar) 有n颗糖,两个人轮流取质数颗糖,先取不了的(0或1)为输,求先手能否必胜,能,输出最少几步肯定能赢:不能,输出-1. 一开始天真的写了一个dp,f[i]表示i颗糖最少取 ...

  4. 二模01day1解题报告

    T1.音量调节(changingsounds) 有n个物品的背包(有点不一样,每个物品必须取),给出初始价值,物品价值可正可负(就是两种选择嘛),求可能的最大价值,不可能(<0或>maxs ...

  5. 二模15day1解题报告

    T1.合并序列(minval) 给出长为 n的AB两个序列求两两相加中最小的n个. 据说有证明(在蓝书上,优先队列部分)先把A[1~n]+b[1]入队,然后每取一个a[x]+b[y]就把a[x]+b[ ...

  6. 二模14day2解题报告

    T1.砍树(cuttree) 给出n棵树,要锯下m米木材,现在有一个高度h,h以上所有木头都砍下来,求满足m米的最小h 很简单的二分答案判断可行性. T2.快速求和(quicksum) 给出数字串s, ...

  7. 二模12day1解题报告

    T1.笨笨与电影票(ticket) 有n个1和m个0,求每个数前1的个数都大于等于0的个数的排列数. 非常坑的一道题,推导过程很烦.首先求出所有排列数是 C(n+m,m),然后算不合法的个数. 假设存 ...

  8. 二模02day1解题报告

    T1.淘汰赛制 比赛时的淘汰赛制,给出每两个球队比赛的胜率,求出最终胜率最高的队伍. 这题的概率真的很难算啊感觉...一开始打的代码打下来就是用f[i][j]表示i场比赛后第j人还在场的概率.不难看出 ...

  9. 二模07day1解题报告

    T1.种树(tree) 有n棵树,各有高度,要求每棵树的高度都小于它到其他树的距离(可能种一起).求砍掉的总高度是多少. Ok,那么可以想到,只要满足每棵树和最近的树满足条件就可以保证和其他树满足了. ...

随机推荐

  1. Hadoop学习5--配置本地开发环境(Windows+Eclipse)

    一.导入hadoop插件到eclipse 插件名称:hadoop-eclipse-plugin-2.7.0.jar 我是从网上下载的,还可以自己编译. 放到eclipse安装目录下的plugins文件 ...

  2. Git-Flow

    Overview Git-Flow is a high-level command set wrapping low-level Git commands to support the "s ...

  3. POJ 1611 The Suspects(并查集,简单)

    为什么ACM的题意都这么难懂,就不能说的直白点吗?还能不能好好的一起刷题了? 题意:你需要建一个n的并查集,有m个集合,最后要输出包含0的那个集合的元素的个数. 这是简单并查集应用,所以直接看代码吧! ...

  4. "运行时"如何解析类型引用

    先将下面的代码保存到文本中,存放到一个目录下面,E:\aa.txt public sealed class Program{ public static void Main(){ System.Con ...

  5. BigDecimal的equals

    BigDecimal testA = new BigDecimal(79); BigDecimal testB = new BigDecimal("79.00"); System. ...

  6. 如何利用jQuery进行简单表单验证

    <!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...

  7. windows service自动启动相关设置

    http://blog.csdn.net/thebesttome/article/details/7590025   原帖:http://www.cnblogs.com/junior/archive/ ...

  8. 线程中的wait() 与 锁的关系

    我们先看一段代码: /** * 计算输出其他线程锁计算的数据 * */ public class ThreadA { public static void main(String[] args) th ...

  9. ubuntu开机遇到-您的当前网络有.local域,我们不建议这样做而且这与AVAHI网络服务探测不兼容。该服务已被禁用

    解决 http://askubuntu.com/questions/339702/network-service-discovery-disabled-what-does-this-mean-for- ...

  10. gettimeofday() 获取系统时间,精确到微秒 这个似乎只能在linux 下用,不能在windows 下用

    struct timeval{ long int tv_sec; // 秒数 同time(NULL) 的返回值 long int tv_usec; // 微秒数 10 的6次方 }; struct t ...