由于本周的任务太多,没打算做这次比赛。但pc坚持做,我也屈服了。。。总结一下
总体上:
审题: 主要是英语+推题;————>加强;
思路:
代码没有太长的,太繁杂的,只有思想对,基本都AC。
算法都属于基础算法行列,由于某些算法理解不足。
导致做题的思路偏窄。~~~~一直WA~ T_T
A: 简单的比较~~
B: 调一个排序就解决了~~
C: 这个题挺好~~~用贪心做的一直WA~~
后来看了别人的代码,贪心的也有AC的,但是贪心做的我看到的好几个都不对;
贪的角度是把每个隐藏的一对字母遍历一遍,方向挺好;
对于贪心的数据 aaaffhhd 2 af ah
结果是2 ;但应该是 3;
所以这道题还是要用用dp 做的对;唉,自己没坚持想 dp,最后放弃了。。。
不过别人写的这个dp太棒了 贴一下; 思路大赞

#include<cstdio>
#include<cstring>
char s[100001];
bool map[26][26];
int k,n,hash[26],ans=0;
inline void update(int &a,int b){ if(a<b)a=b; }
int main()
{
gets(s); n=strlen(s);
scanf("%d",&k);
for(int i=1;i<=k;++i){
getchar();
int u=getchar()-'a',v=getchar()-'a';
map[u][v]=map[v][u]=true;
}
memset(hash,0,sizeof hash);
for(int i=0;i<n;++i)
{
int ret=0;
for(int j=0;j<26;++j)
{
if(!map[j][s[i]-'a'])
update(ret,hash[j]+1);
}
update(hash[s[i]-'a'],ret);
update(ans,ret);
}
printf("%d\n",n-ans);
return 0;
}
D: 题目较长,没仔细看,应该是数据结构 和数论方面的题。
最后看通过率,好像比c题要简单,可是自己看的是E题啊
E: 我本用的是并查集做的这个题,结果很明显是WA了
只能说自己考虑问题 不全面。这道题是非常好的一道哈希题;
以前也知道哈希,但用它写的题目还是很少,也是比较裸的哈希
学习了。~~哈哈~~
童鞋们: 加油!!!