12 2015 档案
摘要:Darts: Double-ARray Trie System 开篇 Darts 是用于构建双数组 Double-Array [Aoe 1989] 的简单的 C++ Template Library . 双数组 (Double-Array) 是用于实现 Trie 的一种数据结构, 比其它...
阅读全文
摘要:设a[n]为和为 n 的种类数; 根据题目可知,加数为2的N次方,即 n 为奇数时等于它前一个数 n-1 的种类数 a[n-1] ,若 n 为偶数时分加数中有无 1 讨论,即关键是对 n 为偶数时进行讨论: 1.n为奇数,a[n]=a[n-1] 2.n为偶数: (1)如果加数里含1,则一定至少有...
阅读全文
摘要:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。 #include #include char decryption[26];char ch[81...
阅读全文
摘要:首先当n为奇数时显然无解的,输出0; 当n为偶数时,从小看: n=2时有3种。每增加两列,可以看成一下情况: 1.这两列与之前不相连,单独摆放,有3种,即3*f(n-2); 2.这两列与之前两列中间相连,也就是说中线有横着摆放的(n-2和n-1列),有这种,还可以把底下两个横着的放到顶上...
阅读全文
摘要:思路:首先,暴力会TLE,所以要把4个数分成2个和2个(关于这一点请阅读《挑战程序设计竞赛》)。注意到a*x1^2+b*x2^2的范围大小为2000000,我们不妨遍历前两个数,计算并记录在一个数组hash[]后,再遍历后两个数,并在hash[]中直接查找,这样复杂度就为O(n^2)(n=10...
阅读全文
摘要:#include #include #define N 1000001using namespace std;bool cmp(const int& a, const int& b) { return a > b;}int main() { int n, m, i; int d[N]; whi...
阅读全文
摘要://据说使用线段树的 #include #include #define N 101int i, j, ans, buf[N][N];void print() { ans = 0; for(i=0; ibx) { tmp = ax; ax = bx; bx = tmp; } if...
阅读全文
摘要:通过数据要判断俩点: 1、要保证每个点都相通,2、两点之间只有一条路径相通 方法: 1、判断连通图,即ans#include #define N 100001struct d{ int x; int y;}buf[N];int flag;int parent[N];bool judge[N];i...
阅读全文
摘要:为啥ans要 -1 ? 未解。 #include #define N 1000struct d{ int x; int y;}buf[N];int parent[N];int find(int x) { return x==parent[x] ? x : find(parent[x]);}voi...
阅读全文
摘要:并查集 for(i=0; i#define N 1001struct d{ int x; int y;}buf[N];int parent[N];int find(int x) { return x==parent[x] ? x : find(parent[x]);}void uni(int x...
阅读全文
摘要:思想实验是指:使用想象力去进行的实验,所做的都是在现实中无法做到(或现实未做到)的实验。例如爱因斯坦有关相对运动的著名思想实验,又例如在爱因斯坦和英费尔德合著的科普读物《物理之演进》中,就有一个实验要求读者想像一个平滑,无摩擦力的地面及球体进行实验,但这在现实(或暂时)是做不到的。思...
阅读全文
摘要:我知道我很水。 #include int main() { char c; int tmp = 0; while(scanf("%c", &c)) { if(c=='#') break; else if(c=='\n') { tmp = 0; } else if(c=='1') {...
阅读全文
摘要:求多边形重心的题目大致有这么几种: 1、质量集中在顶点上 n个顶点坐标为(xi,yi),质量为mi,则重心 X = ∑( xi×mi ) / ∑mi Y = ∑( yi×mi ) / ∑mi 特殊地,若每个点的质量相同,则 X = ∑xi / n Y = ∑yi...
阅读全文
摘要:S(abc) = (|ab|*|ac|*sinΘ) / 2 = |ab| × |ac| / 2//叉积 #include struct point { double x1, y1, x2, y2;}buf[101];int judge(int i, int j) { //叉积 int f1=...
阅读全文
摘要:Home Learners Instructors Developers Download Beam Search Algorithm (Draft by Andrew Jungwirth) Objectives To show how the Beam Search Al...
阅读全文
摘要:傻逼?还打个笑脸,笑尼玛。 # include # include char str[1010] ;int isvowels (char ch){ if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == ...
阅读全文
摘要:01背包问题 题目 有N件物品和一个容量为M的背包,每种物品只可以取一件。第i件物品的费用是c[i],价值是v[i]。求解将哪些物品装入背包可使价值总和最大。 分析 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][j]表示前i件物品恰放入...
阅读全文
摘要:HMM Part-of-Speech Tagging A HMM is like this: Q=q1q2....qN A set of N status A=a1a2...an1...ann A transition probability matrix A, ea...
阅读全文
摘要:#include#includeusing namespace std;int main(){ int t,i; string s1,s2; string data,input; scanf("%d",&t); getchar(); //过滤掉...
阅读全文
摘要:看源码还是看Python比较好,不像看Java的,Java的繁杂。
阅读全文
摘要:The goal of the forward algorithm is to compute the joint probability , where for notational convenience we have abbreviated as and as . Compu...
阅读全文
摘要:An Implementation of Double-Array Trie Contents What is Trie?What Does It Take to Implement a Trie?Tripple-Array TrieDouble-Array TrieSuffix Compr...
阅读全文
摘要:1. 隐马尔可夫模型的定义和构成 2. 隐马尔可夫模型的三个问题 3. 基于隐马尔可夫模型的分词算法实现 1.1. 介绍隐马尔科夫模型之前首先说一下几个重要的概念, (1)马尔可夫假设:模型的当前状态仅仅依赖于前面n个状态,可以看到这种假设有可能会丢失信息。 (2)马尔可夫过程...
阅读全文
摘要:并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?) 来看一个实例,杭电1232畅通工程 首先在地图上给你若干个城镇,这些城镇都可以看作点,...
阅读全文
摘要:本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。 更多的信息可以参考Algorithms 一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。 原文中更多的是给出一些结论,我尝试给出一些思路上的过程,即为什么要使用这...
阅读全文
摘要:很有段时间没写此系列了,今天我们来说Trie树,Trie树的名字有很多,比如字典树,前缀树等等。 一:概念 下面我们有and,as,at,cn,com这些关键词,那么如何构建trie树呢? 从上面的图中,我们或多或少的可以发现一些好玩的特性。 第一:根节点不包...
阅读全文
摘要:神啊,原谅我愚笨的大脑吧。 #include #include int main() { int T,x,q,tk; int m; scanf("%d",&T); int i; for(i=0;i<T;i++) { ...
阅读全文
摘要:第28行,原来用的是abs,WA。因为返回的是int类型的,所以总是0。自己写了个myabs函数。 #include #include float myabs(float a) { return a>0?a:-a; } int main() { int n, i, ans; do...
阅读全文
摘要:对于我来说,非学霸,智商一般。不能看完一个知识点就写出代码来,网上找不到单个的对应于一个知识点的源码,于是决定看开源了。看开源很痛苦,一个Java文件引了别的包的文件,去那个包里看看,它又引了一大堆别的包的文件。感觉是无底洞。但是还是要看,不知道到放寒假回家时的俩个月里能不能看完HanNLP。选...
阅读全文
摘要:在项目中调试或查看代码过程中,有时点中某个类想看源代码,却会跳出"Class File Editor",此时需要导入相应源码才行。 导入源码的方式如下: 1.在弹出的"Class File Editor"页面,有个"Change Attached source..."按钮,点击该按钮,会弹...
阅读全文
摘要:#include #include int main() { char *num[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; char ch, c[50], te...
阅读全文
摘要:(1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域。 析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数...
阅读全文
摘要:错排公式。。。 当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推. 第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法; 第二步,放编号为k的元素,这时有两种...
阅读全文

浙公网安备 33010602011771号