HDU-1251 统计难题
来源:互联网 发布:怎样升级淘宝新版本 编辑:程序博客网 时间:2024/05/16 08:24
考查Trie树,用G++提交会超内存,原因不详,C++提交AC
// Tire树// 用G++提交会超内存,具体原因不详// 用C++提交AC#include <cstdio>#include <string>#include <cstdlib>#include <iostream>#include <string.h>using namespace std;typedef struct node { struct node* next[26]; int num; bool isLeaf; node() { for( int i = 0; i < 26; i++ ) { next[i] = NULL; } num = 0; isLeaf = true; }} Node;int Max = 0;Node* createTrie() { Node* root = ( Node* )malloc( sizeof( Node ) ); for( int i = 0; i < 26; i++ ) { root->next[i] = NULL; } root->num = 0; root->isLeaf = true; return root;}void insert( Node* root, char str[] ) { Node* r = root; for( int i = 0; i < strlen( str ); i++ ) { if( r->next[str[i] - 'a'] == NULL ) { Node* p = createTrie(); //r->next[str[i] - 'a'] = new Node; r->next[str[i] - 'a'] = p; r->isLeaf = false; } r = r->next[str[i] - 'a']; r->num++; } r->isLeaf = true;}int find( Node* root, char str[] ) { Node* r = root; for( int i = 0; i < strlen( str ); i++ ) { if( r->next[str[i] - 'a'] == NULL ) return 0; r = r->next[str[i] - 'a']; } return r->num;}void deleteTrie( Node* root ) { for( int i = 0; i < 26; i++ ) { if( root->next[i] ) { deleteTrie( root->next[i] ); } } free( root );}int main() { Node* root = createTrie(); //Node* root = new Node; char str[15]; while( gets( str ) ) { if( strlen( str ) == 0 ) break; insert( root, str ); } while( gets( str ) ) { printf( "%d\n", find( root, str ) ); } deleteTrie( root ); return 0;}
0 0
- HDU 1251 统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- HDU 1251:统计难题
- HDU 1251 统计难题
- Hdu-1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- HDU-1251-统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- hdu 1251统计难题
- hdu 1251 统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- 为什么网站要做SEO优化,它对网站的重要性分析
- HDU 6027 Easy Summation
- MySQL错误:You must reset your password using ALTER USER statement before executing this statement.
- Java解析APK信息,使用ApkFile
- java.lang.VerifyError: Inconsistent stackmap frames at branch target ? 解决
- HDU-1251 统计难题
- C++
- java参数传递
- hibernate报错failed to lazily initialize a collection of role
- controller as vm的用法是为了区分
- 数据库连接池DBCP与C3P0详解
- JAX-WS Web Service -春秋航空销售部分接口使用
- 在PhpStorm中管理GitHub代码仓库的使用方法
- 机器学习实战-第六章(支持向量机)