首页 > 其他 > 详细

湖南雅礼培训 1.4

时间:2018-01-04 15:36:14      阅读:313      评论:0      收藏:0      [点我收藏+]

模拟赛

一、题目概览

中文题目名称

序列

轰炸

字符串

英文题目名称

sequence

bomb

string

可执行文件名

sequence

bomb

string

输入文件名

sequence.in

bomb.in

string.in

输出文件名

sequence.out

bomb.out

string.out

时间限制

1s

1s

1s

空间限制

256MB

256MB

256MB

测试点数目

10

10

10

测试点分值

10

10

10

题目类型

传统

传统

传统

比较方式

全文比较

全文比较

全文比较

是否有部分分

 

 

 

二、注意事项:

1.文件名(程序名和输入输出文件名)必须使用小写。

2.C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3.开启O2优化,栈空间开大至256M。

 

序列(sequence)

【题目描述】

    给定一个1~n的排列x,每次你可以将x1~xi翻转。你需要求出将序列变为升序的最小操作次数。有多组数据。

【输入数据】

       第一行一个整数t表示数据组数。

每组数据第一行一个整数n,第二行n个整数x1~xn。

【输出数据】

每组数据输出一行一个整数表示答案。

【样例输入】

1

8

8 6 1 3 2 4 5 7

【样例输出】

       7

【数据范围】

       对于100%的测试数据,t=5,n<=25。

对于测试点1,2,n=5。

对于测试点3,4,n=6。

对于测试点5,6,n=7。

对于测试点7,8,9,n=8。

对于测试点10,n=9。

对于测试点11,n=10。

对于测试点i (12<=i<=21),n=i。

对于测试点22,23,n=22。

对于测试点24,25,n=23。

 

轰炸(bomb)

【题目描述】

有n座城市,城市之间建立了m条有向的地下通道。

你需要发起若干轮轰炸,每轮可以轰炸任意多个城市。但每次轰炸的城市中,不能存在两个不同的城市i,j满足可以通过地道从城市i到达城市j。

你需要求出最少需要多少轮可以对每座城市都进行至少一次轰炸。

【输入数据】

       第一行两个整数n,m。接下来m行每行两个整数a,b表示一条从a连向b的单向边。

【输出数据】

一行一个整数表示答案。

【样例输入】

5 4

1 2

2 3

3 1

4 5

【样例输出】

       3

【数据范围】

       对于20%的数据,n,m<=10。

对于40%的数据,n,m<=1000。

对于另外30%的数据,保证无环。

对于100%的数据,n,m<=1000000。

 

字符串(string)

【题目描述】

给定正整数m以及n个01串s1~sn,你需要求出长度为2m的反对称的包含这n个01串作为子串的01串的个数。对998244353取模。

一个01串s是反对称的当且仅当它对于1<=i<=|s|都满足s[i]≠s[|s|-i+1]。

【输入数据】

第一行两个整数n,m。接下来n行每行一个字符串s1~sn。

【输出数据】

一行一个整数表示答案。

【样例输入】

       2 3

       011

       001

【样例输出】

       4

【数据范围】

对于10%的数据,m<=15。

对于40%的数据,n<=4,|si|<=20。

对于60%的数据,n<=6,|si|<=30,m<=100。

对于另外20%的数据,n=1。

对于100%的数据,n<=6,|si|<=100,m<=500。

湖南雅礼培训 1.4

原文:https://www.cnblogs.com/thmyl/p/8193502.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!