zoukankan      html  css  js  c++  java
  • LIS的string用法

    题目链接

    使用的是string里的find函数

    stl大法好

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    string in;
    string f[10000];
    int mf=1;
    void insert(int begin,int end,string value)
    {
    	int l=begin,r=end;
    	while(l<r)
    	{
    		int mid=(l+r)/2;
    		bool flag=value.find(f[mid]);
    		if(flag)	
    			r=mid;
    		if(!flag)	
    			l=mid+1;	
    	}
    	f[l]=value;
    	if(l==mf)
    		mf++;
    }
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	for(int i=1;i<=n;i++)
    		f[i]="";
    	for(int i=1;i<=n;i++)
    	{
    		cin>>in;
    		insert(1,mf,in);
    	}
    	printf("%d",mf-1);
    }
    

    还有洛谷用户da32s1da大佬整理的find等一类函数的用法

    //string类的查找函数:
    
    int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置
    int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置
    int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置
    int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置
    //查找成功时返回所在位置,失败返回string::npos的值
    
    int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置
    int rfind(const char *s, int pos = npos) const;
    int rfind(const char *s, int pos, int n = npos) const;
    int rfind(const string &s,int pos = npos) const;
    //从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值
    
    int find_first_of(char c, int pos = 0) const;//从pos开始查找字符c第一次出现的位置
    int find_first_of(const char *s, int pos = 0) const;
    int find_first_of(const char *s, int pos, int n) const;
    int find_first_of(const string &s,int pos = 0) const;
    //从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。查找失败返回string::npos
    
    int find_first_not_of(char c, int pos = 0) const;
    int find_first_not_of(const char *s, int pos = 0) const;
    int find_first_not_of(const char *s, int pos,int n) const;
    int find_first_not_of(const string &s,int pos = 0) const;
    //从当前串中查找第一个不在串s中的字符出现的位置,失败返回string::npos
    
    int find_last_of(char c, int pos = npos) const;
    int find_last_of(const char *s, int pos = npos) const;
    int find_last_of(const char *s, int pos, int n = npos) const;
    int find_last_of(const string &s,int pos = npos) const;
    
    int find_last_not_of(char c, int pos = npos) const;
    int find_last_not_of(const char *s, int pos = npos) const;
    int find_last_not_of(const char *s, int pos, int n) const;
    int find_last_not_of(const string &s,int pos = npos) const;
    //find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查找
    

    链接

  • 相关阅读:
    GoldenGate V11.1数据复制限制
    OGG切换步骤
    GoldenGate 1403错误解决方法
    logsource and ALO
    使用HANDLECOLLISIONS的几个场景
    Goldengate参数规范
    GoldenGate 进程
    Goldengate进程的合并与拆分规范
    url的组成结构信息
    Python中容器指的是什么?
  • 原文地址:https://www.cnblogs.com/Lance1ot/p/8504801.html
Copyright © 2011-2022 走看看