特长生模拟——09年东莞特长生考试
今天的这个考试,
估分:100+100+100+100=400
实际:100+10+100+100=310
一脸懵逼,第二题大家基本都对了…
我因为一点小失误而..
T1:惊人的记忆力
希望中学的小明非常聪明,记忆力非常的好,可以达到过目不忘的程度,你任意给他一列数,他可以很快的按从小到大的顺序说出来。现在小A为了考考小明,任意给小明两列数,分别有N,M个数,要求他将这两个数列中的数合并成一个数列,按从小到大的顺序说出这些数,相同的数只保留一个。现在也请你编程序来解决这个问题。
1=< N,M <= 10000, 两个数列中的数x都是整数,且符合条件: -1000 = < x <= 1000
分析:这题随便开个桶搞搞
#include<iostream>
#include<cstdio>
#define N 1000int n,x,num[2005];int main()
{scanf("%d",&n);for (int i=1; i<=n; i++){scanf("%d",&x);num[x+N]++; }scanf("%d",&n);for (int i=1; i<=n; i++){scanf("%d",&x);num[x+N]++; }for (int i=-1000; i<=1000; i++)if (num[i+N]) printf("%d ",i); return 0;
}
T2:岛屿的缘分
人和人的相识是一种缘分,其实人有幸到某地也是一种缘分。某风景优美的K小岛的缘分和其他景点的缘分来得不一般,K岛上有一个石碑刻上了两个很大很大的整数x和y,和一个正整数K,后面写道:“谁能准确的写出x和y的乘积中最右边的k位数(如果乘积不足K位则在左边用“0”补足K位),他就是和K小岛有缘分的人”,李先生到了K小岛,他马上叫他的秘书算一算,写出x和y的乘积中最右边的k位数,看看李先生和他的秘书是否和K小岛有缘分。现在也请你完成这个工作(注意: 如果乘积不足K位则在左边用“0”补足K位)。
正整数x和y位数不大于120
1=< K <=250
分析:
这题不是一道傻逼高精度吗…
我怎么会错啊,手误+脑残….
考场这样失误就真凉了
#include<iostream>
#include<cstring>
#include<cstdio>using namespace std;char x[505],y[505];
int a[505],b[505],c[505],la,lb,rp,lc,k;
int main()
{scanf("%s%s%d",x,y,&k);la=strlen(x);lb=strlen(y);for (int i=0; i<la; i++) a[la-i]=x[i]-'0'; for (int i=0; i<lb ;i++) b[lb-i]=y[i]-'0'; //这里lb写成了lafor (int i=1; i<=la; i++){rp=0;for (int j=1; j<=lb; j++){c[i+j-1]=c[i+j-1]+a[i]*b[j]+rp;//这里一开始没有将自身加进去rp=c[i+j-1]/10;c[i+j-1]%=10;}c[i+lb]=rp;}lc=la+lb;while (c[lc]==0 && lc>1) lc--;for (int i=k; i>=1; i--) printf("%d",c[i]);return 0;
}
T3:导游的魔棒
小C“五一”节参加了五星旅行社组织的一次外出旅游,这次旅游中,小C遇到一件非常有趣的事: 五星旅行社的导游小张有一根魔棒,这根魔棒在每一次的旅游中可以产生一次魔力(也只能产生一次魔力),这魔力可以使两个景点间的距离减成原来的一半。小C在“五一”节的这次旅游中,很有幸是小张导游作为他们的导游,小张当然也没有忘记带他的魔棒,因为他可以发挥魔棒的作用,使路程减少呢。这次旅游中,去了一个有N个景点的旅游区,这个旅游区只有一个入口,在景点编号为1的地方,一个出口,在景点编号为N的地方,景点编号为1,2,3,…,N。在入口处有一个N×N的数据阵,描述了景点间的距离,a[I,j]表示景点i到景点j的距离。因为小C的公司有急事要小C尽快回来,现在小C要用张导游的魔棒,使得从入口到出口的距离最短。现在我们也来编一个程序:求将哪一条边减半后使从顶点1到顶点N的最短路径长度最短,输出这个最短距离,如果找不到从1到N的路径,则输出 -1 。
3 ≤ N ≤ 50
分析:
这题很显然dp或者记搜
dp[i][j][0/1]表示i走到j 没用/用了 将边减半的最短距离
然后floyd瞎搞
#include<iostream>
#include<cstdio>
#include<algorithm>
#define N 23333333using namespace std;int n;
double x,f[55][55][2]; int main()
{scanf("%d",&n);for (int i=1; i<=n; i++) for (int j=1; j<=n; j++) {scanf("%lf",&x);if (x==0) {f[i][j][0]=N;f[i][j][1]=N;}else {f[i][j][0]=x;f[i][j][1]=x/2;}}for (int k=1; k<=n; k++)for (int i=1; i<=n; i++)for (int j=1; j<=n; j++)if (k!=i && k!=j && i!=j){f[i][j][0]=min(f[i][j][0],f[i][k][0]+f[k][j][0]);f[i][j][1]=min(f[i][j][1],f[i][k][1]+f[k][j][0]);f[i][j][1]=min(f[i][j][1],f[i][k][0]+f[k][j][1]);}if (f[1][n][1]!=N) printf("%.2lf",f[1][n][1]);else printf("-1");return 0;
}
T4:开发区规划
小王是D市主管经济的副市长,由于经济发展的需要,要在D市组建一个高新技术开发区,经过研究,规划局在D市的东部划出了一块土地作为开发区选址。这块土地是一块矩形平原,小王准备在上面修建一些建筑。为了规划方便,他将矩形划分成N*M格。棘手的是,这块土地有些历史文化遗址散布在某些格子内,这些历史文化遗址是万万不能拆除的,否则将激起民愤,小王深知这一点,因此,他的新建筑在选址时要避开这些格子。
假设新的建筑物有P种规格,每种建筑物都是正方形的,占地为Ti*Ti格 (1<=i<=P)。小王想知道对于每种规格的建筑,有多少种不同的合适选址方案(一种合适的选址方案指的是在该建筑所占的正方形区域内不存在有历史文化遗址的格子)。现在请你来当小王的秘书 帮他完成这个光荣而艰巨的任务。
1<=N,M<=2000,1<=P<=1000
1 < Ti<=max(M,N)
分析:
显然直接的枚举会TLE,所以我们要带技巧的枚举,
详见代码,手动画一下就很容易知道是什么意思,
这样的枚举时间复杂度为O(NM),并且我们可以将所有的位置作为右下角最大能拓展的正方形的边长k求出,并且累加。
对于任意一点cp所能拓展到的最大的边长k而言,存在一个边长为k的正方形rp且右下角的点为cp
rp包含的所有点的任意一点j,
j的位置作为右下角的正方形都已经将自身的最长拓展边长op累加过了,
而自身只是累加了拓展边长为k的正方形,但自身去拓展边长为op的正方形也没有问题,所以要加进去
然后就可以O(1)查询了。
时间复杂度:O(NM+P)
#include <iostream>
#include <cstring>
#include <cstdio>
#define N 2005using namespace std;int a[N],x[N],y[N],cmax[N],sum[N],rp,n,m,p,q;
char xy[N];int main()
{scanf("%d%d%d",&n,&m,&q);scanf("%s",xy);for (int k=0; k<m; k++)if (xy[k]-'0') {x[k+1]=x[k]+1; y[k+1]++; cmax[k+1]=1; sum[1]++; }else {x[k+1]=0; y[k+1]=0; }for (int i=2; i<=n; i++) {scanf("%s",xy);for (int k=0; k<m; k++)if (xy[k]-'0') {x[k+1]=x[k]+1; y[k+1]++; }else {x[k+1]=0; y[k+1]=0; }for (int k=m; k>=1; k--)if (xy[k-1]-'0'){cmax[k]=cmax[k-1]+1;cmax[k]=min(cmax[k],x[k]);cmax[k]=min(cmax[k],y[k]);sum[cmax[k]]++;} else cmax[k]=0;}for (int i=min(n,m); i>=1; i--) sum[i]+=sum[i+1];for (int i=1; i<=q; i++){scanf("%d",&p);printf("%d\n",sum[p]);}return 0;
}
特长生模拟——09年东莞特长生考试相关推荐
- 09年软件评测师考试下午试题答案
09年软件评测师考试下午试题 试题一 (18分) 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内. [说明] 软件测试的质量决定着被测产品的质量,是企业关注的重点 ...
- 2022. 09 青少年机器人技术等级考试理论综合试卷(二级)
2022. 09 青少年机器人技术等级考试理论综合试卷(二级) 分数: 100题数: 45 一. 单选题(共 30 题, 共 60 分) 1.如图关于该机构说法正确的是? ( ) A.这是反向双曲柄机 ...
- 2020. 09 青少年机器人技术等级考试理论综合试卷(一级)
2020. 09 青少年机器人技术等级考试理论综合试卷(一级) 一. 单选题(共 30 题, 共 60 分) 1.使用下列工具不能省力的是? ( ) A.斜面 B.动滑轮 C.定滑轮 D.省力杠杆 试 ...
- 2022.09 青少年Python等级考试(六级) 编程题部分
2022.09 青少年Python等级考试 编程题部分(共3题,共30分) 36.小明编写一个类实现设置马的品种.年龄.性别及速度,输出相应的语句,请补全代码. 如下代码输出结果为"一匹 ...
- 2022.09 青少年Python等级考试(六级) 选择题部分
2022.09 青少年Python等级考试(六级) 选择题部分 一.单选题(共25题,共50分) 1.以下关于Python二维数据的描述中,错误的是?( A ) A. 表格数据属于二维数据,由整数索引 ...
- 2011.09.03新GRE考试随感
原文地址:2011.09.03新GRE考试随感作者:陈虎平 <wbr>刚刚参加完了在北航的新GRE考试,写下一些感受和备考的建议给各位感兴趣的同学.</wbr> 1. 考场流程 ...
- 2020低压电工模拟考试题及低压电工考试软件
题库来源:安全生产模拟考试一点通公众号小程序 2020低压电工模拟考试题及低压电工考试软件,包含低压电工模拟考试题答案解析及低压电工考试软件练习.由安全生产模拟考试一点通公众号结合国家低压电工考试最新 ...
- 全国计算机等级考试c语言模拟试题,全国计算机等级考试二级C语言笔试模拟试题-..doc...
全国计算机等级考试二级C语言笔试模拟试题-. 全国计算机等级考试二级C语言笔试模拟试题(2) 总分:100分 及格:60分 考试时间:120分 每小题1分,共40分 (1)以下程序的输出结果是 #in ...
- 2022.6.6 特长生模拟
2018 2018 2018 特长生 目录: A.密码问题 B.括号匹配问题 C.建学校问题 D.平板游戏问题 A . A. A.密码问题 分析: 构造最大最小数然后相减 CODE: #include ...
最新文章
- 传Exchange 15将于今年9月发布
- C++ Primer 5th笔记(10)chapter10 泛型算法 :谓词
- SnapGene mac 5.3.1 中文分子生物学可视化工具及教程
- python爬虫实例——中国电影票房
- 解决求平均值出现加和导致的溢出问题
- Unity游戏开发经验点滴
- # Euraka配置详解
- html给一个样式最高权重,什么是CSS权重?
- QCY T3 蓝牙耳机连接电脑 声音断续卡顿
- 《全职高手》人物词频分析和词云图片生成
- 一套牛逼哄哄的开源的监控系统(附源码)
- 破局“人工智能+大数据”产业痛点,保险极客百万医疗震撼出击
- 屠龙传说世界【全自动】辅助脚本
- 计算机找不到 bitlocker,win10中找不到bitlocker驱动器的解决方法介绍
- python day003_int/str/bool/for循环
- 同步交互与异步交互(简单易懂)
- springJDBC报错NullPointException 解决问题记录
- springBoot报错: 'org.springframework.messaging.simp.SimpMessagingTemplate'
- Java之有序集合hashMap
- 服务器端口60 rdp协议,rdp协议开多个端口远程(mstsc)