http://poj.org/problem?id=2418

字典数编号,统计每个单词出现的次数,然后计算频率:

View Code

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define maxn 10007using namespace std;

struct node{int flag;    node *next[100];}*head,H[999999];int pos;int L;struct mm{char s[33];}pp[maxn];int cmp(mm a,mm b){return strcmp(a.s,b.s) < 0;}node* newnode(){    node *q = &H[pos++];for (int i = 0; i< 100; ++i)    q->next[i] = NULL;    q->flag = 0;return q;}void insert(char *s){int i,k;//printf(">>%s\n",s);    int len = strlen(s);    node *p = head;for (i = 0; i < len; ++i)    {        k = s[i] - 32;if (p->next[k] == NULL)        p->next[k] = newnode();        p = p->next[k];    }if (p->flag == 0)    {        strcpy(pp[L++].s,s);        p->flag++;    }else    p->flag++;

}int find(char *s){int i,k;int len = strlen(s);    node *p = head;for (i = 0; i < len; ++i)    {        k = s[i] - 32;if (p->next[k] == NULL)        {return 0;        }        p = p->next[k];    }return p->flag;}

int main(){//freopen("in.txt","r",stdin);     char ch[33];     L = pos = 0;     head = &H[pos++];int sum = 0;while (gets(ch) != NULL)    {        sum++;        insert(ch);    }    sort(pp,pp + L,cmp);for (int i = 0; i < L; ++i)    {double num = find(pp[i].s);        printf("%s %.4lf\n",pp[i].s,100.0*num/(1.0*sum));    }return 0;}

转载于:https://www.cnblogs.com/E-star/archive/2012/04/06/2435370.html

pku 2418 Hardwood Species 字典树相关推荐

  1. POJ 2418 Hardwood Species(trie 树)

    题目链接 开始想用map的,字典序不会搞,还是老老实实的用trie树把.好久没写了,忘得差不多了. 1 #include <iostream> 2 #include <cstdio& ...

  2. poj 2418 Hardwood Species

    map // 题意:给出不同的树,求每种树所占的比例,并要求树名按字典序由小到大输出#include <iostream>#include <string>#include & ...

  3. [PKU 3630] 字符串(二) {Trie 字典树}

    { 开始讨论字符串的问题 上一篇是转载Matrix67的KMP算法讲解 这一篇主要讨论Trie } Trie (发音Try) 是一棵用于存储多个字符串的多叉树 由于插入和查询都极为高效 又称字典树 树 ...

  4. HDU 1800(字典树)

    简单的字典树水题,统计为单词前缀的单词数,取最大,注意要去前0,具体原理还是自己想想吧,最大数决定了最大分组. 诶 PKU月赛之后 我发现我只会水的 .............. #include&l ...

  5. hdu5296 01字典树

    根据二进制建一棵01字典树,每个节点的答案等于左节点0的个数 * 右节点1的个数 * 2,遍历整棵树就能得到答案. AC代码: #include<cstdio> using namespa ...

  6. BZOJ 3483 SGU505 Prefixes and suffixes(字典树+可持久化线段树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3483 [题目大意] 给出一些串,同时给出m对前缀后缀,询问有多少串满足给出的前缀后缀模 ...

  7. 2014百度之星 Xor Sum(字典树+贪心)

    题目在HDU_OJ Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometh ...

  8. HDU6964 I love counting (字典树+莫队)

    题意: 给定一个长度为 nnn 的序列c,qc,qc,q 次询问,每次给出l,r,a,bl,r,a,bl,r,a,b求在[l,r][l,r][l,r]中有多少种不同的值 kkk 满足 k⊕a≤b​.k ...

  9. Beautiful Subarrays (01字典树 瞎搞)

    题意: 题解: 一看问的是子序列,并且还是异或. 首先想到01字典树,再一看让你求子序列的个数,大致是想让你把这个序列进行前缀异或处理后然后再01字典树上进行操作吧. 假设01字典树往左边是0右边是1 ...

最新文章

  1. 从化工行业转到IT行业
  2. 《数学建模:基于R》——2.2 方差分析
  3. iOS Sprite Kit教程之申请和下载证书
  4. include(),include_once(),requice(),require_once()的区别
  5. 弹性计算双周刊 第7期
  6. beacon帧字段结构最全总结(三)——VHT字段总结
  7. python中计算排队等待时间_codewars(python)练习笔记十:计算超市排队时长
  8. html载入hta文件,HTA文件去除html控件认证和接收命令行参数
  9. MySql 存储大量长字节 Text报错处理办法
  10. 1.5.7、CDH 搭建Hadoop在安装之前(定制安装解决方案---配置单用户模式)
  11. 轻量级DI框架Guice使用详解
  12. 快递扫码入库PC系统
  13. 计算机所占比例的函数,(excel求百分比函数公式)excel所占比例怎么算
  14. oracle增加字段为主键自增_Oracle新增自增一的主键字段和赋值代码
  15. 叶片静频测量方法理论基础(自振法上)
  16. SQL的select 语句的执行顺序
  17. 获取图片地址并下载图片
  18. 双端影视APP后台搭建及前端安装编译大概流程
  19. 基于Redis实现秒杀系统
  20. 执行node的http或https报了个错:Error: socket hang up

热门文章

  1. addeventlistener事件第三个参数 passive_JS DOM 事件流、事件冒泡
  2. python 连续比较_For循环比较python中以前的值
  3. redis将散裂中某个值自增_redis五种数据类型
  4. 笨方法python3_“笨方法”学Python3,习题 34 。
  5. 两者相差百分比怎么算_相差200元!小米11和iQOO 7谁更值得买?说说真实想法
  6. nstimer循环引用_ios开发中经典循环引用场景?
  7. servlet容器_Servlet详解(一)之基本概念
  8. 400+的考研复试线怎么玩???满屏都是400+?今年国家线会涨吗?
  9. java 控制 crt_secureCRT关闭连接自动关闭tomcat服务
  10. java 界面位置_java界面中怎样设置位置