Codeforces Round #109 (Div. 2) 总结

    由于本周的任务太多,没打算做这次比赛。但pc坚持做,我也屈服了。。。总结一下

总体上:

    审题: 主要是英语+推题;————>加强;

    思路:

      代码没有太长的,太繁杂的,只有思想对,基本都AC。

      算法都属于基础算法行列,由于某些算法理解不足。

      导致做题的思路偏窄。~~~~一直WA~ T_T

    A: 简单的比较~~

    B: 调一个排序就解决了~~

    C: 这个题挺好~~~用贪心做的一直WA~~

       后来看了别人的代码,贪心的也有AC的,但是贪心做的我看到的好几个都不对;

       贪的角度是把每个隐藏的一对字母遍历一遍,方向挺好;

       对于贪心的数据 aaaffhhd  2 af  ah

       结果是2  ;但应该是 3;

       所以这道题还是要用用dp 做的对;唉,自己没坚持想 dp,最后放弃了。。。

       不过别人写的这个dp太棒了  贴一下; 思路大赞

       

View Code
#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了

      只能说自己考虑问题 不全面。这道题是非常好的一道哈希题;

      以前也知道哈希,但用它写的题目还是很少,也是比较裸的哈希

      学习了。~~哈哈~~

童鞋们:  加油!!!

   

    

posted @ 2012-02-25 15:32  skyming  阅读(288)  评论(0编辑  收藏  举报