来自牛人的ACM经验.doc_第1页
来自牛人的ACM经验.doc_第2页
来自牛人的ACM经验.doc_第3页
来自牛人的ACM经验.doc_第4页
来自牛人的ACM经验.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

来自牛人的ACM经验竞赛 2010-07-16 09:51:43 阅读0 评论0 字号:大中小 转于:/luxuejuncarl/hacker名单/isbx posted 2007-03-19 21:30 路雪军 阅读(120) | 评论 (0) |编辑收藏 Linux常用命令锦集/images/tech/linux/zhuanti/mingling/index.htm posted 2007-03-19 20:25 路雪军 阅读(112) | 评论 (0) |编辑收藏 2007年3月5日 随想记录下wonderful的sentences,背下来并加以应用is a good habit.posted 2007-03-05 15:24 路雪军 阅读(88) | 评论 (0) |编辑收藏 2007年3月3日 acm比赛经验(转)在天大,偶参加的比赛可以算是最多的了,说说比赛经验。 可能现在说早了点,需要大家在正式比赛之前再看一遍。 推荐此篇文章打印,与模板放在一起。 1. 比赛中评测会有些慢,偶尔还会碰到隔10分钟以上才返回结果的情况,这段时间不能等结果,必须开工其他题,如果WA,两道题同时做。交完每道题都要先打印。 2. 比赛时发的饭不是让你当时就吃的,那是给你赛后吃的。基本上比赛中前几名的队都没人吃,除非领先很多。 3. 很多选手,尤其是第一次参加比赛的,到一个新环境,全当旅游了,参观的参观,找同学的找同学,玩玩乐乐就把正事抛到脑后了,结果比赛自然没什么好成绩,这样的例子太多了。所以到参赛地后要时刻不忘自己是来比赛的,好好休息、备战。 4. 参赛前一天要睡10个小时以上,非常有助于保持比赛中的精力,很多时候比赛到3个多小时队员就没劲了就是这个原因。前一天晚饭与当天早饭要吃好,理由同上,要知道下顿饭得下午3点赛后才能吃。 5. 到新环境,时刻注意远离疾病,感冒肠炎病不大,却是成绩的天敌。 6. 英语不好,看不懂的,要勤查词典,懒一次就少一道题,远离奖牌。 7. 可以紧张,杜绝慌张,慌张是出题的敌人,任何时候,如果发现自己或者队友出现慌张的情况,提醒深呼吸。 8. 照着纸敲代码和sample数据时不要敲错,特别注意文字信息。 9. 第一道简单题交给队中最稳的人做,万一遇到麻烦也不要慌,如果有很多队都出了就更不必着急了,它必定是简单题,必定是可以很快做出来的,晚几分钟也比罚掉20分好。另外注意不要PE。 10. 最后一小时是出题高峰,谁松懈,谁落后。最后一小时出一道是正常,出两道更好。 以上各条均有出处,每条都包含着以往教训,每条都可能浪费掉你一年的努力,不可小视。 以下各条有些来自于其他学校,有些是总结: 11. 无论是否有人通过,所有题必须全读过,最好每道题都有两人以上读过,尽量杜绝讲题现象。要完全弄清题意,正确的判断出题目的难易,不要想当然。 12. 虽然讨论有助于出题,但是以往每赛区第一名基本都是各自为战,但是互相了解,觉得一道题适合其他人做就转手。 13. 保持头脑灵活,在正常方法不行时想想歪门邪道,比如换种不常见的特殊的数据结构,加预处理,限时搜索等。效率是第一位的,如果觉得DP麻烦就用记忆化搜索,总之考虑清楚后就要在最短时间出题。 14. 竞赛中更需要比平时稳定,程序出来后要检查重点地方,尽量1Y。对于WA的题,不要改一处就交,很可能还有错的地方,要稳,要懂得在压力下也要仔细。对WA的题测试时要完整,必须每个点都测到,但不一定特别复杂。要考虑到测试的各种边界情况,比如矩阵可能为1*1或1*n或m*1。 15. 除非做出的人很多,否则最后考虑复杂几何题,精度造成的问题太多了。对double型操作要小心判断大小、绝对值等情况。一般情况下不要用float型。 16. 块复制要小心,检查相应的部分是否已经正确修改。 17. 纸上写程序要尽量完整,每道题上机时间(包括输入、测试和调试)不要超过一小时。程序出错如果一时无法排除就应该打印出来阅读而把机器让出来。 18. 提交时注意题号,不要交错题。由于PC2的界面,这种情况时有发生。 19. 尽可能想到题目可以用到的数学的东西。 20. 初始化必不可少。 21. 数组行列下标不要弄反,位运算或字符串哪头是0和n不要搞反。 22. 提交时记得把所有的调试信息都关掉。 23. 实在迫不得已才可换人做题。 24. 有想法后,写程序之前想好时空效率。比赛中一般不会出现时限30秒以上的题(国外赛区除外),10秒及以上的一般不会超过3道。 25. 竞赛机会每年只有一次,训练了很长时间,如果比赛中出现疏失,那么今后一年都会后悔。对于不准备明年参赛的同学,更是要珍惜最后一次参赛机会。 附以前所写组队赛说明 1 要有做题比较多的队员,对于各种题型都有所涉及,做题稳,一般对前两道简单题能够保证快速,并且99%以上一次AC。 2 要有人专门应付数学与几何题,但复杂的几何题要放在最后做,对一些常用的函数要有模版准备。如精度控制,叉积,凸包等。 3 要有人能够对付麻烦的题,并保证一定的通过率,大多数的比赛都至少有一道这样的题,如 POJ 1913,TOJ 1092。 4 要有人对DP非常之熟,单次、双次、相对等情况都不在话下。对经典DP手到擒来。 5 要有人对稀奇古怪的算法都做过程序,涉猎广,对于数论、图论中的一些特殊结论都知道。如 TOJ 1584,ZOJ 1015,UVA 10733。 6 要有人对复杂的通用算法做过程序,如网络流中的最小费用最大流等等一系列的流,求割点/割边,启发式搜索/搏弈等。 7 模版要自己写,并且另两个人都认真读过,用以往题目进行多次的测试。模版要全,但要控制篇幅,因为很多赛区已开始限制页数。 8 要有人对 Linux/vi/gcc 系统熟悉,对PC2熟悉,一定注意正式比赛时不要出现提交错题的情况。另外也要试用Dev-C+等Windows下的免费软件。总之熟悉比赛环境。 9 每次练习赛都要当作正式比赛来做,要确保所有的题都看过,赛后要把没做出来的题尽量补上。 10 可能的话多看看以往比赛的总结、照片和录象,缩短与正式竞赛的距离,避免正式竞赛时紧张得做不出题等情况。 最好的情况就是对于各种题目三个队员都能做,但是又各有侧重。 要保证出来一道题能够有人会做、敢做,至少也要知道做法。posted 2007-03-03 00:13 路雪军 阅读(406) | 评论 (0) |编辑收藏 ACM/ICPC竞赛规则和赛题特点ACM/ICPC竞赛规则和赛题特点ACM比赛由三人一组在一台电脑上合作进行,比赛时间为5个小时。在这5个小时中,三名选手将有选择的完成8-10道程序求解问题,解答以程序的方式通过网络提交给裁判。裁判会为每个问题设计好极为严格的测试数据以检测程序的正确性,一个正确的程序必须通过所有的测试数据,如果在一个测试数据上出错这个程序就被认为是错误的。最后按解决问题个数的多少对队伍进行排名,并列者再按错误提交的次数排名。ACM赛题有以下的特点: 1.难度极大。8-10个问题中通常最强的队伍也只能完成5-6题。在5个小时之内构造出这些问题的算法就很难,即便算法是正确的,如果在程序实现时出有一点误差都会被裁判极为严密的测试数据查出而把程序判定为错误的。另外题目为全英文,选手必须要在很短的时间内把握住问题的每一个细节,一处理解的偏差就会导致一个程序的错误。 2.赛题具有创造性且考察的范围很广。ACM的赛题涉及数据结构,算法设计,图论,规划,人工智能,计算几何,计算机图形学,数论,离散数学,组合数学,操作系统,编译原理等各个方面,且大多数试题都没有成型的算法,要求选手在场上发挥自己的创造力,为每个问题构造出数学模型并设计出高效简洁的算法。 3.赛题与实际应用的联系很紧密。很多试题也许被出题者描述成一个有趣的故事,但它很可能就是最近一个计算机科学技术领域的成果,也有的问题就原样以操作系统或是编译原理中模型的形式给出。这使得一次竞赛不仅有趣和充满挑战性也具有更加深远的意义。posted 2007-03-03 00:13 路雪军 阅读(361) | 评论 (0) |编辑收藏 2007年3月2日 ASCII码对照表 ASCII码对照表 ASCII, American Standard Code for Information Interchange 念起来像是 阿斯key,定义从 0 到 127 的一百二十八个数字所代表的英文字母或一样的结果与意义。由于只使用7个位元(bit)就可以表示从0到127的数字,大部分的电脑都使用8个位元来存取字元集(character set),所以从128到255之间的数字可以用来代表另一组一百二十八个符号,称为 extended ASCII。ASCII码键盘ASCII 码 键盘ASCII码键盘ASCII 码 键盘27ESC32SPACE33!3435#36$37%38&3940(41)42*43+4445-46.47/48049150251352453554655756857958:59;6063?6465A66B67C68D69E70F71G72H73I74J75K76L77M78N79O80P81Q82R83S84T85U86V87W88X89Y90Z9192939495_9697a98b99c100d101e102f103g104h105i106j107k108l109m110n111o112p113q114r115s116t117u118v119w120x121y122z123124|125126目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(AmericanStandardCodeforInformationInterchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。因为1位二进制数可以表示(21=)2种状态:0、1;而2位二进制数可以表示(22)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(27=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示128个字符。第032号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;第33126号(共94个)是字符,其中第4857号为09十个阿拉伯数字;6590号为26个大写英文字母,97122号为26个小写英文字母,其余为一些标点符号、运算符号等。注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。附:ASCII表ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0NUT32(space)6496、1SOH33!65A97a2STX34”66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101e6ACK38&70F102f7BEL39,71G103g8BS40(72H104h9HT41)73I105i10LF42*74J106j11VT43+75K107k12FF44,76L108l13CR45-77M109m14SO46.78N110n15SI47/79O111o16DLE48080P112p17DCI49181Q113q18DC250282R114r19DC351383X115s20DC452484T116t21NAK53585U117u22SYN54686V118v23TB55787W119w24CAN56888X120x25EM57989Y121y26SUB58:90Z122z27ESC59;9112328FS609412631US63?95127DELNULVT 垂直制表SYN 空转同步SOH 标题开始FF 走纸控制ETB 信息组传送结束STX 正文开始CR 回车CAN 作废ETX 正文结束SO 移位输出EM 纸尽EOY 传输结束SI 移位输入SUB 换置ENQ 询问字符DLE 空格ESC 换码ACK 承认DC1 设备控制1FS 文字分隔符BEL 报警DC2 设备控制2GS 组分隔符BS 退一格DC3 设备控制3RS 记录分隔符HT 横向列表DC4 设备控制4US 单元分隔符LF 换行NAK 否定DEL 删除键盘常用ASCII码 ESC键 VK_ESCAPE (27)回车键: VK_RETURN (13)TAB键: VK_TAB (9)Caps Lock键: VK_CAPITAL (20)Shift键: VK_SHIFT ($10)Ctrl键: VK_CONTROL (17)Alt键: VK_MENU (18)空格键: VK_SPACE ($20/32)退格键: VK_BACK (8)左徽标键: VK_LWIN (91)右徽标键: VK_LWIN (92)鼠标右键快捷键:VK_APPS (93) Insert键: VK_INSERT (45)Home键: VK_HOME (36)Page Up: VK_PRIOR (33)PageDown: VK_NEXT (34)End键: VK_END (35)Delete键: VK_DELETE (46)方向键(): VK_LEFT (37)方向键(): VK_UP (38)方向键(): VK_RIGHT (39)方向键(): VK_DOWN (40)F1键: VK_F1 (112)F2键: VK_F2 (113)F3键: VK_F3 (114)F4键: VK_F4 (115)F5键: VK_F5 (116)F6键: VK_F6 (117)F7键: VK_F7 (118)F8键: VK_F8 (119)F9键: VK_F9 (120)F10键: VK_F10 (121)F11键: VK_F11 (122)F12键: VK_F12 (123)Num Lock键: VK_NUMLOCK (144)小键盘0: VK_NUMPAD0 (96)小键盘1: VK_NUMPAD0 (97)小键盘2: VK_NUMPAD0 (98)小键盘3: VK_NUMPAD0 (99)小键盘4: VK_NUMPAD0 (100)小键盘5: VK_NUMPAD0 (101)小键盘6: VK_NUMPAD0 (102)小键盘7: VK_NUMPAD0 (103)小键盘8: VK_NUMPAD0 (104)小键盘9: VK_NUMPAD0 (105)小键盘.: VK_DECIMAL (110)小键盘*: VK_MULTIPLY (106)小键盘+: VK_MULTIPLY (107)小键盘-: VK_SUBTRACT (109)小键盘/: VK_DIVIDE (111)Pause Break键: VK_PAUSE (19)Scroll Lock键: VK_SCROLL (145)posted 2007-03-02 22:24 路雪军 阅读(431) | 评论 (0) |编辑收藏 介绍一些经典的网站和书籍因为要经典,不敢写得太多,欢迎大家继续补充。这里只是涉及编程的东东,如果想要关于破解方面的资料请到“工具下载”栏目的置顶帖。ps.网上这些书的电子版大都是未经作者同意而发布的,我并不能保证给出的链接长期有效。我的看法是您可以先下载试看;),如果觉得物有所值,还是推荐去买一本纸质书,也是支持一下作者的辛勤劳动。有用的网站:MSDN Library/library/CSDN/经典书籍:=WINDOWS编程类=Windows程序设计中文版(Programming Windows,Charles Petzold著)/SoftView/SoftView_673.asp这个不用我多废话了,地球人都知道的经典,用C语言+WinSDK写成。Windows核心编程(Programming Applications for Microsoft Windows, Fourth Edition, Jeffrey Richter著)/asp/book/xxnr.asp?id=494内容较深的一本书,同样经典,如果能通读一遍,可以说基本上就掌握了Windows的精髓。Win32 ASM Tutorial Resource Kit/document/Win32ASMTRK.rar(解压密码:dREAMtHEATER)dREAMtHEATER收集的WIN32ASM教程,内容很全,包括32位汇编的基础知识,Iczelion的经典教程中英文版,罗云彬的32位汇编教程,还有PE格式和VxD的一些内容。Windows环境下32位汇编语言程序设计(罗云彬著)/asp/book/xxnr.asp?id=2243汇编语言版的Programmin Windows ,可以与上面Iczelion的教程相互参照着学习。=程序设计语言类=C语言程序设计(The C Programming Language (2nd Edition), Brian W.Kernighan & Dennis M.Ritchie著)作者是C语言和UNIX系统的发明人,这一本书是如此经典,以至于两位作者名字的缩写 K&R 成了一个专有名词,以至于书里的Hello,World这个简单的句子被无数人用无数种程序语言写出来。很薄的一本书,却成了一个不朽的传奇。个人看法,学好C语言,这一本小书足矣。C+语言程序设计(The C+ Programming Language (Special Editon),Bjarne Stroustrup著)作者是C+语言的发明人,这本书之于C+就好比上本书之于C,不同的是这本书巨厚无比,毕竟C+复杂了太多太多。这本书介绍到了C+的方方面面,巨细无遗,毕竟是作者发明的么,不过我只看了几章就晕得受不了了。btw:关于C+的好书还有很多,如, , 、等等,因为我对C+不很感冒,这里不敢妄加评论,请大家多补充。再btw:对Java, .Net, Python这些新东东(Java好像也不新了吧,看来是我老了)了解不是很多,也不敢乱写,同样请各位补充。=面用对象WINDOWS编程类=也不知道这么说合适不合适,总之就是像MFC,VCL之类的东东啦。这类图书大概是最多最杂的了,像什么XX从入门到精通啦,XX编程宝典啦, XX编程100例啦鱼龙混杂,泥沙俱下,也说不出哪个是经典。这里只选出几本有一定深度的,大家基本公认的好书。深入浅出MFC(第二版)(侯捷著)侯捷网站:/关于侯先生写的和译的书,赞的人很多,骂的人也有,我是很推荐这本书的,虽然我不喜欢MFC,只硬着头皮看了前几章。感觉如果能通读下来,可以试着自己架一个类库了,呵呵。需要注意的是,读这本书先要有一定的SDK编程的基础,这本书不是教你如何用VC写程序的,好像有许多人不明白这一点,所以来骂侯先生,如果你只想快点用VC写个程序出来,建议去看看21天VC+无师自通之类的书。btw:侯先生的网站上有很多有趣的东东,顺便推荐一下。Delphi源代码分析(周爱民著)我只在很早之前玩过Delphi,水平就是只知道Form上放几个Button,Edit,双击两下就开始写代码,因为以前学过Pascal,看着语法很熟悉,玩得不亦乐乎,什么也不管,N久以后才知道有Object Pascal这回事,汗因为N多大牛推荐这本书,所以我也推荐一下,虽然里面东西基本都不懂。同样,这本书也不是教你如何画个窗口摆个控件的,那样的书遍地都是=数据结构与算法类=算法、数据结构,这是计算机程序的灵魂所在。下面介绍的书可以在/2004/12/16/0000031024.html找到,而且那里有更详细的评论,强烈推荐!Introduction to Algorightms (算法导论,Thomas.H.Cormen等著)此书简称CLRS(四位作者名字的缩写),被人们称做“计算机算法的圣经”绝不为过,是ACM竞赛的必读书,影印版由高等教育出版社出版,共1180页,厚度约五公分虽然书很厚而且是英文,但是由于大师深入浅出的讲解,反而很好读懂,有时候我学一个算法,看相关中文书看得一头雾水,翻翻这本书却能豁然开朗。The Art of Computer Programming vol1,2,3(计算机程序设计艺术I-III卷,Donald.E.Knuth著)简称TAOCP,经典中的经典,名气可能比上一本书还大,此系列书原计划出七卷,目前为止只出版了三卷,已经被评为20世纪最重要的20部著作之一。因为里面用一种奇怪的程序语言写成,而且只出了三卷,内容没有CLRS全面,这套我没有买,只在图书馆里翻翻(有中译本),但绝对是值得一看的好书。Concrete Mathematics A Foundation for Computer Science (具体数学,Donald.E.Knuth & Ronald L.Graham著)同样是ACM竞赛必读书之一,几乎包含了所有计算机科学里涉及到的数学问题,里面有众多的经典问题与经典解法,对开拓人的数学思路有极大的帮助。看这书给我的感觉是,如果你能把每章后面所有的习题都解出来,估计离图灵奖也不远了 =关于编程竞赛=下面是几个比较大的在线提交系统(Online Judge)里面有大量历年的竞赛题目,注册一个ID,然后用自己熟悉的语言(一般有Pascal/C/C+/Java)写好源代码提交即可,会实时返回信息告诉你是否正确。采用黑箱测试,系统里有一套标准的输入输出数据(对外保密,而且通常数据很多很怪),你的程序的输出和标准输出完全符合即可。常见的返回信息有AC(Accepted,通过)WA(Wrong Answer,输出有错误)TLE(Time Limit Exceeded,超时)MLE(Memory Limit Exceeded,内存溢出)RE(Runtime Error,发生实时错误)等,只有AC了才算做对一题。这里只是一个简要介绍,请大家在做题时先看看各网站上的FAQ,Enjoy it浙江大学 Online Judge(ZOJ)国内最早也是最有名气的OJ,有很多高手在上面做题。特点是数据比较刁钻,经常会有你想不到的边界数据,很能考验思维的全面性,现在我主要在这个OJ上做题北京大学 Online Judge(POJ)/JudgeOnline/建立较晚,但题目加得很快,现在题数和ZOJ不相上下,特点是举行在线比赛比较多,数据比ZOJ上的要弱,有时候同样的题同样的程序,在ZOJ上WA,在POJ上就能AC同济大学 Online Judge /index.php这个OJ题数上不能与上两个相比,推荐这个OJ的原因是它是中文的,这对很多对英文不太感冒的兄弟是个好消息吧。它也因此吸引了众多高中的OIer,毕竟他们的英文还差一些呵呵,上面的题目也更偏向高中的信息学竞赛一些。西班牙Valladolid大学 Online Judge(UVA)http:/online-judge.uva.es/problemset/世界上最大最有名的OJ,题目巨多而且巨杂,数据也很刁钻,全世界的顶尖高手都在上面。据说如果你能在UVA上AC一千道题以上,就尽管向IBM、微软什么的发简历吧,绝对不会让你失望的。俄罗斯Ural立大学 Online Judge(URAL)http:/acm.timus.ru/也是一个老牌的OJ,题目不多,但题题经典,我在高中的时候就在这上面做题的。 UsacoGate Online Judge(USACO)/usacogate全美计算机奥林匹克竞赛(USACO)的训练网站,特点是做完一关才能继续往下做,与前面的OJ不同的是测试数据可以看到,并且做对后可以看标准解答,所以如果大家刚开始的时候在上面那些OJ上总WA却找不到原因的话,可以试着来这里做做,看看测试数据一般是从什么地方阴你的。posted 2007-03-02 21:12 路雪军 阅读(344) | 评论 (0) |编辑收藏 runtime error一般都是非法访问内存(数组越界、访问空指针、堆栈溢出、递归层数太多)、做除法时除以了0 等posted 2007-03-02 20:27 路雪军 阅读(148) | 评论 (0) |编辑收藏 memset用法详解(转)memest原型(pleasetypemanmemsetinyourshell)void*memset(void*s,intc,size_tn);memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。 常见的三种错误 第一:搞反了c和n的位置.一定要记住如果要把一个chara20清零,一定是memset(a,0,20)而不是memset(a,20,0)第二:过度使用memset,我想这些程序员可能有某种心理阴影,他们惧怕未经初始化的内存,所以他们会写出这样的代码:charbuffer20;memset(buffer,0,sizeof(char)*20);strcpy(buffer,123);这里的memset是多余的.因为这块内存马上就被覆盖了,清零没有意义.第三:其实这个错误严格来讲不能算用错memset,但是它经常在使用memset的场合出现intsome_func(structsomething*a)memset(a,0,sizeof(a);问:为何要用memset置零?memset(&Address,0,sizeof(Address);经常看到这样的用法,其实不用的话,分配数据的时候,剩余的空间也会置零的。答: 1.如果不清空,可能会在测试当中出现野值。你做下面的试验看看结果()charbuf5;CStringstr,str1;/memset(buf,0,sizeof(buf);for(inti=0;i5;i+)str.Format(“%d“,bufi);str1+=str;TRACE(“%srn“,str1)2.其实不然!特别是对于字符指针类型的,剩余的部分通常是不会为0的,不妨作一个试验,定义一个字符数组,并输入一串字符,如果不用memset实现清零,使用MessageBox显示出来就会有乱码(0表示NULL,如果有,就默认字符结束,不会输出后面的乱码)问: 如下demo是可以的,能把数组中的元素值都设置成字符1,#include#includeusingnamespacestd;intmain()chara5;memset(a,1,5);for(inti=0;i5;i+)coutai;system(pause);return0;而,如下程序想吧数组中的元素值设置成1,却是不可行的#include#includeusingnamespacestd;intmain()inta5;memset(a,1,5);/这里改成memset(a,1,5*sizeof(int)也是不可以的for(inti=0;i5;i+)coutai;system(pause);return0;问题是:1,第一个程序为什么可以,而第二个不行,2,不想要用for,或是while循环来初始化inta5;能做到吗?(有没有一个像memset()这样的函数初始化)答: 1.因为第一个程序的数组a是字符型的,字符型占据内存大小是1Byte,而memset函数也是以字节为单位进行赋值的,所以你输出没有问题。而第二个程序a是整型的,使用memset还是按字节赋值,这样赋值完以后,每个数组元素的值实际上是0x01010101即十进制的16843009。你看看你输出结果是否这样?2.如果用memset(a,1,20);就是对a指向的内存的20个字节进行赋值,每个都用ASCII为1的字符去填充,转为二进制后,1就是00000001,占一个字节。一个INT元素是4字节,合一起就是1000000010000000100000001,就等于16843009,就完成了对一个INT元素的赋值了。posted 2007-03-02 19:02 路雪军 阅读(1509) | 评论 (0) |编辑收藏 acm之pku题目分类 acm之pku题目分类 对ACM有兴趣的同学们可以看看DP:1011 NTA 简单题1013 Great Equipment 简单题1024 Calendar Game 简单题1027 Human Gene Functions 简单题1037 Gridland 简单题1052 Algernon s Noxious Emissions 简单题1409 Communication System 简单题,但是很容易看错1425 Crossed Matchings 简单题1438 Asteroids! 简单题1459 String Distance and Transform Process 简单题1462 Team Them Up! 简单题1556 Heroes Of Might And Magic 简单题,不过背景蛮有意思的1520 Duty Free Shop 简单题1524 Supermarket 简单题1301 The New Villa 简单题1303 Jury Compromise 其实不是很难,但是很容易错,5551345 Best Deal 简单题,但是也很容易错5551360 Radar Installation 简单题1396 The Umbrella Problem: 2054 简单题1058 Currency Exchange 简单题1076 Gene Assembly 简单题1092 Arbitrage 简单题1093 Monkey and Banana 简单题1094 Matrix Chain Multiplication 简单题1536 Labyrinth 简单题1100 Mondriaan s Dream 简单题,DP可以过,不过据说有复杂的组合公式1103 Hike on a Graph 简单题1134 Strategic Game 简单题1147 Formatting Text 简单题1148 The Game 简单题1161 Gone Fishing 简单题1180 Self Numbers 简单题1192 It s not a Bug, It s a Feature! 简单题1196 Fast Food 简单题1107 FatMouse and Cheese 简单题,不过题目描述有些混乱1136 Multiple 简单题,BFS1276 Optimal Array Multiplication Sequence 简单题1255 The Path 简单题1250 Always On the Run 简单题1213 Lumber Cutting 简单题1206 Win the Bonus 简单题1479 Dweep 无聊题1587 UP 100 无聊题,DP应该可以但是太烦了没做1066 Square Ice 无聊题,目前已知的O(nlogn)算法要用*L您有没有简单点的O(nlogn)的算法?1245 Triangles 无聊题1022 Parallel Expectations 经典题,想了n久,最后发现可以DP,相当好的一道题1499 Increasing Sequences 经典题1039 Number Game 没有完美解决的题,感觉可以直接以所有剩下的数作为状态DP,但是缺乏证明1227 Free Candies SRbGa的经典题,我看了oibh上的解题报告才做出来的:(1234 Chopsticks SRbGa的经典题图论:1525 Air Raid 简单题,最小路径覆盖1500 Pre-Post-erous! 简单题1501 Knockout Tournament 简单题1508 Intervals 对您来说应该是简单题,但我想了n久:(,差分限制系统1333 Galactic Import 简单题1304 Tin Cutter 简单题,但是似乎有空间复杂度为O(n)的算法1310 Robot 简单题1311 Network 简单题1344 A Mazing Problem 简单题1395 Door Man 简单题,欧拉回路1372 Networking 简单题1406 Jungle Roads 简单题1053 FDNY to the Rescue! 简单题1055 Oh, Those Achin Feet 不错的简单题1059 What s In a Name 简单题1064 Roads Scholar 简单题1082 Stockbroker Grapevine 简单题1085 Alien Security 简单题,我觉得我当时的算法好巧妙:)1097 Code the Tree 简单题1060 Sorting It All Out 简单题,但是规模要是大些的话1105 FatMouse s Tour 简单题1119 SPF 简单题1127 Roman Forts 简单题1140 Courses 简单题1157 A Plug for UNIX 蛮不错的简单题1203 Swordfish 简单题1221 Risk 简单题,最短路1197 Sorting Slides 简单题,匹配1268 Is It A Tree? 不错的题,图论1273 It s Ir-Resist-Able! 简单题,图论1298 Domino Effect 简单题,最长路1260 King 简单题,差分限制系统1291 MPI Maelstrom 不错的题,最长路1266 Gossiping 简单题1285 Shipping Routes 无聊题,最短路1313 Gears on a Board 无聊题1502 Plugged In 无聊题,匹配应该可以,但是太烦了,没做1568 WishingBone s Room Plan 无聊题,最大最小匹配,不过容易看错题1077 Genet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论