题解: 动态求第k大数问题。 此题a[i]的值比较大。 如果直接用map的话TLE,所以需要hash 具体做法是将a[i]排序并且unique。然后将a[i]的值映射到i下。 注意在最后求和时要换回来即可 代码: ...
分类:
其他好文 时间:
2016-09-25 15:51:40
阅读次数:
149
题目链接 http://vjudge.net/problem/UVA-10229 解题思路 一开始想到一种O(n)的算法,就是每次只算fib的二进制后m位,然后就TLE了。。。 比较正确的解法是用矩阵快速幂。大概是O(log(n))的算法,对任何数据都很快。。。 要注意n=0的情况。。。 代码 ...
分类:
其他好文 时间:
2016-09-18 23:29:27
阅读次数:
170
题目戳这 题意:给你n个数,从中选出三个数a,b,c,然后(a+b)^c,这个式子的值是最大的。 思路:如果来三个for循环,果断TLE,所以想到了字典树,就是先把所有的数字都插进去,在查询的时候就先把确定了的那两个数字删掉,然后在字典树中求出异或的最大值,得到结果后,再把两个数字插回去。 P.S. ...
分类:
其他好文 时间:
2016-09-15 19:18:38
阅读次数:
180
O(n2)tle。O(nlognlogn) 1421 最大MOD值 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 1421 最大MOD值 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 ...
分类:
其他好文 时间:
2016-09-15 15:04:44
阅读次数:
125
01背包tle。 解题报告(by System Message) 类似于背包的DP,以乘积为状态。先把等选数字里面不是K约数的去掉。然后找出K的约数,进行离散化。然后dp[i][j]表示前i个数字乘积为j的状态。Dp[i+1][j*a[i+1]]]+=dp[i][j].Dp[i+1][j]+=dp[ ...
分类:
其他好文 时间:
2016-09-15 15:00:33
阅读次数:
185
开始的时候蠢蠢的使用直白的模拟: 然后很不幸,TLE 然后想着分别从两侧扫描只记录最大值然后跟当前比较做标记位就可以了,这样子的话最多扫描两遍数组就可以了,效率还是蛮高的。 AC代码: 题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=10 ...
分类:
其他好文 时间:
2016-09-14 07:15:34
阅读次数:
232
题目链接:hdu5876 Sparse Graph 一开始用vector一直TLE,然后就没有然后了。。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<queue> 5 #include<vector> ...
分类:
其他好文 时间:
2016-09-13 22:06:14
阅读次数:
184
开始想的是O(n2logk)的算法但是显然会tle。看了解题报告然后就打表找起规律来。嘛是组合数嘛。时间复杂度是O(nlogn+n2)的 1161 Partial Sums 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关 ...
分类:
其他好文 时间:
2016-09-12 22:12:44
阅读次数:
127
http://www.lydsy.com/JudgeOnline/problem.php?id=1001 思路:这应该算是经典的最大流求最小割吧。不过题目中n,m<=1000,用最大流会TLE,所以要利用平面图的一些性质。 这里讲一下平面图的对偶图性质。 在平面图中,所有边将图分成了n个平面。我们将 ...
分类:
其他好文 时间:
2016-09-12 22:02:21
阅读次数:
133
传送门:地铁 思路:拆点,最短路;拆点比较复杂,所以对边进行最短路,spfa会tle,所以改用Dijkstra(优先队列优化) 模板 ...
分类:
其他好文 时间:
2016-09-10 23:39:54
阅读次数:
237