点击上面微信号关注我关注我哟 定期推送帐号信息学新闻,竞赛自主招生,信息学专业知识,信息学疑难解答,信息学训练营信息等诸多优质内容的微信平台,欢迎分享文章给你的朋友或者朋友圈!

 ◆ ◆

欢迎报名NOIP2019冬令营!

摘要:

    本文清北学堂NOIP训练营试题

清北NOIP2019冬令营元旦,寒假课程筹备完毕,最后报名阶段!

欢迎咨询报名NOIP2019冬令营!

题目

分糖果

【问题描述】怎么快速记单词呢?也许把单词分类再记单词是个不错的选择。何大爷给出了一种分单词的方法,何大爷认为两个单词是同一类的当这两个单词的各个字母的个数是一样的,如 dog 和 god。现在何大爷给了你?个单词,问这里总共有多少类单词。【输入格式】第一行一个整数?代表单词的个数。接下来?行每行一个单词。【输出格式】一行一个整数代表答案。【样例输入】3AABACCBAAAAAABB【样例输出】2【数据范围与规定】70%的数据,1 ≤ ? ≤ 100。对于100%的数据,1 ≤ ? ≤ 10000,所有单词由大写字母组成。

题解

AC代码

将字符串转换成数字进行比较(在转换的时候我们要乘一个质数,乘质数重复的可能性很小),sort排序以后判断当前数是否与他后面的数相同,如果不同ans++

#include

#include

#include

#include

#include

#define N 10010

using namespace std;

char ch[110];

int n,l[N],ans,num[N];

int read()

{

    int x=0,f=1; char ch=getchar();

    while(ch'9'){if(ch=='-')f=-1;ch=getchar();}

    while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();

    return x*f;

}

int main()

{

    freopen("a.in","r",stdin);

    freopen("a.out","w",stdout);

    n=read();

    for(int i=1;i<=n;i++) 

    {

        cin>>ch,l[i]=strlen(ch);

        sort(ch,ch+l[i]);

        for(int j=0;j

         num[i]=num[i]*233+ch[j]-'A'+1;

    }

    sort(num+1,num+1+n);

    for(int i=1;i

     if(num[i]!=num[i+1]) ans++;

    printf("%d",ans+1);

    return 0;

}

第二种:

分析:双Hash会被卡,毒瘤......把hash换成map就过了.把每个串各个字符的数量算出来,丢到map里,看之前有没有出现过就可以了.因为是结构体+map,所以需要重载

#include

#include

#include

#include

#include

using namespace std;

int n,len,ans;

struct node

{

    int cnt[30];

    node()

    {

        memset(cnt, 0, sizeof(cnt));;

    }

    bool operator

    {

        for (int b = 1; b <= 26; b++)

            if (cnt[b] != at[b]) return cnt[b]

        return false;

    }

};

char s[10000010];

map m;

int main()

{

    scanf("%d", &n);

    for (int i = 1; i <= n; i++)

    {

        scanf("%s", s + 1);

        len = strlen(s + 1);

        node temp;

        for (int i = 1; i <= len; i++)

            tempt[s[i] - 'A' + 1]++;

        if (!m[temp])

        {

            m[temp] = true;

            ans++;

        }

    }

    printf("%d\n", ans);

    return 0;

}

往期精选内容

(点击标题即可查看)

欢迎咨询报名NOIP2019冬令营课程!

2018年自主招生高校对信息学奖项报考要求及优惠政策参考!报考时要注意哪些问题?

NOIP2018复赛提高组各省中学 获一等奖人数排行榜及分析!

NOIP2018复赛提高组各省各中学获奖总数排行榜

NOIP2018各省各中学复赛普及组获奖总数分析!

CCF NOI2019冬令营报到通知及冬令营名额分配方案!

再见,OI-大牛HZW亲笔,分享OI生涯记录,不变的是坚持和热爱!

NOIP复赛知识点简述及复赛算法总结!

重磅!NOIP2018初赛普及组提高组真题及答案发布!

NOIP2018提高组试题解析

根据信息学竞赛之路带你了解信息学竞赛流程!

全国90所自招高校自主招生对竞赛等获奖要求汇总!

清华“姚班”2018级名单-看50名学霸到底多牛,同学们又如何能进姚班?

全国自主招生高校对各项学科竞赛奖项要求大汇总!签约路径

教育部出台高中新课标,信息学竞赛相关内容被编入必修课程!

北京大学自主招生初审通过1719人名单公布,看清华北大更青睐哪些省市中学?

IOI 2018国际信息学奥林匹克竞赛中国代表队选拔结果揭晓,看大牛们的竞赛之路!2018年五大学科竞赛国家队名单全部出炉,各省中学大比拼!

从搜狗CEO王小川(信息学金牌),看这二十几年中国奥赛金牌的去向

揭晓高薪专业排行榜,计算机专业薪资最高!哪些专业最具潜力?

2018中国大学排行榜出炉,北大清华连续11年蝉联冠亚军

15岁男生靠信息学竞赛成绩被清华锁定,高考上一本线就录取

祝贺又一批OIer签约清华北大,两大高校冬令营提前上演人才争夺战!

一个清华保送生妈妈对竞赛的感受,自主招生家长都要看看!

计算机科学与技术专业全国大学排行榜!

为什么这些孩子初中就能被清华北大签约

2018五大学科竞赛国家集训队成员及所在学校名单

(1) 为什么有“编程思维”和数学能力强的人更优秀?

(2)清北独家录制NOIP成功者说学习视频!!!

(3)我们为什么要对孩子进行编程教育?

(4)信息学竞赛答家长问题

1.信息学竞赛,你想了解的知识都在这里

2.信息学奥赛(NOIP)初赛学习方法推荐

3.信息学奥赛(NOIP)复赛学习方法推荐

4.大牛为你推荐十本最适合信息学竞赛的书籍

5.信息学奥赛有那么重要吗?

6.参加编程竞赛对实际工作的用处

7.清北学堂独家录制NOIP考试技巧讲座

8.在线编程挑战赛第一名:我是这么学算法的

9.信息学竞赛如何学习及准备攻略!

10.凭什么我得了信息学奥赛国家一等奖

11.榜样 | 北大降200分要这个诸暨天才少年

12.OI金牌教练胡芳:爱和成长的故事

13.信息学竞赛,一个让孩子不需要再去挤独木桥的方向

14.新学期必须了解的学科竞赛与自主招生时间!

15.北大录取生陈代超:在信息学中找到“思维图谱”

16.国务院发文支持编程教育进入中小学,中国人工智能厚积薄发

重点关注 | NOIP算法总结!

(1)NOIP2017复赛备考攻略-考点分析!

(2)NOIP2017复赛备考攻略-注意事项!

(3)NOIP复赛必须记住的30句话!

(4)NOIP复赛考前时间如何高效利用及考前十点提醒!

(5)NOIP报名,申诉,查成绩方式介绍

(6)NOIP复赛必须记住的30句话!

(7)NOIP复赛考前需要注意的那些事儿!!!

(8)NOIP测评环境,数据提交你都了解吗?请注意这些问题!

(9)关于NOI系列赛编程语言使用限制的规定

关注「信息学竞赛」

看更多信息学趣闻与知识

↓↓↓

更多推荐

查找文件中每行第二个单词_NOIP训练营内部试题快速记单词