08 2010 档案

摘要:最近发现了一个很有趣的网站,Project Euler上面全是数学题,不过大多需要用编程解决Problem 3:求:600851475143的最大素因子。解:编了个程序,迅速水过,看官方的题解,加了一些优化。其实可以打个素数表继续优化。Problem 4:求:由两个三位数相乘得到的最大的回文数(P = a*b)。解:枚举100~999,判断成绩是否是回文数,求出最大的一个。改进一:可假设a<... 阅读全文
posted @ 2010-08-31 21:46 superbin 阅读(660) 评论(0) 推荐(0)
摘要:论文推荐一:张辰[2000国家集训队]摘要[线性模型]1.《编辑距离》问题 问题模型:给定两个文本串X和Y,和一个操作集:{s1,s2...,sp}(比如删除一个字符等),每种操作对应一定的花费。求将文本串X变成Y的最小花费。定义状态:d[i,j]为将串X前i个字符变成Y前j个字符的最小花费,转移方程d[i,j] = MIN(d[i+dtk1][j+dtk2] + cost[k]), (其中dtk... 阅读全文
posted @ 2010-08-25 20:55 superbin 阅读(424) 评论(0) 推荐(0)
摘要:MooFest分析:20000的数据规模,暴力肯定是要超时。直观的是要求和,为了减少求和的次数,考虑运用树状数组。发现,可以先按音量排序,然后只需要求距离,用树状数组可以很好的解决。心得:abs()函数使用失败!原因:不支持64int。代码数据 阅读全文
posted @ 2010-08-13 20:59 superbin 阅读(494) 评论(0) 推荐(0)
摘要:Shift Number分析:比赛中做出最多的一道,但也确实卡了很多大牛、菜鸟。推导的过程如下图:136653123123123123等价于:136653111122223333发现:1111,2222,3333都是1111的倍数,于是规律就可以看出来了。代码Bag Problem分析:背包。数据范围比较大,用set+map水过。后来birdfly出了一组很BT的数据,把我的程序给cha掉了。呜~... 阅读全文
posted @ 2010-08-12 12:26 superbin 阅读(476) 评论(0) 推荐(0)
摘要:题型:求逆序数,(用树状数组+离散化)心得:很悲剧,TLE AT #31 N 次,原因出在qsort(),(难怪发现不了),后来改sort(),就过了。看来qsort()的效率还有待分析!代码 阅读全文
posted @ 2010-08-10 17:14 superbin 阅读(477) 评论(1) 推荐(0)
摘要:类型:递推,生成。思路:看网上比较多的一种解法是根据定义进行筛选,用压缩数组进行优化。我的解法源自对大量数据的分析,刚开始只发现前后增加了11,然后发现比实际多出了很多数,准确的是多出的9999个,又编写程序查找出了几个新的增量。并进一步发现了新的规律。解法:从第六个self number开始,d[i] = d[i-1]+11, 即增加量是11;每出现9个11,就会出现一个2;每出现9个2,就会出... 阅读全文
posted @ 2010-08-09 17:24 superbin 阅读(499) 评论(0) 推荐(0)
摘要:线段树(interval tree) 是把区间逐次二分得到的一树状结构,它反映了包括归并排序在内的很多分治算法的问题求解方式。上图是一棵典型的线段树,它对区间[1,10]进行分割,直到单个点。这棵树的特点是:1. 每一层都是区间[a, b]的一个划分,记 L = b - a2. 一共有log2L层3. 给定一个点p,从根到叶子p上的所有区间都包含点p,且其他区间都不包含点p。4. 给定一个区间[l... 阅读全文
posted @ 2010-08-02 14:47 superbin 阅读(10009) 评论(1) 推荐(1)
摘要:PKU-2352 Stars描述:求每个星星左下方的星星数坐标先按y从小到大排序,y相等x按从小到大排序。c[i]表示x=i位置的星星数。PKU-2481 Cows描述:每个cow吃草的范围是f=[s,t],如果区间f1严格包含区间f2,则cow1比cow2强。思路:同pku-2352,cow即是星星,范围即是对应的坐标,不过还需要转化一下,将cows对应到二维坐标上之后,将坐标系逆时针转90&d... 阅读全文
posted @ 2010-08-02 14:32 superbin 阅读(428) 评论(0) 推荐(0)