说好的每日总结·2011年8月30日

今天是我们学校的多校连训,体验了一把judge。我们队出的恶心大模拟全场无人提交。Orz

相关题解:

http://hi.baidu.com/%D2%BB%CE%BB%C1%E3/blog/item/ee963758940cce312834f09e.html


另外,在比赛中,在POJ上做了四个题目。

一个是poj1002,一个很经典的题目,说说我的做法:

1,把每个字符串,转换成标准字符串  (ctstr())

2,用map存第个电话号码的次数

3,输出

每个步骤对应一个函数,写的很清晰。poj上交g++会TLE,交C++只要1200ms。Zoj上不会TLE。


一个是poj1032,归类为数学,构造题:

对于N,用下面的方法分解为n1,n2....ni:

1,找一个sum=2+3....+i,使sum尽量大,但小于N。

2,设diff  = N - i,把diff从后向前加到2....i数列上。

正确性不难看出。


一个是poj1080,DP题,经典题:

给你二个字符串,和一个相应字符对所对应的“相似值”,你可以在二个字符串中添加‘-’,求最大相似度。

看到题目给的相似值的表,相同字符的相似值最大,于是就想到最长公共子序列。写下LCS的函数,发现求相似度不太好写。

后来发现方向是对的,思维太死板了,没想到变通一下。

做法如下:

f[i][j] = f[i-1][j-1] + val(s1[i],s2[j]),f[i][j-1]+val('-','s2[j]),f[i-1][j] + val[s1[i],'-')

val为对应字符对的相似度。DP方程类似于LCS


还有一个题是poj1118,几何题,暴力乱搞题:

给你N个平面上的点,输出在一条直线上的点数,这第直线上的点数最多。

没想到什么的办法,数据为N<700,所以直接暴力搞。

SB了,写了个n^3的,不用想TLE。

加了若干优化,依然TLE。

看了一下别人的,发现只要枚举一个点,然后,看剩下的所有点与这个点的斜率,斜率相同的肯定是一条直线,这样写只有N^2。



相关代码就不放出来了,自己的代码风格不好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值