码迷,mamicode.com
首页 > 其他好文 > 详细

2019/10/3 综合测试小结

时间:2019-10-04 00:19:41      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:利用   递推   前缀   并查集   mda   转移   答案   合并   trie树   

T1:

  题意:一个序列,每个数有p值和h值,求有多少对p值相同的数之间有一个数的h值小于m

  思路:简单题,先求前缀和,在扫一遍得出答案(但调试花了一些时间);

  题解:同上;

T2:

  题意:给出n,m,d,表示一开始有n个为m的数,每次操作将一个非(非0最小值)的数变成[最小值-d,最小值],问将n个数变为0有几种变法;

  思路:看题想到dp,考虑用dp[i][j][e]表示最小值为i,有j个为i的数,有e个大于i的数时的操作方案,每次O(d)转移。考虑优化,用前缀和使转移变为O(1)。又考虑n==1的特殊情况,是一个类斐波拉契数列的递推;

  题解:dp[i]表示没有数为0,最小值为i的情况下的方案数,前缀和优化O(1)转移,最后统计1~d的dp值即为答案;

T3:

  题意:给一课树,每个节点有一个字符串,边有权,点有权,问随机选两个点它们的点权之积*路径上最小边权*字符串最长公共后缀长度的期望值;

  思路:没时间了,n^3暴力求和;

  题解:最长公共后缀——反过来建Trie树。最小边——将边从大到小排序,一个一个加进来,再用并查集维护。优化——利用a=sigma(i=1~正无穷)[i<=a],得出结论,答案和Trie树上的深度有关,可以在合并Trie的过程中计算;

2019/10/3 综合测试小结

标签:利用   递推   前缀   并查集   mda   转移   答案   合并   trie树   

原文地址:https://www.cnblogs.com/Cduiz/p/11621113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!