online judge uva
QiufengWang424
这个作者很懒,什么都没留下…
展开
-
UVa 524 - Prime Ring Problem(回溯)
题目:把1-n,连续的放到一个环里,使相邻的数字和为素数,输出所有结果。思路: 这题一个性质进行剪枝:相邻的数字一定是奇偶性不同的数字。 (如果上述假设不成立,则存在相邻的奇数或偶数,那么他们的和一定是大于2的偶数,不是素数) 根据上面的假设,还有一条推论:只有n为偶数时才有解。 (n为奇数原创 2016-09-13 23:03:42 · 355 阅读 · 0 评论 -
UVA 247 - Calling Circles(floyd判断包闭 ,dfs输出)
紫书推荐的题题意: 给你n个人,m条边,a->b,b->a,才能说这两个人是联通的。问现在有多少个联通圈。输出每个联通圈。n思路: 直接建图,用有向图的闭包传递特性来处理每个人之间的联通关系。然后dfs一次,遍历邻接矩阵中与某个点相连的几个点,边遍历, 边打印输出。代码:#include #include #include #include #inclu原创 2016-09-14 23:13:18 · 350 阅读 · 0 评论 -
【UVA 11426】 【求sum(gcd(i,j),1<=i<j<=n)1<n<4000001】
题意:求sum(gcd(i,j),11思路:1.建立递推关系,s(n)=s(n-1)+gcd(1,n)+gcd(2,n)+……+gcd(n-1,n);2.设f(n)=gcd(1,n)+gcd(2,n)+……+gcd(n-1,n)。gcd(x,n)=i是n的约数(x而gcd(x,n)=i等价于gcd(x/i,n/i)=1,因此g(n,i)等价于phi(n/i).phi原创 2016-09-23 20:04:27 · 3247 阅读 · 0 评论 -
【UVA 10635】【LCS转化成LIS】 Prince and Princess
思路:这个题目显然用n^2的最长公共子序列的算法会超时,这题最长公共子序列可以转化成最长上升子序列的问题,然后用最长上升子序列的nlogn的算法求解。但这个方法要求任意一个字符在两序列中出现的频率都要比较低,因为转化成最长上升子序列的算法的最坏复杂度是n^2log(n^2)。而这个题目恰好每个数字最多只在两序列中各出现一次,所以就可以达到nlogn的复杂度了。代码:#inclu原创 2016-09-23 20:44:42 · 517 阅读 · 0 评论 -
【UVA 11584】【简单dp】Partitioning by Palindromes【给定一个字符串, 问最少分为几部分可使各部分均为回文串】
传送门:http://vjudge.net/contest/141412#problem/A (密码cd)题意:给定一个字符串, 问最少分为几部分可使各部分均为回文串思路: 1 dp[i] 表示以i结尾的最少分割数 2 dp[i] = min(dp[j-] + 1 && j-i为回文)复杂度O(n^3),这题数据好像比较水不需要紫书上说的预处理原创 2016-11-12 14:55:37 · 367 阅读 · 0 评论 -
【UVa 10003】【区间DP】Cutting Sticks【有一个长为L的木棍,木棍中间有n个切点。每次切割的费用为当前木棍的长度。求切割木棍的最小费用。】
传送门:http://vjudge.net/contest/141412#problem/D (密码:cd)题意:有一个长为L的木棍,木棍中间有n个切点。每次切割的费用为当前木棍的长度。求切割木棍的最小费用。思路:d(i, j)表示切割第i个切点到第j个切点这段所需的最小费用。则有d(i, j) = min{d(i, k) + d(k, j)} + a[j] - a[i]; (原创 2016-11-12 16:59:32 · 1081 阅读 · 0 评论 -
【uvalive-5970】【莫队】
传送门:https://cn.vjudge.net/problem/UVALive-5970题意:给N(10^4)个数,Q次询问(10^5),每次询问[l,r]不同的数的平均值。思路:没有修改操作,数据不大,可以用离线莫队去做,7s水过,非常sb,样例还错了当然也可以线段树做,参考: http://mcginn.lofter.com/post/1d50332c_92ac05a代码:#include原创 2017-04-12 00:22:33 · 499 阅读 · 0 评论