
一天一道算法题
tokers
所有的魅力在“习惯”面前都将无色。
展开
-
一天一道算法题——数对数目分析
题目: 给定2个数组X和Y,元素都是正数,请找出满足如下条件的数对的个数: 1.x^y > y^x,即x的y次方大于y的x次方 2.x来自X数组,y来自Y数组分析:你真的想要暴力吗,如果两个数组的长度为m和n,那么暴力的复杂度整整有O(m*n)那么高,而且没有用到正数这个条件我们来变形一下:x^y>y^x y㏑x > x㏑y y/㏑y > x/㏑x所以,对于数组X,Y计算该值,原创 2014-08-05 10:41:52 · 679 阅读 · 0 评论 -
一天一道算法题——最大独立集
今天开始一天一道算法题的博客今天的题是最大独立集,对于最大独立集,本质上是求最大匹配,对于这题,我们只要把不满足条件的人连起来,那么就构成了一张二分图,求好匹配以后,记得除以2,因为匈牙利算法在求匹配的时候,是从i=0到i=n-1的,这里是全部的点,所以相当于算了2次,//烧死那对异性恋#include#include#include#define maxn 505struct edge{ int原创 2014-08-05 10:41:36 · 2863 阅读 · 0 评论 -
一天一到算法题——乘积分析
给你一个数组A[1..n],请你在O(n)的时间里构造一个新的数组B[1..n],使得B[i]=A[1]*A[2]*...*A[n]/A[i]。你不能使用除法运算。如果直接暴力,时间为O(n^2),所以要优化我们看到 B[i]=A[1]*......A[i-1]*A[i+1]*......A[n];分成两份:第一部分是A[1]*......A[i-1] 第二部分是原创 2014-08-05 10:41:59 · 753 阅读 · 0 评论