随笔分类 -  ACM-POJ

POJ 3463 有向图求次短路的长度及其方法数
摘要:题目大意: 希望求出走出最短路的方法总数,如果次短路只比最短路小1,那也是可取的 输出总的方法数 这里n个点,每个点有最短和次短两种长度 这里采取的是dijkstra的思想,相当于我们可以不断找到更新到的最短长度来更新其他长度,保证之前的所有可取的最短长度都已经更新的情况下,这样是除了第一个点的最短 阅读全文
posted @ 2016-03-28 21:55 Love风吟 阅读(506) 评论(0) 推荐(0)
最大独立集求解
摘要:定义:独立集:在一个图中,找到一个集合包含的所有点相互之间都不存在连边最大独立集:在所有独立集中包含元素个数最多的独立集之前只是知道二分图的最大独立集 = 总点数-最大匹配数但是一般无向图的情况下求解就不能这样了换个角度思考,其实求最大独立集也是相当于建立一个相反图(把当前的边都去掉,添加上之前不被... 阅读全文
posted @ 2015-11-17 17:14 Love风吟 阅读(3354) 评论(0) 推荐(0)
POJ 1777 mason素数
摘要:题目大意:给定数列a1 , a2 , ... , an希望找到一个 N = sigma(ai^ki) , (0 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define p... 阅读全文
posted @ 2015-09-16 00:38 Love风吟 阅读(268) 评论(0) 推荐(0)
POJ 2992 求组合数的因子个数
摘要:求C(n,k)的因子个数C(n,k) = (n*(n-1)*...*(n-k+1))/(1*2*...*k) = p1^k1 * p2^k2 * ... * pt^kt这里只要计算出分子中素数因子个数减去分母中的个数然后每一种因子都有 (cnt+1)种取的可能,乘一下就出来了但是不能逐个因子分解,试... 阅读全文
posted @ 2015-09-10 20:36 Love风吟 阅读(418) 评论(0) 推荐(0)
POJ 2480 求每一个数对于n的最大公约数的和
摘要:这里是枚举每一个最大公约数p,那么最后求的是f(n) = sigma(p*phi(n/p)) phi()为欧拉函数这里可以试着算一下,然后会发现这个是积性函数的那么只要考虑每一类质数分开算,最后乘在一起就行了而对于f(p^k) p为素数的求解可以这样考虑对于前一个f(p^(k-1)) , 那么f(... 阅读全文
posted @ 2015-09-10 19:59 Love风吟 阅读(313) 评论(0) 推荐(0)
POJ 1845 求a^b的约数和
摘要:题目大意就是给定a和b,求a^b的约数和f(n) = sigma(d) [d|n]这个学过莫比乌斯反演之后很容易看出这是一个积性函数那么f(a*b) = f(a)*f(b) (gcd(a,b)=1)那么这道题就可以将a分解为每一个素数的k次方,求出相对应的f(p^k),将每一个乘在一起就行了因为每一... 阅读全文
posted @ 2015-09-10 16:12 Love风吟 阅读(232) 评论(0) 推荐(0)
POJ 3237
摘要:题目大意:指定一颗树上有3个操作:询问操作,询问a点和b点之间的路径上最长的那条边的长度;取反操作,将a点和b点之间的路径权值都取相反数;变化操作,把某条边的权值变成指定的值。 1 #include 2 #include 3 #include 4 5 using namespace... 阅读全文
posted @ 2015-08-27 17:26 Love风吟 阅读(258) 评论(0) 推荐(0)
POJ 2763
摘要:题意:给一个数,边之间有权值,然后两种操作,第一种:求任意两点的权值和,第二,修改树上两点的权值。 1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include 3 #include 4 #include 5... 阅读全文
posted @ 2015-08-27 17:24 Love风吟 阅读(155) 评论(0) 推荐(0)
POJ 1741 树的点分治
摘要:题目大意:树上找到有多少条路径的边权值和>=k这里在树上进行点分治,需要找到重心保证自己的不会出现过于长的链来降低复杂度 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 #... 阅读全文
posted @ 2015-08-27 17:16 Love风吟 阅读(134) 评论(0) 推荐(0)
POJ 2104 静态找区间第k大
摘要:静态区间第k大的问题,往往可以利用主席树来解决这是主席树的第一道题主席树大概可以理解为在n个节点上都建立一棵线段树,但是想想会超出内存每一个节点保存的线段树都记录当前整段前缀区间的信息但是因为每次添加后一个节点,那么他除了当前节点位置需要更新之外,其他的位置都可以保持跟上一棵节点对应的线段树一致,那... 阅读全文
posted @ 2015-08-27 10:32 Love风吟 阅读(328) 评论(0) 推荐(0)
POJ 3691 AC自动机上的dp
摘要:题目大意:给定一些不合理的DNA序列,再给一段较长的dna序列,问最少修改几次可以使序列中不存在任何不合理序列,不能找到修改方法输出-1这里你修改某一个点的DNA可能会影响后面,我们不能单纯的找匹配数,因为你找到了你也不一定有方法改变它这里用DP来解决判断到第i位dna , 之前dp值保存了前面dn... 阅读全文
posted @ 2015-08-18 00:37 Love风吟 阅读(121) 评论(0) 推荐(0)
URAL 1158 AC自动机上的简单DP+大数
摘要:题目大意在一种语言中的字母表中有N(N 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define clr(x) memset(x ,... 阅读全文
posted @ 2015-08-18 00:31 Love风吟 阅读(264) 评论(0) 推荐(0)
POJ 1739
摘要:楼教主男人八题之一。。。题目大意:求从左下角经过所有非障碍点一次到达右下角的方案数这里不是求回路,但是我们可以考虑,在最下面一行再增加一行,那么就可以当做求此时左下角到右下角的回路总数,那么就转化成了陈丹琦论文的URAL1519的方法了但是最后一行添加的格子必须是最后一条直线跑的,也就是除了左下角和... 阅读全文
posted @ 2015-08-15 10:20 Love风吟 阅读(279) 评论(0) 推荐(0)
POJ 3648 2-sat
摘要:题目大意:有一对新人结婚,邀请n对夫妇去参加婚礼。有一张很长的桌子,人只能坐在桌子的两边,还要满足下面的要求:1.每对夫妇不能坐在同一侧 2.n对夫妇之中可能有通奸关系(包括男男,男女,女女),有通奸关系的不能同时坐在新娘的对面,可以分开坐,可以同时坐在新娘这一侧。如果存在一种可行的方案,输出与新娘... 阅读全文
posted @ 2015-07-28 10:40 Love风吟 阅读(212) 评论(0) 推荐(0)
POJ 2296 二分+2-sat
摘要:题目大意:给定n个点,给每个点都安排一个相同的正方形,使这个点落在正方形的下底边的中间或者上底边的中间,并让这n个正方形不出现相互覆盖,可以共享同一条边,求这个正方形最大的边长这里明显看出n个点,每个点都只有在上底边和下底边两种选择,所以这里是2-sat解决这里全都是整数,而因为点在正方形的中间,所... 阅读全文
posted @ 2015-07-28 09:18 Love风吟 阅读(174) 评论(0) 推荐(0)
POJ 3207 2-sat
摘要:题目大意:在圆上顺时针n个点,给定m个连接,可以通过圆内或者圆外相交,问能不能找到一种方式,使这些连接的边都不相交这里很容易看出的是,这些边只有在圆外或者圆内两种连接方式,而且必须选择其中一种所以2-sat以这些边作为连接点,向内连接为2*i,圆外连接为2*i+1自己画画图可以找到规律if(b[i]... 阅读全文
posted @ 2015-07-27 18:14 Love风吟 阅读(152) 评论(0) 推荐(0)
POJ 3384
摘要:题目大意:给定一个多边形,给定一个圆的半径,要求在多边形中放置两个同样半径的圆,可相互覆盖,但不能超出多边形的范围,希望两个圆的面积覆盖和最大输出任意一组满足的圆的圆心点如果两个圆不相互覆盖,那么必然达到最大面积如果相互覆盖,可以换一种方式考虑,因为两个圆是一样的,两个圆的距离越长,那么相互覆盖的面... 阅读全文
posted @ 2015-07-23 00:09 Love风吟 阅读(296) 评论(0) 推荐(0)
POJ 3525 半平面交+二分
摘要:二分所能形成圆的最大距离,然后将每一条边都向内推进这个距离,最后所有边组合在一起判断时候存在内部点 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 #def... 阅读全文
posted @ 2015-07-22 22:35 Love风吟 阅读(210) 评论(0) 推荐(0)
半平面交 求多边形内核问题
摘要:多边形的内核可以理解为:在多边形找到一块区域,使这块区域中的任何一个点都能够和多边形上的任意一点相连而不受到多边形上其他边的阻挡也可以抽象的理解为在这块区域中任意位置放一个旋转摄像头,这个摄像头可以监控多边形的整个区域多边形内核是否存在可以利用半平面交的思想去求解将多边形上的每一条边作为逆时针顺序的... 阅读全文
posted @ 2015-07-22 22:33 Love风吟 阅读(323) 评论(0) 推荐(0)
POJ 1509 循环同构的最小表示法
摘要:题目大意:给定一个字符串,可以把一段尾部接到头部,这样找到一个最小的字符串方案一:利用循环同构中找最小表示的方法来解决论文参考http://wenku.baidu.com/view/438cad13a2161479171128b6.html 1 #include 2 #include 3 #in... 阅读全文
posted @ 2015-06-11 12:42 Love风吟 阅读(454) 评论(0) 推荐(0)