zoukankan      html  css  js  c++  java
  • 字符数组hdu 4552

    发一下牢骚和主题无关:

        hdu3336一样的题目

        kmp+dp可以做.

        队友的思绪,开一个数组记录与前一个字符相称的下表,

        每次只要比拟与上个字符相称下表+1的字符是否相称

        

        

        

    #include<stdio.h>
    #include<string.h>
    int a[100001];
    int main()
    {
    	int i,j,k,p,len;
    	char s[100001];
    	while(scanf("%s",s)!=-1)
    	{
    		len=strlen(s);
    		int sum=len;
    		j=0;
    		for(i=1;s[i];i++)
    			if(s[i]==s[0])
    			   a[j++]=i;
    		sum+=j;
    		for(i=1;s[i];i++)
    		{
    			for(p=0,k=0;k<j&&k+1<len;k++)
    				if(s[a[k]+1]==s[i])
    					a[p++]=a[k]+1;
    				sum+=p;j=p;
    		}
    		printf("%d\n",sum%256);
    	}
    	return 0;
    }

        KMP+Dp

        

        每日一道理
    自己把自己说服了,是一种理智的胜利;自己被自己感动了,是一种心灵的升华;自己把自己征服了,是一种人生的成功。

        

        

    #include<stdio.h>
    #include<string.h>
    #define N 100010
    int dp[N],next[N],n;
    char s[N];
    void get()
    {
        next[1]=0;
        int i,j=0;
        for(i=2;i<=n;i++)
        {
            while(j>0&&s[i]!=s[j+1])
                j=next[j];
            if(s[i]==s[j+1])
                j++;
            next[i]=j;
        }
    }
    int main()
    {
        int i,j;
        while(scanf("%s",s+1)!=-1)
        {
            n=strlen(s+1);   
            get();
            dp[0]=0;
            int sum=0;
            
            for(i=1;i<=n;i++)
            {
                //printf("%d ",next[i]);
                dp[i]=(dp[next[i]]+1)%256;
                sum=(sum+dp[i])%256;
            }
            printf("%d\n",sum);
        }
        return 0;
    }

        

        

    文章结束给大家分享下程序员的一些笑话语录: 真正的程序员喜欢兼卖爆米花,他们利用CPU散发出的热量做爆米花,可以根据米花爆裂的速度听出正在运行什么程序。

    --------------------------------- 原创文章 By
    字符和数组
    ---------------------------------

  • 相关阅读:
    点击button先执行js在执行后台代码客户端判断控件是否为空
    VNC远程登录端使用经验之一
    TB平台搭建之一
    能力不足之 根据时序图转化为Verilog代码
    Verilog之语句位置
    verilog 1995 VS 2001 part1模块声明的扩展
    verilog $fopen 函数的小缺陷
    tab key usage
    poj2184 Cow Exhibition
    hdu2546 饭卡
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3098683.html
Copyright © 2011-2022 走看看