安徽省2013年“京胜杯”大学生程序设计竞赛解题报告
2013年全国大学生电子设计竞赛A题报告
目录
1 系统方案论证 ...................................................... 1 1.1 控制方法的方案选择 .......................................... 1 1.2 AC-DC 主回路拓扑的方案选择 .................................. 1 1.3 控制方法方案的论证与选择 .................................... 2
开始计时,当电流输入端口中断响应时计时器停止,测得计时时长经过相应的运算 处理得到功率因数值,并显示在液晶显示屏上。 3.2.2 程序流程图
1、主程序流程图
6
外部中断 信号输入 单片机检 测中断信 号 外部中断 0响应 计时开始
外部中断 1响应 计时结束
如果计时达 到10次,输 出结果
7
4 测试方案与测试结果
方案二:采用恒频脉宽调制控制器 TL494,这个芯片可推挽或单端输出,工作 频率为 1--300KHz,输出电压可达 40V,内有 5V 的电压基准,死区时间可以调整, 输出级的拉灌电流可达 200mA,驱动能力较强。芯片内部有两个误差比较器,一个 电压比较器和一个电流比较器。电流比较器可用于过流保护,电压比较器可设置为 闭环控制,调整速度快。
方案一:串联开关电路形式。开关管 V1 受占空比为 D 的 PWM 波的控制,交替 导通或截止,再经 L 和 C 滤波器在负载 R 上得到稳定直流输出电压 Uo。该电路属于 降压型电路,达不到题目要求的 30--36V 的输出电压。(见图 1)
图1
1
图2
图3 方案二:并联开关电路形式。并联开关电路原理与串联开关电路类似,但此电 路为升压型电路,开关导通时电感储能,截止时电感能量输出。只要电感绕制合理, 能达到题目要求,且输出电压 Uo 呈现连续平滑的特性。(见图 2) 方案三:串并联开关电路形式。实际上此电路是在串联开关电路后接入一个并 联开关电路。用电感的储能特性来实现升降压,电路控制复杂。(见图 3) 综上所述,选择方案二。 1.3 控制方法方案的论证与选择 方案一:采用单片机产生 PWM 波,控制开关的导通与截止。根据 A/D 后的反馈 电压程控改变占空比,使输出电压稳定在设定值。负载电流在康铜丝上的取样经 A/D 后输入单片机,当该电压达到一定值时关闭开关管,形成过流保护。该方案主要由 软件实现,控制算法比较复杂,速度慢,输出电压稳定性不好,若想实现自动恢复, 实现起来比较复杂。 方案二:采用恒频脉宽调制控制器 TL494,这个芯片可推挽或单端输出,工作 频率为 1--300KHz,输出电压可达 40V,内有 5V 的电压基准,死区时间可以调整, 输出级的拉灌电流可达 200mA,驱动能力较强。芯片内部有两个误差比较器,一个 电压比较器和一个电流比较器。电流比较器可用于过流保护,电压比较器可设置为 闭环控制,调整速度快。 鉴于上面分析,选用方案二。
2013年第三届“华为杯”南邮大学生程序设计竞赛【决赛】题目
现场决赛题目题目A:参赛选手身高问题II时间限制(普通/Java):1000MS/3000MS运行内存限制:65536KByte问题描述2013“华为杯”南京邮电大学大学生团体歌唱大赛即将在南邮举行,本次大赛由南京邮电大学大学生就业与创业指导中心主办,南京邮电大学华为俱乐部(Huawei Club)和南京邮电大学学生职业发展协会(SCDA)联合承办,华为技术有限公司提供赞助。
为了展示南邮学子风采,大赛组委会规定:每个参赛团体由3名同一年级在校本科生或硕士研究生选手组成,3名选手按照身高等差排列,例如参赛团体中3个选手身高依次为160厘米、170厘米、180厘米,则该团体报名成功。
在此次大赛中,每一个参赛团队根据报名先后次序、3个选手身高排列生成一个队名,具体命名方式如下:每一个参赛团队3个选手的身高按照从矮到高的次序组成一个排列,所有这些排列按字典序进行排序,这时排序相同时,再按照报名先后次序确定顺序,对应的参赛团队获得一个顺序编号;“2013hwt”和顺序编号组合即为参赛团队的队名。
举一个例子,有以下5个参赛团队报名信息,相应的顺序编号和队名如下:报名次序选手身高信息顺序编号队名118016017022013hwt2216018017032013hwt3317017017042013hwt4419017018052013hwt5514015016012013hwt1现在的问题是:给定每一个参赛团队的报名次序、3个选手任意次序的身高值,请你为每一个参赛团队生成队名。
-1-问题输入输入包括N+1行,首先给出参赛团队数N,接着根据报名先后次序给出N行,每1行依次给出某个参赛团队报名次序C、3个选手任意次序的身高值,1≤N≤30000,1≤C≤N,身高值不低于140厘米、不高于230厘米。
问题输出按照报名先后次序输出N行,每1行依次给出相应参赛团队的报名次序和生成的队名。
样例输入511801601702160180170317017017041901701805140150160样例输出12013hwt222013hwt332013hwt442013hwt552013hwt1提示本题纯属虚构,题目中输入数据和输出数据在一行中均以空格分隔,赛后酌情进行重新测试。
安徽省年度“达内杯”程序设计大赛解题报告
安徽省2011“达内杯”程序设计大赛解题报告A-幸运数字此题只需题目描述解即可,没有任何算法和trick...#include <iostream>using namespace std;int main(){int n;while (scanf("%d", &n) != EOF){int t = n, s = 0;while (t){s += t % 10;t /= 10;}if (n % s == 0) printf("yes\n");else printf("no\n");}return 0;}B-转换二叉树首先根据先序序列和中序序列建立二叉树,然后按要求先序遍历一遍二叉树即可。
当然,由于建树过程实际也是在先序遍历二叉树,所以可以不用实际建树,只是模拟那个过程,然后再过程中输出即可。
建树过程简单的说就是以先序序列定根节点,以中序序列和和根节点定左右子树。
#include <iostream>#include <string.h>using namespace std;const int maxn = 27;int N;char PreOrder[maxn], InOrder[maxn];void DFS(int PreStart, int PreEnd, int InStart, int InEnd){int pos;for (pos = InStart; PreOrder[PreStart] != InOrder[pos]; pos++) {} if (pos != InStart){printf("(");DFS(PreStart + 1, PreStart + pos - InStart, InStart, pos - 1); printf(")");}printf("%c", PreOrder[PreStart]);if (pos != InEnd){printf("(");DFS(PreStart + pos - InStart + 1, PreEnd, pos + 1, InEnd); printf(")");}}int main(){int i, len;scanf("%d", &N);getchar();for (i = 0; i < N; i++){scanf("%s %s", PreOrder, InOrder); len = strlen(PreOrder);DFS(0, len - 1, 0, len - 1);printf("\n");}return 0;}C-取石子首先给出必胜结论,只要n != 2^x,则先手必胜。
安徽省第六届安徽省大学生程序设计竞赛题目
安徽省第六届安徽省大学生程序设计竞赛题目安徽省第六届大学生程序设计竞赛比赛题目安徽省高等学校计算机教育研究会安徽合肥2015.5.24A First BloodTime Limit: 3000/1000 MS (Java/Others)问题描述盖伦是个小学一年级的学生,在一次数学课的时候,老师给他们出了一个难题:老师给了一个正整数n,需要在不大于n的范围内选择三个正整数(可以是相同的),使它们三个的最小公倍数尽可能的大。
盖伦很想第一个解决这个问题,你能帮助盖伦拿到“first blood”吗?输入首先是一个正整数T,表示有T组测试数据每组测试数据是一个正整数n(1<=n<=10^6)输出对于每组测试数据,输出最大的最小公倍数,每个输出单独占一行样例输入297样例输出504210注意事项数据范围超出32位整数,可用long long或__int64表示64位整数B 求和Time Limit: 3000/1000 MS (Java/Others)问题描述对于正整数n,k ,我们定义这样一个函数f ,它满足如下规律...87654321)4,(...654321)3,(...654321)2,(...654321)1,(+++++----==++++---==+--++--==++-+-+-==k n f k n f k n f k n f现在给出n 和k ,你的任务就是要计算),(k n f 的值。
输入首先是一个整数T ,表示有T 组数据接下来每组数据是n 和k(810,1≤≤k n )输出打印出f (n , k )的值,每个输出单独占一行样例输入31 12 13 1样例输出-11-2C LU的困惑Time Limit: 3000/1000MS (Java/Others)问题描述Master Lu 非常喜欢数学,现在有个问题:在二维空间上一共有n个点,LU每连接俩个点,就会确定一条直线,对应有一个斜率。
2016年“京胜杯”安徽省大学生程序设计大赛
2016年‚京胜杯‛安徽省大学生程序设计大赛比赛题目全国大学生信息安全竞赛安徽省赛区组委会安徽省大学生程序设计大赛技术委员会2016年5月24日合肥目录A.砝码称重B. 阵前第一功C. 箭无虚发D. 梯田AGAINE. 转啊转F. 吃在工大G. 木条染色H. 单身晚会I. 恶魔A+B J. YZK的大别墅K. 纸上谈兵A. 砝码称重Time Limit: 1000 MS Memory Limit: 65536 KB题目描述:小明非常喜爱物理,有一天,他对物理实验室中常用的弹簧拉力计产生了兴趣。
实验室中有两种质量不同的砝码,小明分别用a个第一种砝码放在弹簧拉力计上和b个第二种砝码放在弹簧拉力计上,假设每增加单位重量的砝码,弹簧拉力计的长度增加1,那么两次称量弹簧拉力计的长度差是多少呢?(假设拉力计不发生非弹性形变)输入格式:第一行一个整数T,表示有T组数据。
之后T行,每行数据包含四个正整数,分别表示第一种砝码重量a,第一种砝码数量b,第二种砝码重量c,第二种砝码数量d。
T<250<a,b,c,d<=100输出格式:对于每组数据,输出一个正整数,表示弹簧拉力计的长度差值。
输入样例:31 2 3 41 42 21 32 1输出样例:101注解:这是一道简单题,注意条件T<250<a,b,c,d<=100 即可。
B. 阵前第一功Time Limit: 1000 MS Memory Limit: 65536 KB题目描述:A国每个国民都有一定战斗力,每年国家都要对人民的战斗力进行一次排序统计,他们的排序规矩是相同战斗力的排名一样,而且只占一个排序名额。
比如,有5个人:100,100,90,90,70. 两个100的并列第一,称为第一战斗力,两个90的并列第二,称为第二战斗力,依次类推……现在你想查询第K战斗力是多少输入描述:先输入一个整数T,表示T(T<50)组数据。
[VIP专享]2013年安徽省青少年信息学奥林匹克竞赛成绩官方正式发布
2013年安徽省青少年信息学奥林匹克竞赛成绩官方正式发布一、集体奖 小学组集体一等奖: 安庆小学队 小学组集体二等奖: 芜湖小学队、淮南小学队 小学组集体三等奖: 马鞍山小学队、合肥小学一队 蚌埠小学队、合肥小学二队 初中组集体一等奖: 芜湖初中队 初中组集体二等奖: 合肥初中一队、安庆初中队 初中组集体三等奖: 马鞍山初中队、淮南初中队、六安初中队 高中组集体一等奖: 芜湖高中队 高中组集体二等奖: 合肥高中一队、安庆高中队、 高中组集体三等奖: 马鞍山高中队、合肥高中二队、铜陵高中队 二、2013安徽省信息学竞赛获奖名单(小学组个人奖)小学组个人一等奖姓名所在学校指导老师贾昊瑞芜湖市师大附小芜湖教练组胡德睿合肥市栢景湾小学赵伟珠齐明安庆市人民路小学刘骧腾金典安庆市高琦小学章琼李仁轩淮南师范附属小学马敏任彦羽蚌埠铁三小章文彬蒋炳衡芜湖市狮子山小学芜湖教练组汪欣然淮南师范附属小学马敏胡子健合肥市蜀山小学牛朝阳钱江雷合肥市蜀山小学牛朝阳桂克铜陵师范附小王国伟小学组个人二等奖姓名所在学校指导老师任奕凡安庆市高琦小学章琼刘展马鞍山市山南小学魏其军程至柔安庆石化一小孙义操铄安庆市徳宽路第二小学余永劢王瑞祺合肥市栢景湾小学赵伟房源松蚌埠高新教育集团第三实验小学彭介军王成蚌埠高新教育集团第三实验小学彭介军常昊冉淮南师范附属小学马敏金溥原安庆市人民路小学刘丛跃江芬安庆市健康路小学陈寿军周俊杰合肥市蜀山小学牛朝阳邬靖宇安徽医科大学附属小学李秀芳高子健马鞍山市山南小学魏其军魏一鸣马鞍山市实验小学程侃胡醒民合肥市蜀山小学牛朝阳宣思诚芜湖市师大附小芜湖教练组张心琦安庆市健康路小学陈寿军何天承淮南师范附属小学马敏邹晨雪延安小学芜湖教练组胡婷婷合肥市蜀山小学牛朝阳叶蔚然滁州琅琊路小学张俊程锐诚合肥市师范附属小学高玲小学组个人三等奖姓名所在学校指导老师宋庆奥合肥市蜀山小学牛朝阳陈林锟合肥市屯溪路小学何炼赵世龙蚌埠高新教育集团第三实验小学彭介军王克凡蚌埠铁三小章文彬张宜宁安庆市高琦小学章琼李清悦铜陵师范附小王国伟仇伟马鞍山市实验小学程侃葛一凡马鞍山市四村小学梅占祥沈盎马鞍山市师范附小陈琼陆新奥合肥市蜀山小学牛朝阳王陈玉珩安庆市健康路小学陈寿军胡运祚安庆市华一小于静迅钟天鸣合肥市屯溪路小学何炼施心一铜陵人民小学王海中周宇梅莲路小学芜湖教练组高子建蚌埠铁三小章文彬王政滁州琅琊路小学张俊王乐洋合肥市师范附属小学高玲毛朋森育红小学芜湖教练组吴正芃蚌埠高新教育集团第三实验小学彭介军范之闽铜陵师范附小王国伟刘正阳铜陵师范附小王国伟汲文玥蚌埠高新教育集团第三实验小学彭介军郑执蚌埠高新教育集团第三实验小学彭介军陈俊一阜阳市颍州区文峰中心校张军汪晓健合肥市蜀山小学牛朝阳李泽涵安庆市高琦小学章琼郑健飞安庆市双莲寺小学许建平钱晓临马鞍山市山南小学魏其军甘智雨马鞍山市新建小学姜鸿张子洋蚌埠铁三小章文彬李紫浩蚌埠铁三小章文彬徐凯旋界首市第一小学王红伟檀逸飞淮南师范附属小学马敏 二、2013安徽省信息学竞赛获奖名单(初中组个人奖)初中组个人一等奖姓名所在学校指导老师罗哲正芜湖市第二十七中学宋力强王萍江锐城马鞍山成功学校苏浩潘文初合肥四十五中学张金苗于剑淮南实验中学程勇李世欣芜湖三中戈仁敏王蕴韵芜湖市第二十七中学宋力强王萍金绍博合肥四十五中学张金苗张文灏合肥四十六中张志刚吴桐淮南实验中学程勇承君阳芜湖三中戈仁敏倪星宇芜湖市第二十七中学宋力强王萍吴天舒马鞍山成功学校谷晓华陈天乐芜湖三中杨翠敏刘澜东合肥四十五中学张金苗吴作凡芜湖三中戈仁敏初中组个人二等奖姓名所在学校指导老师朱昱六安市皋城中学李远楷、张勇丁广锐合肥五十中周敏雷国旭芜湖三中杨翠敏吴耀轩芜湖市第二十七中学宋力强王萍汪伟杰安庆四中朱小红、丁贤友、范江文梁堃昌泰合肥四十五中学张金苗柳子澍合肥四十五中学张金苗朱泽荧合肥五十中周敏闻深博安庆四中朱小红、丁贤友、范江文施余峰安庆十四中胡锋陈天宇马鞍山成功学校苏浩童开轩芜湖三中戈仁敏汤晨合肥四十五中学张金苗王天合肥五十中周敏蔡耀辉合肥四十六中王晓荔陶成璋芜湖市第二十七中学宋力强王萍刘明辉芜湖市第二十七中学宋力强王萍邓玉成蚌埠六中宋超魏来蚌埠九中张恩权薛寒蚌埠九中张恩权刘亚天合肥四十五中学张金苗张天陵合肥四十五中学张金苗乐陶然芜湖三中戈仁敏初中组个人三等奖姓名所在学校指导老师刘禹郑阜阳市实验中学李利胡伟六安市皋城中学李远楷、张勇夏冰蟾铜陵市第十五中程正贤沙熠合肥四十五中学张金苗唐铭康合肥四十六中张志刚包慧语芜湖三中杨翠敏魏子钧芜湖三中戈仁敏张明月芜湖市第二十七中学宋力强王萍李彦骏芜湖市第二十七中学宋力强王萍吴绪禹芜湖市荟萃中学汪从文胡周国安庆四中朱小红、丁贤友、范江文沈沛祺马鞍山成功学校苏浩李振宇界首市第四中学汪友朱正尧铜陵市第十中学吴敏蒋梦旭淮南实验中学程勇史如夷芜湖市第二十七中学宋力强王萍李知寒芜湖市第二十七中学宋力强王萍吴凡芜湖市第二十七中学宋力强王萍汪乐平芜湖市第二十七中学宋力强王萍王君梅芜湖三中戈仁敏魏华寅芜湖市第二十七中学宋力强王萍徐德民芜湖市第二十七中学宋力强王萍王德毅蚌埠九中张恩权李雨轩铜陵市第四中学程正贤叶文沁合肥四十五中学张金苗胡杨合肥四十五中学张金苗张中行合肥五十中周敏甘楠合肥五十中周敏吴俊雄合肥五十中周敏许灿文芜湖三中杨翠敏倪旻恒芜湖市第二十七中学宋力强王萍邵邦杰芜湖市第二十七中学宋力强王萍蒋子潇芜湖市第二十七中学宋力强王萍解乃璇蚌埠九中张恩权徐子懋蚌埠六中宋超张成昆阜阳市第十五中学武篷王雪纯宿州砀山五中陈仲钦王颖合肥四十六中王晓荔王凡芜湖三中戈仁敏高中组个人一等奖姓名所在学校指导老师梁泽宇合肥一中汪义超、张群、何文才贺子航安徽师范大学附属中学叶国平晏恺祺芜湖市第一中学吴朝晖高景胜安庆一中程志强王俊钟原安徽师范大学附属中学叶国平吴江安庆一中程志强王俊牛泽昊合肥一中汪义超、张群、何文才童佳琪安徽师范大学附属中学叶国平罗齐尧安徽师范大学附属中学叶国平郭育鲲芜湖市第一中学吴朝晖高中组个人二等奖姓名所在学校指导老师仇挺之芜湖市第一中学吴朝晖梁悦安庆一中程志强王俊陆瑾聪马鞍山二中周意姚顺雨合肥一中汪义超、张群、何文才束欣凯合肥一中汪义超、张群、何文才陶润洲合肥一中汪义超、张群、何文才王首天马鞍山二中周意傅子奇蚌埠二中周晖从乾昊宿州二中张磊王磊安庆一中程志强王俊郑逸宁马鞍山二中周意张浩铜陵市第一中学潘泽杭王易檀安徽师范大学附属中学叶国平骆铮合肥一中汪义超、张群、何文才王延森六安市第一中学江家和奚旭梅芜湖市第一中学吴朝晖毕超安庆一中程志强王俊舒翔安庆一中程志强王俊李子扬合肥一中汪义超、张群、何文才寇明阳安徽师范大学附属中学叶国平骆正权安徽师范大学附属中学叶国平高中组个人三等奖姓名所在学校指导老师刘潇奎阜阳市第一中学杨艳陈册铜陵市第一中学解娴金戈安徽师范大学附属中学叶国平张君睿安庆一中程志强王俊高梦洁马鞍山二中吴继承、张成林郑晨光阜阳市第一中学杨艳岳知涵阜阳市第三中学来伟耿煜安徽师范大学附属中学叶国平董敏轩安徽师范大学附属中学叶国平杨俊涵蚌埠二中周晖唐凯亮合肥一中汪义超、张群、何文才田鑫安徽师范大学附属中学叶国平王子君淮北市第一中学陈思,秦护矿姚超铜陵市第一中学张小红孙源浩铜陵市第一中学费本为汪已森马鞍山二中富栋肖颖蚌埠二中周晖凌展安徽师范大学附属中学叶国平潘经纬芜湖市第一中学吴朝晖刘长路阜阳市太和第一中学刘峰全宇轩安庆一中程志强王俊姚越阜阳市第一中学杨艳吴韵瑶芜湖市第一中学吴朝晖张越原六安市第一中学江家和韩越合肥一中汪义超、张群、何文才刘浒安徽师范大学附属中学叶国平周鑫芜湖市第一中学吴朝晖朱睿蚌埠二中周晖王思贤宿州灵璧中学巩成洲许乔昱六安市第一中学江家和殷晗芜湖市第一中学吴朝晖。
2013年安徽省“炜煌杯”大学生单片机竞赛试题
:
本试题 以竞赛现场提供的主 电踮板及 MCU核 心为硬 件平台 ,通 过程序设计完成题 目指定 的功能 ,本 次竞赛评委组根据各参赛队完成的 步骤进行评分 ,并 给出各完成的步 骤分值 ,合 葑 电路焊接分值形成本次参赛各队的总分 及名次 。 1.基 本题 (15分 ) ∷晶 釜 量 霍 虽
适位置 显示 日期 时间时 ,日 期也会 随之 变化 (5分 );
,
:⌒ r⌒
1^'^艹
艹 ⊥ˉ ¨
_
.
f殚酽 )醭
f穿
、 可 以 也 剡 呷
1廷 三 2且 3⊥ ~旦23盗 .59丝辶 55型 。
并 不 得 移 所 逖 韭 堕,调 整 塾 靼 嚣 色
(2)完 成上述题后 ,在 断 电的 情况下 ,原 时间保存 在 FLAsH中 ,上 电后 ,时 钟继 续行走 (5分 ); (3)完 成上述 题后1设 计整
B旦
幽
『 祆 鼋 霞 骥 埴 尹 红 是 蝥 妻 铋
¨ 灬 —
2.指 定功能题 (40分 )
开机 画面 结束后 ,程 序 自动跳 至 刂 指定 功台 邕 题 。要求 结 英寸 TFT彩 屏上显 示 个美观 的指针 式北京 时间时钟 (含 ∵ 一 ^=~—
件
3,
龊扌 唧 爨 蓠麋跫 霍 l 椒
(1)完 成基本题后 ,在 表面 内部合
2013年 安 徽省 大 学生单 片机 竞 赛 试题
一、 电路焊接试题 (15分 ) 参零选手 以队为单位 氵独立 设计并莞 u^套 语音 电路板及元器件的焊接任务 ,并 进行相关的测试 ,完 成后填写参赛学校及队名标签 并贴于显著位 置 :此 电路板将作为 完成 一下题的重要组感部分 ,有 关电路原理说明在 赛题文件来 中,请 仔细阅读 ,电 路 采用万能板焊接 ,元 件的布局及走线需要 自行设计 ,请 认真完成并保证焊接无误、工 功实现 。 二、程序设计试题
【7A版】2013全国大学生数学建模比赛B题-答案
承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):重庆邮电大学参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期:20GG 年9 月13 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原摘要本文研究的是碎纸片的拼接复原问题。
由于人工做残片复原虽然准确度高,但有着效率低的缺点,仅由计算机处理复原,会由于各类条件的限制造成误差与错误,所以为了解决题目中给定的碎纸片复原问题,我们采用人机结合的方法建立碎纸片的计算机复原模型解决残片复原问题,并把计算机通过算法复原的结果优劣情况作为评价复原模型好坏的标准,通过人工后期的处理得到最佳结果。
面对题目中给出的BMP格式的黑白文字图片,我们使用matlab软件的图像处理功能把图像转化为矩阵形式,矩阵中的元素表示图中该位置像素的灰度值,再对元素进行二值化处理得到新的矩阵。
题目每一个附件中的碎纸片均为来自同一页的文件,所以不需考虑残片中含有未知纸张的残片以及残片中不会含有公共部分。
鉴于残片形状分为“长条形”与“小长方形”,残片内容分为中文、英文,纸张的打印类型分为“单面型”、“双面型”,所以我们根据残片的类型对矩阵做不同处理。
2013安徽省省赛题
2013安徽省省赛题2013.05.302013安徽省省赛裁判出题组安徽省2013年“京胜杯”大学生程序设计竞赛A.单词反转Time limit 1sProblemDescription给你一些英文句子,请将这些句子中的每个英语单词反转,然后再将其输出.这里听说的英语单词仅由大小写英文字母组成.Input多个英文句子,每句占一行,且每句不超过80个字符.Output按题目要求输出SampleInputHelloworld!Happyprogramming,happylife!SampleOutputolleHdlrow!yppaHgnimmargorp,yppahefil!B.等差数列timelimit1sProblemDescription有一个长度为N(1<=N<=100000)的整数序列s[],在这个序列上定义了两种操作:AddLRAD:对于每一个i(L<=i<=R),S[i]+=A+(i-L)*D,也就是在子序列S[L,R]加上首项A,公差为D的等差数列:QueryLR:询问[L,R]区间内最长的等差数列的长度,亦即寻找最大的len,使S[i],S[i+1],...,S[i+len-1](L<=i<=R,L<=i+len-1<=R)构成等差数列。
Input多组测试数据。
每组测试数据的第一行为两个正整数N(1<=N<=100000)和M(1<=M<=10000),分别代表序列的长度和操作个数,接下来有M行,每行代表一个操作,操作具体含义见题目描述。
其中,0<=L<=R<N,0<=A<=100000,0<=D<=10.Output对于每组测试数据,首先输出组号。
然后对于每次询问,输出所求结果。
详见样例输出。
SampleInput53Add1411Query04Query23104Add0911Add4911Query09Query55SampleOutputCase#1:52Case#2:71C.进程调度timeLimit1sProbleDescription操作系统的一个重要功能是进行进程调度,其进程调度的算法有多种,其中最简单的调度算法是先进先出服务(FCFS)算法,该算法的思想是:先进入就绪队列的先执行,后进入的后执行,同一时刻进入就绪队列的执行时间少的先执行。
一道_统计与概率_高考试题的微型_省略_013年安徽理科试卷第21题为例_蒋会兵
第 33 卷 第 2 期 2014 年 2 月 数 学 教 学 研 究
61
将试题的背景条件或者是问题改变以后试题 所呈 现 的 重 要 价 值.分 析 试 题 的 推 广 有 利 于 教师 在 教 学 过 程 中 丰 富 试 题 的 类 型,也 利 于 学生 理 解 和 强 化 基 本 知 识 和 基 本 技 能,即 在 不同 的 条 件 下 解 决 同 一 类 型 的 问 题,达 到 真 正 的 举 一 反 三 ,以 不 变 应 万 变 的 解 题 策 略 .
试题的解法是指在解题过程中所使用的 方法、手 段、技 巧 等 有 助 于 解 决 该 问 题 的 途 径.分 析 试 题 的 解 法 主 要 是 对 于 一 道 试 题 从 不同 的 角 度 去 分 析 和 解 答,寻 求 多 种 不 同 的 解 答 方 法 ,进 而 提 高 解 题 的 速 度 和 准 确 率 .在 试题 解 答 过 程 中 既 有 一 般 的 通 性 通 法,又 有 巧 妙 简 洁 的 简 单 方 法 .因 此 ,通 过 对 试 题 解 法 的分 析,从 不 同 的 方 法 中 选 择 适 合 考 生 能 力 范围 的 方 法 进 行 解 答,可 以 在 解 题 过 程 中 达 到事 半 功 倍 的 效 果.在 分 析 解 法 的 过 程 中 也 培养 了 学 生 分 析 问 题 和 解 决 问 题 的 能 力,同 时也 训 练 了 学 生 思 维 的 发 散 性、灵 活 性 以 及 对数 学 问 题 的 探 究 意 识,从 而 促 进 学 生 解 题 能力的 提 高.本 题 第 1 问 求 学 生 甲 收 到 李 老 师或 张 老 师 所 发 活 动 通 知 信 息 的 概 率,可 以 有 两 种 途 径 :一 种 是 正 面 求 解 ,即 分 别 求 出 学 生甲 收 到 李 老 师 所 发 信 息 的 概 率,学 生 甲 收 到张老师所发信息的概率和学生甲同时收到 李老 师 和 张 老 师 所 发 信 息 的 概 率,最 后 求 出 他 们 的 和 概 率 ;另 一 种 是 反 面 求 解 ,即 记 事 件 A:“学生甲只收 到 李 老 师 所 发 信 息”,记 事 件 B:“学生甲只收 到 张 老 师 所 发 信 息 ”,求 出 事 件 A,B 的概率,在求出 事 件 A珡 与B珚 的 概 率, 最后通过 A珡,B珚 的 积 事 件 的 对 立 事 件 概 率 求 出该问 题 的 解.第 1 种 方 法 是 学 生 容 易 想 到 的方法,但 是 分 析 起 来 比 较 复 杂,运 算 量 较 大.第2种 方 法 巧 妙 且 计 算 量 小、思 路 清 晰, 但 不 容 易 想 到 .通 过 这 样 的 分 析 ,可 以 使 学 生 尝试 用 不 同 的 方 法 进 行 求 解,也 可 以 鼓 励 学 生思考、探究,尝 试 使 用 其 他 的 解 答 方 法,培 养学生的解题能力. 4 试 题 推 广 分 析
2013全国大学生数学建模竞赛B题参考答案
2013高教社杯全国大学生数学建模竞赛B题评阅要点[说明]本要点仅供参考,各赛区评阅组应根据对题目的理解及学生的解答,自主地进行评阅。
本题要求对数据提取合适的特征、建立合理有效的碎纸片拼接复原模型。
可以考虑的特征有邻边灰度向量的匹配、按行或按列对灰度求和、行距等。
关于算法模型,必须有具体的算法过程(如流程图、算法描述、伪代码等)及设计原理。
虽然正确的复原结果是唯一的,但不能仅从学生提供的复原效果来评定学生解答的好坏,而应根据所建的数学模型、求解方法和计算结果(如复原率)三方面的内容做出评判。
另一方面,评判中还需要考虑人工干预的多少和干预时间节点的合理性。
问题1. 仅有纵切文本的复原问题由于“仅有纵切”,碎纸片较大,所以信息特征较明显。
一种比较直观的建模方法是:按照某种特征定义两条碎片间的(非对称)距离,采用最优Hamilton路或最优Hamilton圈(即TSP)的思想建立优化模型。
关于TSP的求解方法有很多,学生在求解过程中需要注意到非对称距离矩阵或者是有向图等特点。
还可能有种种优化模型与算法,只要模型合理,复原效果好,都应当认可。
本问题相对简单,复原过程可以不需要人工干预,复原率可以接近或达到100%。
问题2. 有横、纵切文本的复原问题一种较直观的建模方法是:首先利用文本文件的行信息特征,建立同一行碎片的聚类模型。
在得到行聚类结果后,再利用类似于问题1中的方法完成每行碎片的排序工作。
最后对排序后的行,再作纵向排序。
本问题的解法也是多种多样的,应视模型和方法的合理性、创新性及有效性进行评分。
例如,考虑四邻近距离图,碎片逐步增长,也是一种较为自然的想法。
问题3. 正反两面文本的复原问题这个问题是问题2的继续,基本解决方法与问题2方法相同。
但不同的是:这里需要充分利用双面文本的特征信息。
该特征信息利用得好,可以提升复原率。
在阅卷过程中,可以考虑学生对问题的扩展。
例如,在模型的检验中,如果学生能够自行构造碎片,用以检验与评价本队提出的拼接复原模型的复原效果,可考虑适当加分。
2013安徽省青少年信息学奥林匹克竞赛中学组试题
2013年安徽省青少年信息学奥林匹克竞赛中学组试题AOI 2013(请选手仔细阅读本页内容)比赛用时(5小时)竞赛时间:2013年5月18日8:00-13:00注意:最终测试时,所有编译命令均不打开任何优化开关。
体育课【故事背景】JYY很喜欢踢足球,所以一到体育课JYY就很高兴。
但是今天JYY在上课前听说体育老师KFC要在排队的时候让个子最高的几个同学去帮PUPPY老师搬桌子,这可急坏了JYY(搬桌子去了就没球踢了☹)。
JYY需要想一个好的办法,使得自己在排队的时候站的尽量靠后些。
【问题描述】体育课里一共有N个同学,学号分别为1到N,JYY的学号是P。
学号为i 的同学的身高为h i。
JYY的体育老师KFC有一个特殊排队方法:KFC先让班里的N个同学按照学号从小到大的顺序,从左到右站成一排,然后从到队列的最左边(也就是第一个学生面前)开始,一直向右走动到第N-1个学生面前;接着KFC再回到第一个学生面前,继续开始向右走,就这样一共走动N-1次。
每次当KFC走到第i 个学生面前时,KFC会比较一下队列里第i个学生和第i+1个学生的身高,如果左边(第i个)的学生比右边(第i+1)的学生高,那么KFC就会交换这两个学生在队列里的位置。
最终,在N-1次走动全部结束之后,KFC会选出队列最右边的一些学生去搬桌子。
自然的,JYY希望能够站在尽量靠左的位置来增加自己踢足球的机会。
此外,JYY还有一个绝招,那就是在KFC老师快走到自己面前的时候,开始蹲下来系鞋带!如果JYY蹲下来系鞋带了,那么在这一次走动中,好说话的KFC老师就不会让JYY和相邻的同学比较身高了,自然也就不会让JYY和相邻的同学交换位置。
(只有JYY最聪明会蹲下来系鞋带,其他同学都只会老老实实的让KFC老师比较身高☺)蹲下来系鞋带是很耗费体力的。
为了留着体力踢足球,JYY最多只能蹲下K 次。
JYY想知道,按照怎样的下蹲策略可以使自己在队列里站的尽量靠左。
合肥工业大学宣城校区:程序设计基础--周波:实验八仅供参考
程序设计基础(实验八)学号:姓名:专业:1.目的:掌握结构体,加深联合与枚举类型的理解。
2 题目:(1)建立结构student用于表示学生信息,如姓名、年龄、性别、成绩等,定义两个操作结构student的子函数input和display,函数input用于输入n个学生的有关信息,要求在input函数中利用new函数进行申请内存,将信息存储在这个空间上,display用于显示在这个空间上的信息。
(2)定义一个单链表,链表节点内只需保存该链表的名字或者编号,完成该单链表的建立与访问(分别利用不同的子函数)。
(3)使用枚举类型定义月份,并编写一个程序,根据用户输入的年份,输出该年各月的天数。
3 程序结果贴图(注意标明对应题号和进行简短说明)图1 题目(1)程序输入数据图2 题目(1)程序输出数据图3 题目(2)程序运行截图图4 题目(2)程序运行截图图5 题目(2)程序运行截图(正序,C版本)图6 题目(3)程序运行截图4 编程过程中碰到的问题及总结5 附源代码://1#include <iostream>#include <cstdio>//姓名、年龄、性别、成绩typedef struct student{char name[50];int y;char sex[10];int grade;}s;using namespace std;s *input(s *,int);s *display(s*,int);int main(){freopen("x1.in","r",stdin);freopen("x1.out","w",stdout);int n;s *stu;cin>>n;stu=input(stu,n);display(stu,n);return0;}s *input(s* st,int n){st=new s[n];for(int i=0;i<n;i++){cin>>st[i].name>>st[i].y>>st[i].sex>>st[i].grade;}return st;}s *display(s* st,int n){for(int i=0;i<n;i++){cout<<st[i].name<<" "<<st[i].y<<" "<<st[i].sex<<" "<<st[i].grade<<endl;}delete st;}//2#include <iostream>using namespace std;struct node{int data;node *next;};node *cr(int);void display(node *);int main(){int n;cin>>n;node *p=cr(n);display(p);return0;}node *cr(int n){node *tmp=NULL,*head=NULL;int num;cin>>num;head=new node;head->data=num;head->next=NULL;for(int i=0;i<n-1;i++){cin>>num;tmp=new node;tmp->data=num;tmp->next=head;head=tmp;}return head;}void display(node *s){node *tmp=s;while(tmp){cout<<tmp->data<<" "; tmp=tmp->next;}}//_front C version#include <stdio.h>#include <stdlib.h>typedef int Datatype;typedef struct Node{Datatype data;struct Node* next;}Node,*PNode;PNode Init(int);void display(Node*);int cmp(const void*,const void*);int main(){srand(time(NULL));int n;scanf("%d",&n);Node* p=Init(n);display(p);//qsort(p,n,sizeof(int),cmp);//display(p);return0;}PNode Init(int n){Node* tmp=NULL,* tail=NULL,* head=NULL;int num;num=rand()%(10000-100)+100;head=(PNode)malloc(sizeof(Node));head->data=num;head->next=NULL;tail=head;for(int i=0;i<n-1;i++){num=rand()%(10000-100)+100;tmp=(PNode)malloc(sizeof(Node));tmp->data=num;tmp->next=NULL;tail->next=tmp;tail=tmp;}return head;void display(Node* s){PNode tmp=s;while(tmp){printf("%d ",tmp->data);tmp=tmp->next;}printf("\n");}/*int cmp(const void* a,const void* b) {return *(int*)a-*(int*)b;}*///3#include <iostream>using namespace std;enum Moth{January,February,March,April,May,June,July,August ,September,October,Novermber,December};void leap(int);int main(){leap(2000);cout<<endl;leap(1998);cout<<endl;leap(2010);cout<<endl;leap(2018);return0;void leap(int y){if((y%400==0)||((y%4==0)&&(y%100!=0))){cout<<January+1<<" = 31"<<endl;cout<<February+1<<" = 29"<<endl; cout<<March+1<<" = 31"<<endl;cout<<April+1<<" = 30"<<endl;cout<<May+1<<" = 31"<<endl;cout<<June+1<<" = 30"<<endl;cout<<July+1<<" = 31"<<endl;cout<<August+1<<" = 31"<<endl;cout<<September+1<<" = 30"<<endl; cout<<October+1<<" =31"<<endl;cout<<Novermber+1<<" =30"<<endl; cout<<December+1<<" = 31"<<endl;}else{cout<<January+1<<" = 31"<<endl;cout<<February+1<<" = 28"<<endl; cout<<March+1<<" = 31"<<endl;cout<<April+1<<" = 30"<<endl;cout<<May+1<<" = 31"<<endl;cout<<June+1<<" = 30"<<endl;cout<<July+1<<" = 31"<<endl;cout<<August+1<<" = 31"<<endl;cout<<September+1<<" = 30"<<endl; cout<<October+1<<" =31"<<endl;cout<<Novermber+1<<" =30"<<endl; cout<<December+1<<" = 31"<<endl;}}。
2013全国大学生数学建模竞赛A题参考答案
2013全国大学生数学建模竞赛A题参考答案第一篇:2013全国大学生数学建模竞赛A题参考答案2013高教社杯全国大学生数学建模竞赛A题评阅要点[说明]本要点仅供参考,各赛区评阅组应根据对题目的理解及学生的解答,自主地进行评阅。
本题的难点在于通过视频资料获得车流数据,并以此为基础建立数学模型,分析部分车道被占用后,道路拥塞程度与上游来车量的关系。
评阅时请关注如下方面:建模的准备工作(视频中车流数据的提取,包括视频缺失及错误的处理),模型的建立、求解和分析方法,结果的表述,模型的合理性分析及其模型的拓广。
问题1.1.1.道路被占用后,实际的通行能力需要通过视频中的车流数据得到,不能仅由交通道路设计标准估计;1.2.应该根据视频信息给出不同时段、不同情况下车流量的变化,需要给出通行能力的计算方法、理由的陈述或分析;1.3.在被占用道路没有车辆排队时,通行能力等同于单车道情形,但当被占用道路有车辆排队时,由于被占用道路车辆的变道抢行,会使道路的通行能力下降,好的结果应该明确指出这一点。
问题2.2.1.对于视频2 的分析同视频1,需要通过视频2与视频1的数据对比给出通行能力的差异及原因分析;2.2.由于事故横断面下游交通流方向需求不同,会导致上游每条车道分配到的车辆数不同,使两种情况事故所处道路横断面形成多车道排队的机率不同,从而影响实际通行能力。
如果在模型中注意到这一点则更好。
问题3.3.1.建立数学模型,给出交通事故所引起的路段车辆排队长度与事故横断面实际通行能力、事故持续时间、路段上游车流量间的关系;3.2.模型的形式可以多样,但需要包含上述各种因素。
关键考察模型假设的合理性、参数确定的原则、及模型的可计算性。
问题 4.4.1.本问题是问题1 及问题 3 的扩展,可利用问题1 得到的通行能力及问题3 的模型计算结果;4.2.和问题1、3不同,当事故横断面离红绿灯路口较近时,司机无充分时间调整车道,会增大多车道占用情形,影响通行能力,模型计算中应考虑这一点;4.3.附件中给出了上游路口信号灯的控制方案,会影响上游来车的流量分布,如果学生能够利用附件给出上游路口信号灯配时方案和交通组织方案则更好。
蓝桥杯13届真题答案解析
蓝桥杯13届真题答案解析是计算机竞赛中一道非常具有挑战性的题目,要求参赛者在规定的时间内解决一系列的编程问题。
这些问题涵盖了计算机科学与技术的多个领域,考察了参赛者的算法设计、编程能力、数据结构等。
在解析此次之前,我们需要先了解一下蓝桥杯比赛的特点。
蓝桥杯竞赛是国内最具影响力的大学计算机竞赛之一,每年都吸引了大批的计算机爱好者参与其中。
竞赛分为初赛和决赛两个阶段,初赛采取线上形式,参赛者通过提交代码的方式进行答题。
而决赛则是线下举行,参赛者需要在规定时间内完成一系列的实际编程任务。
接下来我们来分析一下13届蓝桥杯的真题,看看其难度和题目要求。
这一届的真题一共有三道编程题目和一道思维题目。
其中,编程题目涉及到计算几何、搜索算法和动态规划等算法思想。
而思维题目则考察了参赛者的逻辑思维和创新能力。
第一道编程题目是关于计算几何的问题,要求参赛者编写程序计算一个多边形的面积。
这个问题相对较简单,只需要按照多边形的定义,计算出每个三角形的面积,并将其相加即可得到最终结果。
参赛者需要注意的是边界条件和特殊情况的处理。
第二道题目是关于搜索算法的问题,要求参赛者编写程序找出一个迷宫中从起点到终点的最短路径。
这个问题稍微复杂一些,需要使用深度优先搜索或广度优先搜索等算法来解决。
参赛者需要注意的是搜索过程中的剪枝和优化策略,以减少搜索时间和空间复杂度。
第三道题目是关于动态规划的问题,要求参赛者编写程序计算一个序列中的最长递增子序列的长度。
这个问题需要使用动态规划的思想,参赛者需要将问题分解为子问题,并设计状态转移方程来解决。
参赛者需要注意的是保存中间结果和优化子问题的计算顺序,以减少计算时间和空间复杂度。
最后是思维题目,该题目要求参赛者在一个给定的矩阵中找出一个序列,使得该序列的和最大。
这个问题可以使用动态规划的思想来解决,参赛者需要设计状态转移方程,并根据问题的特点来求解。
参赛者需要注意的是边界条件和特殊情况的处理,以保证算法的正确性和效率。
2012 2013第一学期JAVA程序设计试卷
题号
一
二
三
四
五
总分
核分人
分值
30
10
15
21
24
100
得分
得分 评卷人 一、单项选择题(每小题 2 分,共 30 分)
1. When you compile a java program you should use command?
A. Dynamic binding B. Upcasting C. Method overloading D. Method overriding
6. In Java, the way that implements the effect of multi-inheritance is ( ).
A. actionListener B. adapter C. interface
《Java 程序设计》试卷 第 4页 (共 8页)
System.out.print(" "+x); } } } 输出结果:
2. public class Test{ Test(){ this(5) ; System.out.println("Test") ; } Test(int i){ System.out.println("Test "+i); } public static void main(String[] args){ new Test(); }
B. Class B's constructor has arguments.
C. Class B's constructor includes a call to this().
c++2011-2013合肥市讯飞杯 奇妙变换题解
一、背景介绍在2011-2013年期间,合肥市讯飞杯是一场备受关注的程序设计竞赛。
其中,奇妙变换题是该竞赛中的一道重要题目,考察了参赛者对C++语言的运用和理解。
本文将就奇妙变换题进行详细的解析,以帮助读者更好地理解和掌握相关知识。
二、题目描述奇妙变换题的具体描述如下:给定一个长度为n的序列a,进行m次操作,每次操作选择两个整数l、r(1≤l≤r≤n),使得l到r之间的元素的值全部加一,并将加一的次数记入计数数组b中。
最后输出操作结束后的序列a以及计数数组b的结果。
三、问题分析1. 理清题意首先要理解题目的要求,明确操作的规则。
题目要求对一组序列进行m次操作,每次操作都是选择一段区间进行加一操作,并将操作次数记录在计数数组b中。
2. 思路分析我们可以通过模拟操作的过程来解决这道题。
可以创建一个长度为n的数组a,用来存储初始的序列。
然后再创建一个长度为m的数组b,用来存储操作的次数。
接下来,根据题目描述的操作规则,循环进行m次操作,每次都选择一个区间进行加一操作,并将操作次数记录到数组b中。
输出经过操作后的序列a以及计数数组b的结果。
四、代码实现下面是一段C++代码实现了奇妙变换题的解答:```cpp#include <iostream>#include <vector>using namespace std;int m本人n() {int n, m;cin >> n >> m;vector<int> a(n);for (int i = 0; i < n; i++) {cin >> a[i];}vector<int> b(m, 0);for (int i = 0; i < m; i++) {int l, r;cin >> l >> r;for (int j = l - 1; j <= r - 1; j++) { a[j]++;b[i]++;}}for (int i = 0; i < n; i++) {cout << a[i] << " ";}cout << endl;for (int i = 0; i < m; i++) {cout << b[i] << " ";}cout << endl;return 0;}```五、代码解析1. 输入处理首先通过cin分别获取输入的序列长度n和操作次数m,然后创建长度为n的数组a,用来存储初始序列的值。
2013安徽省信息学竞赛试题(小学组)
2013年安徽省青少年信息学奥林匹克竞赛小学组试题AOI 2013竞赛时间:2013年5月18日08:00至11:00留意事项1.务必看清题目,严格根据所要求的格式输入、输出。
2.在调试程序时请先运用题目中的示例数据,然后再自行设计多组测试数据行调试。
测试有严格的时间限制,请尽可能优化算法。
3.命名规则:(1)每题都规定了该题的英文名称。
(2)程序文件与数据文件的主文件名都是该题的英文名字。
(3)数据文件都是文本文件,输入与输出文件的扩展名分别是.in与.out。
4.要求提交源程序的文件名一律采纳小写。
不同程序设计语言的源文件其扩展名请运用默认的扩展名。
例如,PASCAL 语言编写的源程序文件的扩展名应当为.pas;C 语言编写的源程序文件的扩展名应当为.c;C++语言编写的源程序文件的扩展名应当为.cpp。
留意:扩展名也应为小写。
5.选手在桌面上建立以选手的参赛号为名的书目,并由选手为每道试题再单独建立一个子书目,子书目名与对应的试题英文名一样(英文小写,参见试题封面页)。
选手提交的每道试题的源程序必需存放在相应的子书目下。
未按规定建立子书目、建立的子书目名出现错误、或提交的源程序没有存放在相应的子书目下等都会导致选手成果为0 分,责任由选手担当。
请留意参赛号前缀AH 为大写的半角英文字符。
6.全部的输入输出文件最终一行均无回车换行符。
题目1.序列数字个数(seqnum)最近正在上映电影“魔境仙踪”,爱魔幻故事的卡卡西特殊想去看,于是央求着妈妈带她去影院。
卡卡西的妈妈对她微微一笑,说:“那好吧,卡卡西,让我来考考你,假如你能解决我出的难题,就可以带你去影院哦!你想要试试吗?”“当然啦,尽管出题吧……”,卡卡西信念满满,于是妈妈开场出题。
题目是这样的:现连续写下从整数1开场到某个整数N(十进制)之间的全部整数时,能得到如下的数字序列:1234567891122…,当N为20时,得到的数字序列为:12345678910111281920。
车道被占用
• 论文写作不规范。
• 将实际通行能力理解为实际通过的车辆数,通过 视频数车辆(没车通过不代表道路没有通行能 力),可能有三分之二以上的队是这样处理的;
• 三分之一以上队利用交通流模型,参考了公开发 表的论文却不注明出处,也不说明引用了那些内 容。
果是你在生活中碰到此类问题,有可能需要解决 哪些问题)
问题解析
• 关于第一问
• 正确理解实际通行能力:许多参赛队将从 视频中得到的单位时间通过横断面车辆数 作为实际通行能力的理解是不正确的。
• 比较认可两种方法:理论公式或阻塞时单 位时间通过横截面最大车辆数。
• 获取部分数据后再作数据分析(视频数据 中一会儿阻塞,一会儿不阻塞)。
0.155 pcu / m)
• 将问题3的公式离散化得:
L2
(t)
20T 9(k j km
)
((qu
q1d
)
t
T qu (t)dt)
3km L0 解得:t 5.4(min)
约5.4分钟堵到路口
• 普遍存在的问题:
• 实际交通能力的理解出现偏差,只 看到文字描述,语言描述不准确, 不知这是专业术语 ;
大致结果(设计标准不低于 2000pcu/h,实际约为理论的80%)
• 事故前与事故结束后单车道 1600pcu/h.(实 际3车道,根据平均车速或车密度确定)
• 视频1 • 事故过程中单车道平均 1300pcu/h.(仅1车
道) • 视屏2 • 事故过程中单车道平均 1500pcu/h.(仅1车
(N20 N30 )
t
N0
L1 (t) L2 (t) L3(t)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013安徽省省赛题解2013.05.302013安徽省省赛裁判出题组目录A.单词反转 (2)B.等差数列 (4)C.进程调度 (9)D.进击的巨人 (11)E.巨人的进击 (13)F.闪光的指压师 (17)G.Alice&Marisa (20)H.排列的前后 (22)I.散步 (33)J.IQ test?和K.IQ test 2 (36)L.the end of the world (38)题目地址:/view/e97bfd5ac850ad02de8041ee.htmlA.单词反转Solution:简单的字符串处理,只要将一句话中的单词反转输出,其余字符原样输出即可。
Code:#include <iostream>#include <cstring>#include <cstdio>using namespace std;bool isChar(char ch){return ( (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') );}int main(){string s = "";string word = "";char ch;int cnt = 0;while (true) {getline(cin, s);if (s.size() == 0) {break;}word = "";int i, j, k;for (i = 0; i < s.size(); ) {if (isChar(s[i])) {word = "";word += s[i];for (j = i + 1; j < s.size(); ++j) {if (isChar(s[j])) {word += s[j];} else {break;}}for (k = word.size() - 1; k >= 0; --k) {cout<<word[k];}if (j >= s.size()) {break;} else {cout<<s[j];}i = j + 1;} else {cout<<s[i];i++;}}cout<<endl;}return 0;}B.等差数列Solution:首先所说明一下,这题原定的时限是1s,比赛时为了降低难度将时限改为了10s。
比赛时用O(n^2)的算法是可以过的。
要想在ls的时限下过这道题,就要用线段树。
考虑以下数列a:1 2 3 4 6 8 10 12我们将数列a的相邻两项相减得到数列b:_ 1 1 1 2 2 2 2观察发现,要想求数列a的区间[L, R]上的最长等差数列的长度,只要求数列b的区间[L+1,R]上的最长连续相同数值的长度再加1。
现在将a[1,4]加上一个首项为A=2,公差为D=1的等差数列后,a为:1 4 6 8 11 8 10 12而这时的b为:_ 3 2 2 3 -3 2 2相当于将b[1]加上A=2,将b[2,4]加上D=1,将b[5]加上-(A+(R-1)*D)=-5。
Code:#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int maxn = 100010;struct Node {int l, r, rt;int llen, rlen; // 区间左(右)端点开始的连续数列长度int mlen; // 区间最长连续数列的长度long long lvalue, rvalue; // 区间左(右)端点数列的值int len(){return r - l + 1;}}seg[maxn<<2];void build(int l, int r, int rt){seg[rt].l = l;seg[rt].r = r;seg[rt].llen = seg[rt].rlen = seg[rt].mlen = seg[rt].len();seg[rt].lvalue = seg[rt].rvalue = 0;if (l == r) {return ;}int mid = (l + r) >> 1;build(l, mid, rt << 1);build(mid + 1, r, (rt << 1) | 1);}void pushDown(int rt){if (seg[rt].mlen == seg[rt].len()) {int lch = rt << 1;int rch = (rt << 1) | 1;seg[lch].llen = seg[lch].rlen = seg[lch].mlen = seg[lch].len();seg[lch].lvalue = seg[rt].lvalue;seg[rch].llen = seg[rch].rlen = seg[rch].mlen = seg[rch].len();seg[rch].rvalue = seg[rt].rvalue;}}void pushUp(int rt){int lch = rt << 1;int rch = (rt << 1) | 1;seg[rt].lvalue = seg[lch].lvalue;seg[rt].rvalue = seg[rch].rvalue;seg[rt].llen = seg[lch].llen;seg[rt].rlen = seg[rch].rlen;seg[rt].mlen = max(seg[lch].mlen, seg[rch].mlen);if (seg[lch].len() == seg[lch].llen && seg[rch].lvalue == seg[lch].rvalue) { seg[rt].llen += seg[rch].llen;}if (seg[rch].len() == seg[rch].rlen && seg[lch].rvalue == seg[rch].lvalue) { seg[rt].rlen += seg[lch].rlen;}if (seg[lch].rvalue == seg[rch].lvalue) {seg[rt].mlen = max(seg[rt].mlen, seg[lch].rlen + seg[rch].llen);}}void update(int l, int r, int rt, long long d){if (l > r) {return ;}if (l == seg[rt].l && r == seg[rt].r) {if (seg[rt].mlen == seg[rt].len()) {seg[rt].lvalue += d;seg[rt].rvalue += d;return ;}}pushDown(rt);int mid = (seg[rt].l + seg[rt].r) / 2;int lch = rt << 1;int rch = (rt << 1) | 1;if (r <= mid) {update(l, r, lch, d);} else if (l > mid) {update(l, r, rch, d);} else {update(l, mid, lch, d);update(mid + 1, r, rch, d);}pushUp(rt);}int query(int l, int r, int rt){if (l > r) {return 0;}if (l == seg[rt].l && r == seg[rt].r) {return seg[rt].mlen;}pushDown(rt);int lch = (rt << 1);int rch = (rt << 1) | 1;int mid = (seg[rt].l + seg[rt].r) >> 1;if (r <= mid) {return query(l, r, lch);} else if (l > mid) {return query(l, r, rch);} else {int mlen;mlen = max(query(l, mid, lch), query(mid + 1, r, rch));if (seg[lch].rvalue == seg[rch].lvalue) {mlen = max(mlen, min(seg[lch].rlen, mid - l + 1) + min(seg[rch].llen, r - mid));}return mlen;}}int main(){//freopen("W.等差数列.in", "r", stdin);//freopen("W.等差数列.out", "w", stdout);int n, m;char op[10];int L, R;int A, D;int tcase = 0;while (scanf("%d%d", &n, &m) != EOF) {tcase++;printf("Case #%d:\n", tcase);build(1, n - 1, 1);for (int i = 0; i < m; ++i) {scanf("%s", op);if (op[0] == 'A') {scanf("%d%d%d%d", &L, &R, &A, &D);if (L != 0) {update(L, L, 1, A);}if (L + 1 <= R) {update(L + 1, R, 1, D);}if(R != n - 1) {update(R + 1, R + 1, 1, -(A + (R - 1) * D));}} else {scanf("%d%d", &L, &R);printf("%d\n", query(L + 1, R, 1) + 1);}}}return 0;}C.进程调度Solution:首先,将各进程先按到达时间由先到后,再按执行时间由短到长排序。