书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

2011年10月2日

线段树和下移操作解决HDOJ 1698

摘要: Problem DescriptionIn the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length.Now Pudge wants to do some operations on the hook.Let us number the consecutive metallic stick 阅读全文

posted @ 2011-10-02 10:22 More study needed. 阅读(315) 评论(0) 推荐(2) 编辑

2011年10月1日

线段树解决HDOJ 1754

摘要: Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目。学生ID编号分别从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩。接下来有M行。每一行有一个 阅读全文

posted @ 2011-10-01 17:05 More study needed. 阅读(271) 评论(0) 推荐(0) 编辑

线段树重温——刷墙

摘要: 描述在一面很长的墙壁上,工人们用不同的油漆去刷墙,然而可能有些地方刷过以后觉得不好看,他们会重新刷一下。有些部分因为重复刷了很多次覆盖了很多层油漆,toshio很好奇那些地方被刷过多少种颜色的油漆。输入若干行输入,每行两个数字B[i],E[i](0<=B[i]<=E[i]<=200000)表示这次刷的墙壁是哪一段(假设每次刷的时候油漆颜色都和之前的不同),以0 0结束又若干行输入,每行两个数字begin[i],end[i](0<=begin[i]<=end[i]<=200000)表示toshio询问的段,以0 0结束输出对于每个toshio的询问输出(end 阅读全文

posted @ 2011-10-01 14:45 More study needed. 阅读(397) 评论(0) 推荐(0) 编辑

2011年9月26日

Hash和枚举 解决POJ 1840

摘要: DescriptionConsider equations having the following form:a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0The coefficients are given integers from the interval [-50,50].It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the equation, xi∈[-50,50], xi != 0, any i∈{1,2,3,4,5}.Determine how many sol 阅读全文

posted @ 2011-09-26 19:21 More study needed. 阅读(244) 评论(0) 推荐(1) 编辑

2011年9月25日

Huffman和Priority_queue 解决POJ 1521

摘要: 题目:http://poj.org/problem?id=1521题目大意:给定字符串,求哈夫曼编码长和它与等长编码的比值做这道题目的时候wrang了好几次,但是,经过调试之后,我彻底了解了哈夫曼树的过程说来相当有价值了。在下面我也会分享出来的。View Code #include <iostream> #include "cstdio"#include "string"#include "cstring"#include <queue> using namespace std; struct Num{ int 阅读全文

posted @ 2011-09-25 22:06 More study needed. 阅读(313) 评论(0) 推荐(0) 编辑

Huffman和Priority_queue 解决POJ 3253

摘要: DescriptionFarmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needsN(1 ≤N≤ 20,000) planks of wood, each having some integer lengthLi(1 ≤Li≤ 50,000) units. He then purchases a single long board just long enough to saw into theNplanks (i 阅读全文

posted @ 2011-09-25 11:41 More study needed. 阅读(222) 评论(0) 推荐(0) 编辑

Huffman算法总结归纳

摘要: 基本术语 哈夫曼树又称为最优树. 1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路,称为路径。 通路中分支的数目称为路径长度。若规定根结点的层数为1, 则从根结点到第L层结点的路径长度为L-1。 2、结点的权及带权路径长度 若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。 结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。 3、树的带权路径长度 树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。Huffman的构造方法 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分... 阅读全文

posted @ 2011-09-25 10:56 More study needed. 阅读(436) 评论(0) 推荐(0) 编辑

Hash算法——暴雪

摘要: 暴雪公司有个经典的字符串的hash公式先提一个简单的问题,假如有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评价,或许它真的能工作,但也只能如此了。最合适的算法自然是使用HashTable(哈希表),先介绍介绍其中的基本知识,所谓Hash,一般是一个整数,通过某种算法,可以把一个字符串"压缩"成一个整数,这个数称为Hash,当然,无论如何,一个32位 阅读全文

posted @ 2011-09-25 10:30 More study needed. 阅读(526) 评论(0) 推荐(0) 编辑

2011年9月24日

Hash技术的总结归纳

摘要: 在看哈希之前还是来看看“散列函数(哈希函数)”吧,后面会用到的。解决冲突的方法。 开放定址法。如果h(k)已经被占用,按如下序列探查: (h(k)+p(1))%TSize, (h(k)+p(2))%TSize, …,(h(k)+p(i))%TSize,… 其中,h(k)为哈希函数,TSize为哈希表长,p(i)为探查函数。 在 h(k)+p(i-1))%TSize的基础上,若发现冲突, 则使用增量 p(i) 进行新的探测,直至无冲突出现为止。 其中,根据探查函数p(i)的不同,开放定址法又分为 (1)线性探查法(p(i) = i : 1 , 2 , 3 , …), ... 阅读全文

posted @ 2011-09-24 10:57 More study needed. 阅读(1821) 评论(0) 推荐(0) 编辑

2011年9月23日

STL之map——解决POJ 2503

摘要: DescriptionYou have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.InputInput consists of up to 100,000 dictionary entries, followed by a blank line, followed by a message 阅读全文

posted @ 2011-09-23 22:52 More study needed. 阅读(179) 评论(0) 推荐(0) 编辑

导航

书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!