`
xxx0624
  • 浏览: 31659 次
文章分类
社区版块
存档分类
最新评论

HDU2698+字符串

 
阅读更多

不懂。。

sort位置不同就是不同的结果。。。

/*
字符串处理
*/
#include<stdio.h>
#include<string>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<map>
#include<stack>
#include<set>
#include<math.h>
using namespace std;
typedef long long int64;
//typedef __int64 int64;
typedef pair<int64,int64> PII;
#define MP(a,b) make_pair((a),(b)) 
const int maxn = 115;
const int inf = 0x7fffffff;
const double pi=acos(-1.0);
const double eps = 1e-8;
struct Node{
	char s[ maxn ];
	int cnt;
}a[ maxn ],q[ maxn ];

int Find( char s[],int n ){
	for( int i=1;i<n;i++ ){
		if( strcmp( s,a[i].s)==0 ) 
			return i;
	}
	return -1;
}
bool cmp( Node a,Node b ){
	if( a.cnt!=b.cnt ) return a.cnt>b.cnt;
	else {
		if( strcmp( a.s,b.s )<=0 ) return true;
		else return false;
	}
}
int main(){
	int T;
	scanf("%d",&T);
	while( T-- ){
		int n;
		scanf("%d",&n);
		//init();
		char ID[ maxn ],Web[ maxn ];
		//char L[ maxn ];
		//char R[ maxn ];
		int Cnt = 1;//统计不同的网址
		int cc;
		while( n-- ){
			scanf("%s%s",ID,Web);
			//cin>>ID>>Web;
			cc = Find( Web,Cnt );
			if( ID[0]=='V' ){
				if( cc==-1 ){
					strcpy( a[Cnt].s,Web );
					a[ Cnt ].cnt = 1;
					Cnt++;
					//printf("Add success\n");
				}
				else{
					a[ cc ].cnt++;
				}
			}
			else{
				//sort( a+1,a+1+Cnt,cmp );
				//memset( L,'\0',sizeof( L ) );
				//memset( R,'\0',sizeof( R ) );
				int pp = 0;
				for( int k=1;k<Cnt;k++ ){
					bool f = false;
					for( int i=0;Web[i]!='\0';i++ ){
						if( Web[i]!=a[k].s[i] ){
							f = true;
							break;
						}
					}
					if( f==false ){ 
						//printf("%s\n",a[k].s);
						q[ pp++ ] = a[ k ];
					}
				}
				sort( q,q+pp,cmp );
				for( int i=0;i<pp;i++ ){
					printf("%s\n",q[i].s);
				}
				printf("\n");
			}
		}
	}
	return 0;
}



分享到:
评论

相关推荐

    hdu 300+ AC 代码

    在竞赛编程中,字符串问题可能涉及到KMP算法、Manacher's Algorithm(曼哈顿算法)或者Rabin-Karp滚动哈希等技术,用于高效地处理字符串的匹配和操作。 4. **动态规划(DP)**:动态规划是一种解决问题的系统方法,...

    HDU+2000-2099+解题报告.zip

    在HDU OnlineJudge中,题目通常涉及了算法竞赛中常见的问题类型,如图论、动态规划、贪心算法、排序与搜索、字符串处理、数学计算等。解题报告中的每一道题目都提供了详尽的解题思路,旨在帮助参赛者理解和掌握各种...

    HDU+2000-2099+解题报告

    4. **字符串处理**:如KMP算法、Manacher's Algorithm、后缀数组、Z-Algorithm等,常用于查找模式匹配和文本处理。 5. **数论**:包括最大公约数(GCD)、最小公倍数(LCM)、模逆、线性同余方程、素数判断等。 6. **...

    字符串题目记录

    该标题表明了问题的主题是字符串题目记录,可能来自于不同的 OJ 平台,如 POJ、HDU、SPOJ、SGU、HUST 和 FZU 等。 描述:上面可能有 POJ 的题目,HDU 的题目,SPOJ 的题目,SGU 的题目,HUST 上的题目,FZU 上的...

    ACM HDU题目分类

    字符串处理是 ACM HDU 题目分类中的一大类,例如,1020 简单的字符串处理;1048 简单字符串处理;1062 简单字符串处理;1073 字符串处理 等等。 其他 除了以上分类外,ACM HDU 题目分类还包括其他一些分类,例如,...

    hdu 的2072,2084,2082,1170,ac代码

    HDU 2082题则是字符串操作的另一种形式,这里的关键是字符串的重组。程序首先读取测试用例的数量,随后对于每个测试用例,读取一个字符串,并将其后半部分与前半部分对调,从而形成一个新的字符串。这样的问题不仅仅...

    hdu 5007 Post Robot

    hdu 5007 Post Robot 字符串枚举。 暴力一下就可以了。

    hdu1250高精度加法

    5. **转换为字符串**:将结果数组中的数字转换为字符形式,并存储到最终的字符串数组中。 #### 总结 通过本题的解决过程,我们不仅学会了如何编写高精度加法算法,还了解了如何将其应用到实际问题中。虽然题目提到...

    ACM字符串题目及源代码[参照].pdf

    - HDU1403最长公共子串:题目要求找到两个给定字符串的最长公共子串。提供的源代码中使用了后缀数组(Suffix Array)和LCP(Longest Common Prefix)的概念来解决这个问题。后缀数组是所有字符串后缀排序的结果,而LCP...

    ACM入门十题(杭电oj)

    ### Hdu1002:字符串加法 这是一道关于字符串操作和大数加法的题目。由于整型变量可能不足以存储非常大的数字,因此使用字符串来表示大数,通过字符数组进行位运算实现加法。代码中首先将输入的两个字符串转换成...

    HDU题目java实现

    3. **字符串处理**:String类是Java中处理文本的重要工具,涉及字符串的连接、查找、替换、分割等方法。 4. **输入输出流**:如Scanner类用于从标准输入读取数据,FileReader/Writer用于文件操作,BufferedReader/...

    hdu.rar_hdu

    4. **字符串处理**:KMP算法、Manacher's Algorithm、Rabin-Karp算法等。 5. **数学应用**:组合数学、数论(质因数分解、模运算、欧几里得算法等)、概率论等。 6. **编码技巧**:IO优化(如scanf/printf代替cin/...

    杭电ACMhdu1163

    3. **字符串处理**:杭电ACM中的题目可能涉及到字符串匹配(KMP算法、Boyer-Moore算法)、编码解码、模式查找等问题,熟悉字符串操作是必备技能。 4. **数学应用**:很多ACM题目需要应用到基础数学知识,例如数论...

    hdu题目分类

    字符串处理题目如1020、1039等,主要考察选手对于字符串数据类型的理解和操作能力。这包括字符串匹配、分割、合并、排序等常见操作,以及更复杂的模式匹配和正则表达式应用。 综上所述,HDU ACM题目分类覆盖了广泛...

    HDU最全ac代码

    3. **字符串处理**:KMP、Boyer-Moore、Rabin-Karp等字符串匹配算法,以及字符串操作和模式匹配技巧。 4. **数学知识**:组合数学、离散数学、数论等,许多竞赛题目需要运用到这些数学原理。 5. **优化技巧**:...

    Hdu1000—2169部分代码

    这些代码可能涵盖了许多算法类型,包括但不限于排序、搜索、动态规划、图论、数学、字符串处理等。 学习这些代码可以帮助你了解不同的编程技巧和算法实现,例如: 1. **排序算法**:快速排序、归并排序、堆排序等...

    hdu2000-2014ac代码

    3. **字符串处理**:字符串匹配(如KMP、Boyer-Moore等)、编码与解码、模式匹配等。在编程竞赛中,字符串问题常常出现,需要掌握一些高效处理字符串的技巧。 4. **数学知识**:组合数学、数论、概率论等。许多编程...

    hdu-acm源代码(上百道源代码)

    "yfndq2"可能是一个字符串处理或模式匹配的问题,可能用到了KMP、Boyer-Moore等字符串匹配算法。而"flymaidou"可能是涉及数值计算或数学推理的题目,需要理解和应用特定的数学公式或方法。 在学习这些源代码时,...

    hduacm2539代码

    通过对输入数据的处理,程序能够判断出特定字符串“nogood”是否存在,并据此输出相应的结果。 #### 代码详解 ##### 结构体定义 ```c++ struct zuqiu { char b[108]; }; ``` 在本程序中定义了一个名为`zuqiu`的...

    ACM HDU

    6. **字符串处理**:模式匹配、KMP算法、Manacher's Algorithm等。 7. **模拟法**:直接按照题目描述进行程序模拟,解决一些逻辑性较强的问题。 学习和理解ACM HDU的题解,不仅可以提升编程能力,还能帮助我们理解...

Global site tag (gtag.js) - Google Analytics