上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 34 下一页
摘要: 题意:对于32位有符号整数x,将其写成x = bp的形式,求p可能的最大值。分析:将x分解质因数,然后求所有指数的gcd即可。对于负数还要再处理一下,负数求得的p必须是奇数才行。 1 #include 2 #include 3 4 const int maxn = 46500; 5 bool ... 阅读全文
posted @ 2015-01-07 09:42 AOQNRMGYXLMV 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 题意:求正整数L和U之间有多少个整数x满足形如x=pk 这种形式,其中p为素数,k>1分析:首先筛出1e6内的素数,枚举每个素数求出1e12内所有满足条件的数,然后排序。对于L和U,二分查找出小于U和L的最大数的下标,作差即可得到答案。 1 #include 2 #include 3 #incl... 阅读全文
posted @ 2015-01-06 19:48 AOQNRMGYXLMV 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 题意:给出这样一个图,求一共有多少个大小不同或位置不同的正方形。分析:这种题一看就有思路,最开始的想法就是枚举正方形的位置,需要二重循环,枚举边长一重循环,判断是否为正方形又需要一重循环,复杂度为O(n4),对于n≤9来说,这个复杂度可以接受。可以像预处理前缀和那样,用O(1)的时间判断是否为正方形... 阅读全文
posted @ 2015-01-06 15:07 AOQNRMGYXLMV 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 题意:如图,有n个正方形和一个角(均在第一象限中),使这些正方形与这个角构成封闭的阴影区域,求阴影区域面积的最大值。分析:直观上来看,当这n个正方形的对角线在一条直线上时,封闭区域的面积最大。(虽然我不太会证明,=_=||)设所有正方形边长之和为L,OA、OB两直线方程分别为:y = k1x y =... 阅读全文
posted @ 2015-01-06 12:08 AOQNRMGYXLMV 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 题意:给出n,求把n写成若干个连续素数之和的方案数。分析:这道题非常类似大白书P48的例21,上面详细讲了如何从一个O(n3)的算法优化到O(n2)再到O(nlogn),最后到O(n)的神一般的优化。首先筛出10000以内的素数,放到一个数组中,然后求出素数的前缀和B。这样第i个素数一直累加到第j个... 阅读全文
posted @ 2015-01-05 23:34 AOQNRMGYXLMV 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 题意:选择K个质数使它们的和为N,求总的方案数。分析:虽然知道推出来了转移方程, 但还是没把代码敲出来,可能基本功还是不够吧。d(i, j)表示i个素数的和为j的方案数,则 d(i, j) = sigma d(i-1, j-p[k]) ,其中p[k]表示第k个素数注意递推的顺序是倒着推的,否则会计算... 阅读全文
posted @ 2015-01-05 21:28 AOQNRMGYXLMV 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个整数n,如果n是素数输出0,否则输出它后一个素数与前一个素数的差值。分析:首先用筛法把前十万个素数都筛出来,然后放到数组里。用二分找到不大于n的最大的素数的下标,如果这个素数等于n,则直接输出0,否则输出它后一个素数与它本身的差值。 1 #include 2 #include 3 ... 阅读全文
posted @ 2015-01-05 19:24 AOQNRMGYXLMV 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个带权无向图,和一些询问,每次询问两个点之间最大权的最小路径。分析:紫书上的题解是错误的,应该是把原算法中的加号变成max即可。但推理过程还是类似的,如果理解了Floyd算法的话,这个应该也很容易理解。 1 #include 2 #include 3 using namespace s... 阅读全文
posted @ 2015-01-05 16:19 AOQNRMGYXLMV 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个人m通电话,如果有两个人相互打电话(直接或间接)则在同一个电话圈里。输出所有电话圈的人的名单。分析:根据打电话的关系,可以建一个有向图,然后用Warshall算法求传递闭包。最后输出是辅助一个标记数组,用DFS输出的,这个办法挺巧妙的。本来我原来的想法是,用并查集求所有的连通分量,然后再... 阅读全文
posted @ 2015-01-05 14:13 AOQNRMGYXLMV 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 题意:如图,按照图中的规律给这些格子编号。给出两个格子的编号,求从一个格子到另一个格子的最少步数。(一步只能穿过有有公共边的格子)分析:根据高中数学知识,选任意两个不共线的向量,就能表示平面上所有点。像这样建立坐标系,根据图中的规律算出所有点的坐标。推理也好,找找规律也好,不难发现第一、三象限的点(... 阅读全文
posted @ 2015-01-04 23:39 AOQNRMGYXLMV 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 题意:平面上有n个点,现在要把它们全部连通起来。现在有q个套餐,如果购买了第i个套餐,则这个套餐中的点全部连通起来。也可以自己单独地建一条边,费用为两点欧几里得距离的平方。求使所有点连通的最小费用。分析:很明显,如果没有这些套餐的话,就是一个裸的MST。可以枚举套餐的组合情况,然后把套餐中的边的权值... 阅读全文
posted @ 2015-01-04 19:17 AOQNRMGYXLMV 阅读(298) 评论(1) 推荐(0) 编辑
摘要: 题意:规定一棵生成树的苗条度为:最大权值与最小权值之差。给出一个n个顶点m条边的图,求苗条度最小的生成树。分析:按照边的权值排序,枚举边集的连续区间[L, R]的左边界L,如果这些区间刚好满足一个生成树,则存在一个苗条度不超过W[R] - W[L]的生成树。话说,代码中用了STL的vector,慢了... 阅读全文
posted @ 2015-01-04 12:33 AOQNRMGYXLMV 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 题意:45块石头如图排列,每块石头上的数等于下面支撑它的两数之和,求其余未表示的数。分析:首先来计算最下面一行的数,A71 = A81 + A82 = A91 + 2A92 + A93,变形得到A92 =(A71 - A91 - A93) / 2.以此类推,就能得到最下面一整行的数。有了这个“地基”... 阅读全文
posted @ 2015-01-04 10:35 AOQNRMGYXLMV 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个数列,求一个连续的子序列,使得MGCD(i, j) = 该子序列的长度(j-i+1) × 子序列的gcd 最大,并输出这个最大值。分析:感觉可能要用优先队列,但貌似也用不上。但类似地,从左往右枚举右端点,不难发现随着序列长度的增大,其子序列的最大公约数是非递增的。一般情况下,是呈阶梯状... 阅读全文
posted @ 2015-01-04 00:36 AOQNRMGYXLMV 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个n行m列的点阵,求共有多少条非水平非竖直线至少经过其中两点。分析:首先说紫书上的思路,编程较简单且容易理解。由于对称性,所以只统计“\”这种线型的,最后乘2即是答案。枚举斜线包围盒的大小,如果盒子的长宽ab互质,则是可以的。这种盒子共有(m-a)(n-b)个,但要减去其中重复的。如果有... 阅读全文
posted @ 2015-01-03 16:49 AOQNRMGYXLMV 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 题意:这道题和POJ 3090很相似,求|x|≤a,|y|≤b 中站在原点可见的整点的个数K,所有的整点个数为N(除去原点),求K/N分析:坐标轴上有四个可见的点,因为每个象限可见的点数都是一样的,所以我们只要求出第一象限可见的点数然后×4+4,即是K。可见的点满足gcd(x, y) = 1,于是将... 阅读全文
posted @ 2015-01-03 11:13 AOQNRMGYXLMV 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 题意:给出N和M,统计区间x ∈ [2, N!],x满足所有素因子都大于M的x的个数。分析:首先将问题转化一下,所有素因子都大于M 等价于 这个数与M!互素对于k大于M!,k与M!互素等价于 k % M! 与 M!互素所以我们可以求出φ(M!)(φ为欧拉函数) 然后乘以N! / M!,最后答案再减一... 阅读全文
posted @ 2015-01-02 21:15 AOQNRMGYXLMV 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 可能是因为这次没有分Div.1和Div.2,所以感觉题的难度比较大。题意:给出一个1~n的排列和一个邻接矩阵A,Aij = 1表示可以交换排列的第i项和第j项,问经过若干次交换后,求能够得到最小字典序的排列。分析:如果a和b可交换,b和c可交换,则a和c也可以交换位置。如果把这n个位置看做顶点,两个... 阅读全文
posted @ 2015-01-02 20:52 AOQNRMGYXLMV 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题意:给出n, k,求分析:假设,则k mod (i+1) = k - (i+1)*p = k - i*p - p = k mod i - p则对于某个区间,i∈[l, r],k/i的整数部分p相同,则其余数成等差数列,公差为-p然后我想到了做莫比乌斯反演时候有个分块加速,在区间[i, n / (n... 阅读全文
posted @ 2015-01-02 11:02 AOQNRMGYXLMV 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 题意:就是用一个字符矩阵代表一个闭合的阴影部分,然后求阴影部分的面积。分析:一个'/'和'\'字符都代表半个小方块的面积。关键就是判断'.'是否属于阴影部分,这才是本题的关键。从第一列开始,从上到下扫面'/'和'\'字符的个数,如果是奇数,则'.'属于阴影部分,阴影面积加一。 1 #include ... 阅读全文
posted @ 2014-12-29 20:34 AOQNRMGYXLMV 阅读(146) 评论(0) 推荐(0) 编辑
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 34 下一页