07 2010 档案

摘要:Ultra-QuickSort题型:求逆序数解法一:正统做法,归并排序,375MS。[代码]解法二:树状数组,需要先离散化,因为用到qsort(),比归并排序稍慢,516MS。[代码] 阅读全文
posted @ 2010-07-31 17:09 superbin 阅读(327) 评论(0) 推荐(0)
摘要:[代码]拷贝的结果是:s1 = "",s1[1] = 0;分析:strcpy()函数的功能是字符串拷贝,而字符串是以/0为结束标志。所以简单的把strcpy()当成数组的拷贝是错误的想法。参考:strcpyfunction<cstring>Copy stringCopies the C string pointed by source into the array pointed by... 阅读全文
posted @ 2010-07-31 08:57 superbin 阅读(866) 评论(0) 推荐(0)
摘要:类型:枚举描述:Party LampsIOI 98To brighten up the gala dinner of the IOI'98 we have a set of N(10 <= N <= 100) colored lamps numbered from 1 to N.The lamps are connected to four buttons:Button 1: Whe... 阅读全文
posted @ 2010-07-30 11:27 superbin 阅读(648) 评论(0) 推荐(0)
摘要:Counting the algorithms题型:树状数组描述:N个数,1~N,每个数出现两次,即有2N个数的无序序列,每次找两个相同的从数列中删除,得到位置差,直到都删除。求位置差的和的最大值。思路:比如一个序列1 2 3 2 3 4 4 1,1,1 和 2,2是包含关系,2,2和3,3是相交关系,3,3和4,4是相离关系。易知,只有包含关系会影响最后的和,所以应从外至内的删除。树状数组心得:... 阅读全文
posted @ 2010-07-22 11:58 superbin 阅读(245) 评论(0) 推荐(0)
摘要:经理的烦恼题型:树状数组描述:1.一列数,第k个数加上x,2.询问[a,b]区间内是素数的个数。思路:树状数组解决,f[]保存数的值,tree[]保存结点,操作一进行 update(),操作二进行sum();心得:此题死在了判素数上,0,1没有处理。关于树状数组更深的一点理解:[1].每个idx控制的范围是range = idx&(-idx). 即:idx - range+1~idx[2]... 阅读全文
posted @ 2010-07-20 09:15 superbin 阅读(311) 评论(0) 推荐(0)
摘要:Tunnel Warfare题型:线段树描述:n个村子排成一条线,两两相邻,1.摧毁村子c,2.修复上一次摧毁的村子,3.问与村子c直接或间接相通的村子数思路:对节点的操作,增加lx,rx域,表示区间内最左边被摧毁的村子,和最右边被摧毁的村子,s表示区间内摧毁的村子总数。重点在count(),统计相连村子数操作。根据父结点的两个孩子结点的 s 值,讨论各种可能情况。[代码]完整代码 阅读全文
posted @ 2010-07-18 17:43 superbin 阅读(435) 评论(0) 推荐(0)
摘要:Hotel题型:线段树(设计并维护复杂域)描述:旅店登记,1.找一段最靠前的连续w个空房间;2.退订[x,x-d+1]段的房间。思路:1. 域的设计struct Seg { int l, r; int lx, rx, mx; char cv;};lx :左端连续空房间数rx: 右端连续空房间数mx: 连续最大空房间数cv : = 0,全空, = 1 全满, = -1 非空非满。2. 域的维护开房:... 阅读全文
posted @ 2010-07-18 16:00 superbin 阅读(716) 评论(1) 推荐(0)
摘要:Billboard题型:线段树描述:板子h*w上贴1*w0的广告,从左上角贴起,询问广告所在的row。思路:将h分段,结构中增加w域,保存区间[a,b]所以行剩余可贴的最大量。代码 阅读全文
posted @ 2010-07-17 20:14 superbin 阅读(2453) 评论(0) 推荐(0)
摘要:题型:线段树描述:长为L的报栏上按顺序贴广告[a,b],统计不同的广告数。思路:数据要离散化处理,然后区间的更新和统计。离散化方法参考:matrix67离散化代码参考:笑风生代码 阅读全文
posted @ 2010-07-17 12:47 superbin 阅读(346) 评论(0) 推荐(0)
摘要:A Simple Problem with Integers题型:线段树,区间的修改+区间统计描述:1~n个数,[a,b]区间内的每个数加上C,询问区间[a,b]的数字和。思路:用两个域:v, add来维护,v为区间和,add为区间增量。区间的修改过程,回溯时增加了对父节点v域的修改;区间的统计过程,需要将父节点的增量add域计算进去。[代码]区间的修改[代码]区间的统计[代码] 阅读全文
posted @ 2010-07-16 19:53 superbin 阅读(267) 评论(0) 推荐(0)
摘要:PKU 2777题型:线段树描述:跟长为L的木棒的[a,b]段涂颜色,问[a1,b1]区间的不同颜色数。思路:线段树的区间修改,“父节点控制子节点的思想”,当left = t[k].left && right = t[k].right 时更改 color域,并返回,不再修改其子节点的color值。color = 0 表示当前区间有多种颜色,如果 [left,... 阅读全文
posted @ 2010-07-16 12:02 superbin 阅读(405) 评论(0) 推荐(0)
摘要:更新:1. 专题训练从7月15日开始,一共五个专题:数据结构、搜索、动态规划、图论、数学(次序可能有变),每个专题训练时间为5天,第一天的上午由老队员或老师进行重点讲解,并布置相应的练习题。练习题大家需自觉完成。第5天为专题训练赛。2. 考勤和平时的任务完成度考核以及专题训练赛的成绩,将不作为选拔的主要条件。我们会从月15日起,每三天在TJU平台举行一次正式比赛(个人赛),时间5个小时,题量8-1... 阅读全文
posted @ 2010-07-15 07:54 superbin 阅读(329) 评论(1) 推荐(0)
摘要:题型:同Poj 1631.思路:注意非升子序列需要考虑相等的情况,在二分的时候需要注意。[代码] 阅读全文
posted @ 2010-07-13 09:34 superbin 阅读(346) 评论(0) 推荐(0)
摘要:描述:要为电路板搭线,要求不能交叉,如图,左边的线柱按升序排好,只需在右边线柱中找最长上升子序列。需要用二分优化。思路:在O(n*n)算法的基础上,加入一个辅助数组best[],下标表示子序列长度,对应值表示所有该长度的序列中的最小头儿,维护这个数组,更新数组。对于新增的数x,找到位置k,使best[k-1]<x ,且best[k]>x,则best[k] = x。设best[]数组长度... 阅读全文
posted @ 2010-07-13 08:29 superbin 阅读(403) 评论(0) 推荐(0)
摘要:Problem 57: Runaround NumbersRunaround numbers are integers with unique digits, none of which is zero (e.g., 81362) that also have an interesting property, exemplified by this demonstration: If you st... 阅读全文
posted @ 2010-07-12 10:37 superbin 阅读(424) 评论(0) 推荐(0)
摘要:题感训练:时间:7.12 ~ 7.14北大OJ:http://124.205.79.250/JudgeOnlineTask1:题量:201004, 1003, 1005, 1006, 1007, 1002, 1001, 1008, 1163, 1088, 2027, 1012, 1046, 1050, 1207, 2000, 1218, 1664, 1011, 1013Task2:看《算法艺术与信... 阅读全文
posted @ 2010-07-12 08:29 superbin 阅读(240) 评论(0) 推荐(1)
摘要:更新:1.考勤。分缺勤、迟到、请假三种,每天的三个时段迟到超过1个小时视为缺勤,1个小时内为迟到,请假半天以内不做计算。每个人的考勤情况将会转换成积分,进行相应的扣分。考核方法为随机抽样考核。2.训练情况考核。我们将对每个队员的训练情况,每次任务的完成情况做跟踪记录,这将作为选拔的重要指标之一。3.暂定每周四下午和晚上为休息时间,长期坐电脑前不利于身体健康,强烈建议大家合理安排时间锻炼身体。4.为... 阅读全文
posted @ 2010-07-11 20:05 superbin 阅读(274) 评论(0) 推荐(2)
摘要:Problem 38: Subset SumsFor many sets of consecutive integers from 1 through N (1 <= N <= 39), one can partition the set into two sets whose sums are identical. For example, if N=3, one can parti... 阅读全文
posted @ 2010-07-11 16:21 superbin 阅读(806) 评论(0) 推荐(0)
摘要:Problem 92: Preface NumberingA certain book's prefaces are numbered in upper case Roman numerals. Traditional Roman numeral values use a single letter to represent a certain subset of decimal numbers.... 阅读全文
posted @ 2010-07-11 15:38 superbin 阅读(509) 评论(0) 推荐(0)
摘要:三角数平方数是可排列成正方形的数1,4,9,16,...,三角数是可排序成三角形的数1,3,6,10,...。前几个三角数为规律是显而易见的。Barn Repair关键是读懂题意,不要让英文成为你的障碍,作为一个职业的选手,这点素质是应该具备的。[贪心]有若干个牛栏,不是每个里面都有牛。现在因为暴风雨,牛栏坏了,要用木板补修,当然是为了不让牛跑了。最多有M个木板,S个牛栏,C个里面有牛,求木板花费... 阅读全文
posted @ 2010-07-10 15:11 superbin 阅读(236) 评论(0) 推荐(0)
摘要:为了方便大家的交流,要求每位队员都要自己的博客,并及时更新,留下自己成长的足迹![请及时关注QQ群消息]史佳宾:http://www.cnblogs.com/superbin李伟:www.cnblogs.com/ylfdrib郭东山:http://www.cnblogs.com/DreamUp/赵国振:http://www.cnblogs.com/looker_acm/刘启东:http://liu... 阅读全文
posted @ 2010-07-10 12:13 superbin 阅读(577) 评论(0) 推荐(1)
摘要:暑假集训时间和地点: 2010暑假集训将从7月12日开始,总时间约7周,期间如有放假将另行通知。 每天的训练时间为 8:30 – 21:30。中午12:00 – 2:30,下午6:00 – 7:30为休息和吃饭时间,其他时间训练基地开放,不作训练要求。 如有比赛,时间另行调整。训练地点为教二楼六层集训队机房。 训练安排: 训练主要分为个人训练和组队训练两个阶... 阅读全文
posted @ 2010-07-10 11:11 superbin 阅读(290) 评论(0) 推荐(0)
摘要:电子科大ACM团队,在学校教务处、学工部和团委等部门的大力支持下,在去年第34届ACM-ICPC国际大学生程序设计竞赛亚洲区域赛中,数学科学学院负责并组织六支队伍出战了六个赛区的比赛,最终获得四金、四银、四铜的辉煌战绩,夺得印尼雅加达赛区冠军和哈尔滨赛区亚军,杀进世界总决赛并取得了36名的好成绩,创造了自我校组队参赛以来的最好成绩,为学校争得了荣誉! 2009年11月至今,数学科学学院负责并组织... 阅读全文
posted @ 2010-07-08 15:09 superbin 阅读(334) 评论(0) 推荐(0)
摘要:训练时间: 2010年的暑假前集训将于4月30日开始,至7月8日左右结束,总时间约10周。专题讲座的时间为每周五晚上7点,地点为C125.(由人力不可抗拒原因造成时间变更,会在CDOJ上另行通知)。 训练目的: 1、选拔训练积极的、表现突出的、有潜力的同学进入暑假集训。 2、面向全校所有感兴趣的同学开展算法专题讲座,使大家接触并熟悉ACM所需的各种基础算法。 活动安排: 专题学习 专题学习... 阅读全文
posted @ 2010-07-08 15:00 superbin 阅读(1265) 评论(0) 推荐(0)
摘要:素因子此题为数学题。先打个素数表。n!= 1 * 2 * 3 * 4 * …… * n;注意观察,每个2的倍数的乘项都可以提一个2,可以提 n / 2个,提出来以后,就又变成1 * 2 * 3* …… * n / 2,只不过项数变少了,共有n / 2项,再将2的倍数提出来,以此类推,素因子2的个数num = n / 2 + n / 2 / 2... 阅读全文
posted @ 2010-07-07 17:26 superbin 阅读(422) 评论(0) 推荐(1)