湖师大ACM校赛总结
这是寒假后参加的第一场比赛,是湖南师范大学的校赛,居然是场个人赛!隔了一个寒假,比赛过程很不顺利!并且一直在卡一道题,直到最后也没有A来。不扯了,写份总结吧~~
题目链接:http://acm.hunnu.edu.cn/online/?action=problem&type=list&courseid=55
A题:这就是一道很水的题,计算绩点的题目,如果真的要分类,就是C语言的题目了;
B题:这道题开始没读懂就跳过去了,隔了一小会儿发现很多人都做了,一看,也是C语言的题目;
C题:数论。目前还没有着重学过数论,队友说这题其实不难,以后做了数论在回来看看吧。
D题:搜索,具体点是深搜,这题自己还没有出,也没有着重学这类题目,暂时搁一搁吧。
E题:动态规划题,这道题算不上什么难题,但是赛场上自己一看就以为是KMP,没细看就舍弃了~~
下面对这道题写个解题报告:
定义状态:f[i][j]:为关键字key的前i位与数据库中的字串s的前j位匹配结果(bool 型变量
f[i][j]为1时表示匹配
根据关键字key的不同情况不难得出:
当key[i]='?'时,f[i][j]=f[i-1][j-1];
当key='*'时,f[i][j]=f[i-1][j]||f[i][j-1];
当key[i]为小写字母,则f[i][j]=(f[i-1][j-1])&&(key[i]==s[j]);