`
yzmduncan
  • 浏览: 326642 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论
文章列表
    不记得上一次写博客是什么时候了。平常工作忙的像狗,周末有时也加班,空余时间太少。这周妹纸出差,难得清静。     这一年工作节奏还是蛮快的,参与开发5、6个系统,也学了做了不少东西,有技术性强的,也有边 ...
       听过朴素贝叶斯的人,知道多项式朴素贝叶斯是神马,伯努利贝叶斯是神马吗?如果不知道,请继续读下去。       其实所谓的“多项式”或“伯努利”,只不过是在求先验概率和条件概率时统计方法不一样,基本 ...
    分类的概念很简单,就是给出一个样本x,判断样本所属的类别y,分类器就是映射函数f: y=f(x)。当然,这个函数是需要根据以往的经验(大量已知类别的样本集)来构造的。这个构造的过程,称为训练,而如何构造,就是 ...
  例:ZOJ3645 题意:高斯消元模板题(浮点型)   /** 高斯消元求解线性方程组. */ #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; ///高斯消元模板 const double eps = 1e-12; const int Max_M = 15; ///m个方程,n个变量 const int ...
    本来上周日(11.25)轮到我做汇报,PPT都写好了,看到ZOJ有月赛,便想练练手。    当时做比赛的时候已经三点了,看到DFIJ这四题出的比较多,就决定拿下这4道题。       J题(ZOJ3675) Trim the Nails     题意:指甲宽为m,指甲刀宽为n,单位均为毫米,但指甲刀是不完整的,'*'表示完整,'.'表示不完整。问最少剪几次可以剪完指甲。注意指甲刀可以翻转。比如输入m=7 n=6且指甲刀表示为***..*:   fingernail: ------- nail clipper: *..*** nail clipper turned ...
STK简介     美国Analytical Graphics公司开发的STK卫星工具包软件,是航天工业领先的商品化分析软件。 STK可以快速方便地分析复杂的陆、海、空、天任务, 并提供易于理解的图表和文本形式的分析结果,确定最佳解决方案。它 ...
    计算几何是研究几何目标在计算机环境内的数学表示,计算等方面的理论和应用。     首先必须理解向量的点积和叉积。点积一般用来计算投影,数学证明等。叉积用来判断相对方位,求面积等,叉积的模为平行四边形面积。     问题1. 如何判断两条线段相交    通过快速排斥实验和跨立实验。快速排斥实验室看以两条线段作为对角线的矩形是否相交,若不相交,则必定两条线段不相交;跨立实验是看其中一条线段是否跨立另一条线段,可以通过矢量叉积实现。      问题2. 如何判断点在多边形内(ZOJ1081)    一种简单的方法——射线法。从该点引一条水平射线,根据射线与多边形的交点数的奇偶性来判 ...
    树形DP,即是在一颗树上进行DP,一般是有叶子节点状态推出根节点状态。结合几个简单例子分析。 例1. POJ2342/POJ3342 【题意】 公司有n个人,每个人有价值vi,有一天举办年会,每个人都可以参加,但有严格的等级制度,参加活动时,不能同时出现a和a的上司,问如何才能使总和最大。 【分析】 每个人只有去和不去两种状态,设DP[i][0]和DP[i][1]分别表示第i个人不参加和参加年会,获得的总的最大价值。 则状态转移方程为: DP[i][1] += DP[j][0], DP[i][0] += max{DP[j][0],DP[j][1]};其中j为i的孩子节点。 ...
    最近在做单调队列,发现了最长上升子序列O(nlogn)的求法也有利用单调队列的思想。     最长递增子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i<j,必有a[i]<a[j],这样最长的子序列称为最长递增子序列。    设dp[i]表示以i为结尾的最长递增子序列的长度,则状态转移方程为: dp[i] = max{dp[j]+1}, 1<=j<i,a[j]<a[i].    这样简单的复杂度为O(n^2),其实还有更好的方法。    考虑两个数a[x]和a[y],x<y且a[x]<a[y],且dp[x] ...
  单调队列即队列内元素单调递增或递减,删除数据可以在队头或者队尾,加入元素只能在队尾加入。  由于单调队列的队头一定是最小值,故查询为O(1);每个元素最多进队一次,出队一次,摊排分析下来仍然是O(1).   例1. 广 ...
    在二维平面上的n个点中,如何快速的找出最近的一对点,就是最近点对问题。     一种简单的想法是暴力枚举每两个点,记录最小距离,显然,时间复杂度为O(n^2)。     在这里介绍一种时间复杂度为O(nlognlogn)的算法。其实,这里用到了分治的思想。将所给平面上n个点的集合S分成两个子集S1和S2,每个子集中约有n/2个点。然后在每个子集中递归地求最接近的点对。在这里,一个关键的问题是如何实现分治法中的合并步骤,即由S1和S2的最接近点对,如何求得原集合S中的最接近点对。如果这两个点分别在S1和S2中,问题就变得复杂了。     为了使问题变得简单,首先考虑一维的情形。此时, ...
    Polya定理     设有n个对象,G是这n个对象上的置换群,用m种颜色涂染这n个对象,每个对象涂染一种颜色,问有多少种染色方案?一种染色方案在群G的作用下变为另一种方案,则这两种方案当作是一种方案。     方案数为   POJ2409    题意:一家项链公司生产手镯。n颗珠子形成一个环,用m种颜色给n颗珠子染色,就得到了各种各样的手镯。但是,经过旋转和翻转使之吻合的算同一种方案。 例如,当用2种颜色对5颗珠子进行染色的方案数为8,如下图所示。   解:显然,对于这n个对象,有n种旋转和n种翻转。 1. 对于旋转,有c(gi) = gcd(n,i),i为转动几颗珠 ...
    n个有序的元素应有n!个不同的排列,若一个排列使得所有的元素都不在原来位置上,则称这个排列为错排。 错排公式推导     设n个数1,2,3...,n错排数目为Dn,对于其中任意一个数i:     (1) 数i分别与其他的n-1个数交换位置,其余n-2个数进行错排,共得到(n-1)Dn-2个错排;     (2) 对除数i以外的n-1个数进行错排,然后i与其中每个数互换,得到(n-1)Dn-1个错排。     因此,得到递推关系:Dn=(n-1)(Dn-1 + Dn-2),D1=0,D2=1。它的通解为Dn=n!-C(n,1)(n-1)!+C(n,2)(n-2)! - ... ...
    所谓鸽巢原理,即n+1只鸽子,只有n个巢,则至少有一鸽巢有两只鸽子。     鸽巢原理理解起来并不困难,有些题目需要转换一下。     POJ3770     题意:有n个数,可能相同也可能不相同,从中取出一些数,使它们的和能被c整除(c<=n),任意输出一种方案。     解:构造序列si,使得           s1 = a1           s2 = a1 + a2           s3 = a1 + a2 + a3           ...           sn = a1 + a2 + ... + an     这样,有两种可能:    ...
中国剩余定理      中国剩余定理是中国古代求解一次同余方程组的方法,是数论中的一个重要定理。      设m1,m2,m3,...,mk是两两互素的正整数,即gcd(mi,mj)=1,i!=j,i,j=1,2,3,...,k. 则同余方程组: x = a1 (mod n1) x = a2 (mod n2) ... x = ak (mod nk) 模[n1,n2,...nk]有唯一解,即在[n1,n2,...,nk]的意义下,存在唯一的x,满足: x = ai mod [n1,n2,...,nk], i=1,2,3,...,k。 解可以写为这种形式: x = sigma( ...
Global site tag (gtag.js) - Google Analytics