zjut1001 回文串

/*

题目连接:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1002
类型:回文串
方法,资料链接 http://www.cnblogs.com/wuyiqi/archive/2012/06/25/2561063.html 
不明白为什么解释的那么麻烦,绕了一大圈 ,其实还可以用dp解答的,下附解。。。

*/

#include<iostream>
#include<string>
#include<cstdio>
#include<algorithm>
using namespace std;
#define manx 10009
int p[manx],len;
char ch[manx*2];

int main(){
    string str;
    while(cin>>str){
        len=1; 
        p[len]=0,ch[len++]='#';
        for(int i=0;i<str.size();i++){
            p[len]=0;
            ch[len++]=str[i];
            p[len]=0;
            ch[len++]='#';
        }
        int mx=0;
        for(int i=1;i<len;i++){/////////////////////重点 
            for(int j=1;i-j>=1 && i+j<len && ch[i-j]==ch[i+j]; p[i]++,j++ ) ;
            if(mx<p[i]) mx=p[i];
        }
        cout<<mx<<endl;
    }
}


/*

关键是建立模型,但是我不明白为什么超时了,时间复杂度为 N^2 

*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
#define manx 1009
int dp[manx][manx];

int main(){
    string str;
    while(cin>>str){
        int maxx=1;
        for(int i=0;i<str.size();i++)
            for(int j=0;j<=i;j++)
                dp[j][i]=1;
        for(int i=1;i<str.size();i++){///主串 
            for(int j=i-1;j>=0;j--){
                if(j==i-1 && str[j]==str[i]){ 
                     dp[j][i]=2;
                     if(maxx<dp[j][i]) maxx=dp[j][i];
                     continue; 
                }
                if(str[j]==str[i])/////// 状态转移方程 
                    dp[j][i]=max(dp[j+1][i-1]+2,dp[j][i]);
                if(maxx<dp[j][i]) maxx=dp[j][i];
            } 
        }
        cout<<maxx<<endl;
    }    
} 


### 浙江工业大学计算机网络原理课程资料与教学资源 浙江工业大学自2020年起调整了计算机专业的研究生入学考试科目,其中包含了数据结构和计算机网络两门核心课程[^1]。这表明学校对于计算机网络原理的教学非常重视。 #### 课程教材推荐 通常情况下,高校开设的《计算机网络》课程会选用经典的教科书作为主要参考资料。例如,《Computer Networking: A Top-Down Approach》以及国内广泛使用的谢希仁主编的《计算机网络》都是不错的选择。虽然具体到浙江工业大学可能有特定指定版本,但这些书籍可以作为一个很好的起点来理解该领域基础知识。 #### 在线学习平台 为了帮助学生更好地掌握知识点,许多大学都会利用在线教育平台发布配套视频讲座和其他多媒体形式的学习材料。建议访问学校的官方网站或联系授课教师获取官方认可的学习链接。此外,像中国大学MOOC这样的公共平台上也可能存在由该校或其他知名院校提供的相关公开课。 #### 实验室实践机会 根据以往经验,在完成理论部分之后,参与实际操作练习是非常重要的环节之一。浙江工业大学可能会设置专门针对本学科方向的学生开放实验室时间表,允许他们在指导下进行路由配置、网络安全测试等方面的动手实验活动。这类实践活动有助于加深对抽象概念的理解程度。 ```bash # 如果想要进一步了解具体的实验安排, # 可以尝试通过邮件咨询相关部门负责人。 echo "发送电子邮件至cs@zjut.edu.cn询问更多详情" ``` #### 学术交流论坛 积极参与学术讨论也是提高个人能力的有效途径之一。加入一些活跃于互联网上的专业技术社区(如GitHub Discussions、Stack Overflow等),不仅可以与其他爱好者分享见解,还能够及时了解到行业内的最新动态和发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值