
算法
文章平均质量分 81
HTUN
Computer Science
展开
-
POJ 1218 解题报告
还是水题,模拟实现。唯一需要注意的地方就是输出的格式。如果一个单词一个单词的输入,并算出其编码再返回,会遇上PRESENTATION ERROR,因为你永远不知道下一个是不是END,所以你无法决定在该单词的译码输出之后该不该换行。所以用getline函数实现就好了,这样,你可以知道一行输入完毕,输出的时候也就输出一行罢了。 getlineistream& get原创 2012-12-23 22:32:37 · 594 阅读 · 0 评论 -
R中进行PCA主成分分析
1. PCA优缺点利用PCA达到降维目的,避免高维灾难。PCA把所有样本当作一个整体处理,忽略了类别属性,所以其丢掉的某些属性可能正好包含了重要的分类信息2. PCA原理 条件1:给定一个m*n的数据矩阵D, 其协方差矩阵为S. 如果D经过预处理, 使得每个每个属性的均值均为0, 则有S=DTDS=D^TD。PCA的目标是找到一个满足如下性质的数据变换: - 每对不同的新属性的协方差为原创 2015-04-12 12:27:53 · 7755 阅读 · 0 评论 -
从Recycled Numbers谈字符串和数字的操作便利性
首先是CodeJam上的一道题目:ProblemDo you ever become frustrated with television because you keep seeing the same things, recycled over and over again? Well I personally don't care about television, but原创 2014-03-30 12:26:43 · 1836 阅读 · 0 评论 -
XOJ 1004.Sort Ver.2 From XMU
DescriptionGive a set of numbers, output them after sort. You may use any algorithm you like to solve it.InputEach input file contains only one case.Each test case begins wit原创 2012-12-23 22:20:12 · 1229 阅读 · 0 评论 -
集合的包含问题
题目1:给定两个字符串s1和s2,判断s2是否能够被s1做循环移位得到的字符串包含。解决办法1-1:最直观的办法是将s1循环移位,并每次判断其是否包含。解决办法1-2:在上一个办法上,我们可以做出一点改进。例如s1为ABDC,则将其循环移动(左移或右移都一样)后,所有的子串均包含在ABDCABDC中,所以我们直接判断s2是否是这个字符串的子串即可。原创 2013-09-19 15:31:31 · 1331 阅读 · 0 评论 -
质数分解——解决一个有关阶乘问题
题目:给定一个整数N,请输出N!末尾有多少个0?解决方案1:计算N!,并搜索其末尾,判断0的个数。N!可能过大,数会溢出,如果用该办法,需自己完成一个大数乘法的类,才会好用!解决方案2:对N!进行质因数分解,可知N!=pow(2,x)*pow(3,y)*pow(5,z)...,能让末尾有零的必然是2*5。可以想见,2的个数远多于5的个数,即 x>z ,所以,末尾应该有z个0。解决方原创 2013-09-17 10:55:24 · 1542 阅读 · 0 评论 -
梁友栋-Barsky裁剪算法
Cyrus和Beck用参数化方法提出了比Cohen-Sutherland更有效的算法。后来梁友栋和Barsky独立地提出了更快的参数化线段裁剪算法,也称为Liany-Barsky(LB)算法。 一、梁友栋-Barsky裁剪算法思想: 我们知道,一条两端点为P1(x1,y1)、P2(x2,y2)的线段可以用参数方程形式表示: x= x1+ u·(x2-x1)转载 2012-12-28 15:58:24 · 24310 阅读 · 3 评论 -
POJ 1316 解题报告
水题一个,纯粹打表。不过值得注意的是用纯C++会TLE,主要是因为cin和cout的效率太低。所以这道题还是用C的printf比较好。源代码:#include int main(){ int temp,flag=1; for (int i=1;i<9994;++i) { flag=1; for (int原创 2012-12-23 22:34:10 · 644 阅读 · 0 评论 -
POJ 1218 解题报告
水题一个,模拟实现就好。源代码:#include #includeusing namespace std; class Prison{private: vector locked; vector unlocked; int N;public: void Init() { cin>>N; l原创 2012-12-23 22:29:45 · 578 阅读 · 0 评论 -
POJ 1146 解题报告
解题思路: 和C++中STL的next_permutation类似,寻找序列的下一个排列。需注意的一点是,该序列中存在字母相同的数位,所以如果自己编写next_permutation的功能,在多个相同字母均可选择的情况下,需考虑优先选择哪一个。next_permutation具体实现思路: 对于序列p1,p2,```,pn,其下一个全排列序列的方法原创 2012-12-23 22:27:19 · 1150 阅读 · 0 评论 -
Permutation 算法
#include#includetypedef struct{int *arr;int length;}SqList;void Perm(SqList &L,int m){int i,j,temp;if(m==L.length){for(i=0;i<L.length;i++)printf("%d ",L.arr[i]);printf("原创 2012-12-23 22:23:43 · 1139 阅读 · 0 评论 -
ARIMA(p,d,q)模型-1-MA模型
ARIMA模型介绍ARIMA并不是一个特定的模型,而是一类模型的总称。他的3个参数p, d, q分别表示自相关(p阶AR模型), d次差分,滑动平均(q阶MA模型)。因此有, - p = d = 0, ARIMA模型即MA(q)模型; - d = q = 0, ARIMA模型即AR(p)模型;MA模型含义当前时刻的值可以表示为过去干扰项和当前干扰项的线性组合。MA模型描述符号和前原创 2015-06-07 11:17:41 · 34563 阅读 · 1 评论