最大子矩阵和其实是最大子段和问题的二维推广.即给定一个m行n列的矩阵,求其一个子矩阵,行数从r1~r2,列数从c1~c2,使之全部元素之和为最大.
我们可以将最大子段和的动态规划解法推广到上述二维情况.其基本思路为,若始行i1与末行i2已给定,则求以i1起始以i2结束的最大子矩阵之和,即等于一个一维的最大子段和问题,只不过这里的数组a中元素a[j]是第j列里从第i1行加到第i2行的所有元素之和. 令t[i1,i2]表示这个行从i1到i2的最大子矩阵和,则求全矩阵的最大子矩阵之和的问题就等于在1<=i1<=i2<=m的范围中使t[i1,i2]最大化.
显然上述算法的时间复杂度为O(m^2*n). 然而,容易看出,整个问题的解决本质上还是一个一维最大子段和的问题,而在另一个维度--行上面,则还是枚举所有的1<=i1<=i2<=m用打擂的方法比较出最大者.也就是说,此方法仍然只是在列这个维度上用到了动态规划.
有没有可能对两个维度进行联合的动态规划求解呢?
posted @
2007-03-23 15:18 w2001 阅读(3785) |
评论 (3) |
编辑 收藏
经典问题,网上误解的很多,分析混乱、说不清楚的也很多,不多写了,
附件pdf下载。
posted @
2007-03-23 02:08 w2001 阅读(3816) |
评论 (9) |
编辑 收藏
1. 目标要高,ACM / ICPC、TopCode,可以到上面去找题目做
2. 方向要明确,是算法分析与设计,而不是数据结构
3. 基础要扎实、要系统,不能靠网络,知识点太零散,要靠教科书
4. 过程中要勤于归纳总结,不能白做,形成一套系统的分析、思考模式
posted @
2007-03-23 02:05 w2001 阅读(437) |
评论 (0) |
编辑 收藏
1. 如何让Fedora 4启动以后直接进入Console或者X-Windows?
vim /etc/inittab,id: x: initdefault:... 字样,x=3为Console,而x=5则为X-Windows
2. Linux提供了6个虚拟控制台,在Console下用Alt+F1~F6切换,而在X-window下则用Ctrl+Alt+F1~F6切换;注意,虚拟控制台7默认为X-Windows;在VMWare中,应该按Ctrl+Alt+Space+F1~F7
3. 如何更改引导Console屏幕的分辨率
打开/boot/grub/menu.lst,在kernel字样行末追加vga=0x314(800*600*16),或vga=0x317(1024*768*16)
4. lftp/ncftp是两个支持ipv6的ftp client
5. 手工配置网络
/etc/resolv.conf
/etc/hosts
/etc/sysconfig/network
/etc/sysconfig/networking/devices/ifcfg-eth0
/etc/sysconfig/networking/profiles/default/*
/etc/sysconfig/network-scripts/ifcfg-eth0p
---------------------------------------------------
/etc/init.d/network restart
/etc/rc.d/init.d/network restart
service network restart
6. 查看系统配置
#cat /proc/cpuinfo
#cat /proc/meminfo
#fdisk -l
#lspci
7. 比较耗的几个命令备忘
prelink / updatedb / makewhatis
8. 启用(不启用)交换分区 swapon -s / swapoff
9. 使用U盘:fdisk -l看U盘盘符,然后mount -t vfat /dev/sda1 /mnt/usb,卸载用umount /dev/sda1
10. 在/etc/sysconfig/network-scripts中的ifcfg-eth0脚本中可以修改网卡的MAC地址及其与IP地址的绑定关系
11. 修改fstab时,不要用label,而应该直接填入fdisk -l所得到的值,如/dev/hda8等
12. 有iso和winxp,如何从硬盘安装本地的Linux(双系统)?
变态大法,在winxp里面装一个vmware,把整个物理盘当作一个虚拟盘挂上(entire disk),在vmware里面用iso装linux,装好以后重启...记得首先必须在xp中用磁盘管理器将要划给linux的分区和逻辑盘符全卸载掉,否则linux安装会出错.用这种方法最适合无需X-windows的情况.
posted @
2007-03-14 00:22 w2001 阅读(423) |
评论 (0) |
编辑 收藏
签订劳动合同的必要性
用人单位以口头或其他形式(如在入职登记表中注明,或只单独签订所谓的“试用期合同”)与劳动者约定三个月或六个月试用期,但不签订劳动合同,这是违反法律规定的。劳动者一进单位,就应该与单位签订劳动合同,以维护自己的权益。试用期是包括在劳动合同之内的,只有存在劳动合同,才有试用期的问题。从试用期第一天起,就应当签订劳动合同。
在签订合同的时候应该注意什么?
《北京市劳动合同规定》规定:“劳动合同应当以书面形式订立,并具备以下条款:(1)劳动合同期限;(2)工作内容;(3)劳动保护和劳动条件;(4)劳动报酬;(5)劳动纪律;(6)劳动合同终止的条件;(7)违反劳动合同的责任。”同时规定,经当事人协商一致,可以在劳动合同中约定试用期等项内容。
关于“试用期”
劳动者被用人单位录用后,双方可以在劳动合同中约定试用期,试用期应包括在劳动合同期限内。试用期存在的前提是双方签订了劳动合同,试用期存在于劳动合同期限中,没有签订劳动合同,也就没有所谓的“试用期合同”。因此,用人单位只约定试用期而未签订劳动合同的,视为不存在试用期,双方发生劳动争议应当按照事实劳动关系进行处理。
按照《劳动法》的规定,劳动合同可以约定不超过六个月的试用期。劳动合同期限在六个月以下的,试用期不得超过十五日;劳动合同期限在六个月以上一年以下的,试行期不得超过三十日;劳动合同期限在一年以上两年以下的,试用期不得超过六十日。试用期适用于初次就业或再次就业时改变工作岗位或工种的劳动者,用人单位对工作岗位没有发生变化的同一劳动者只能试用一次。
关于劳动合同的效力
当事人之间的约定只要内容合法,不论在法律条文中是否规定,双方都必须遵守;如果约定本身是违法的,则该约定是无效的。劳动合同无效的情况包括:一种是违反法律法规的合同,如约定没有职工的保险,扣压职工的证件等;另一种是采取欺诈胁迫的方式签订的劳动合同。合同的个别条款无效,但不影响整个劳动合同的履行。
另外,根据北京市的规定,用人单位合并、分立不影响劳动合同的履行,继续有效。如果有其他情况,比如改制,股份制改造,或者有新的股东加入,劳动合同的条款可以作一些变更,双方就劳动合同的条款进行重新协商。
关于劳动合同的变更
只有双方协商一致,劳动合同的条款才有效。在合同变更中,用人单位和员工任何一方不同意,合同不能做出变更,维持原劳动合同继续有效。任何一方提出解除合同,要承担劳动法规定的违约责任。
关于劳动合同的续签
劳动合同期届满,员工有权拒绝续签,用人单位不能强迫。如用人单位不准备和员工续签,(北京市要求)必须提前一个月通知,如果没有通知,要根据迟通知的期限支付赔偿,迟通知一天,要支付一天的工资赔偿。
关于“四险一金”
建立劳动关系以后,无论档案关系在什么地方,或者是否是本地的户口,用人单位均应依法交纳社会保险,不能以此为由拒绝为职工交纳社会保险。“四险一金”只能交到社会保险部门,不能以现金支付的方式发到员工手里。试用期属于劳动合同期限的范围,有权享受各项社会保险。
关于“违约”的条件与责任
用人单位违约——根据《劳动法》规定,劳动者在试用期间被证明不符合录用条件的,用人单位可以解除劳动合同。如果用人单位没有证据证明劳动者在试用期间不符合录用条件,用人单位就不能解除劳动合同,否则,需承担因违法解除劳动合同所带来的一切法律后果。另外,根据有关规定,试用期满后,用人单位不得再以试用期间不符合录用条件而解除劳动合同。
劳动者违约——根据《劳动法》规定,劳动者在试用期内可以随时通知用人单位解除劳动合同。劳动法赋予了劳动者在试用期间随时解除劳动合同的权力,且该解除权是无条件的,不必承担违约责任。
posted @
2007-03-13 00:27 w2001 阅读(412) |
评论 (0) |
编辑 收藏
1. 劳动合同受劳动法保护,而劳务合同则不然,注意两者区别
2. 国家规定,节假日额外的工作时间,劳务费应该是平日的两倍
3. 平时的加班费有劳资双方共同商定,一般以员工手册形式,签约时一定要注意
4. 劳务合同中,假定月薪为X,工作时间为5天/周,那么实际收入是不是等于X*5/7?所谓的工作时间除权?
5. 一般福利、补贴的常见条目有哪些?(补贴:住房、通信、交通、餐饮)
6. 国家规定5险:养老保险、医疗保险、失业保险、工伤保险、生育保险;前三者由劳资双方共同缴费,后二者有资方承担;
7. 国家规定1金:房公积金;由劳资双方共同缴费
8. 5险1金不能算入工资,否则算是违法行为
9. 所谓的保密费用、竞业限制与禁止,应由资方提供补偿,而不是劳方抵押
10. 在实际操作中,资方声称保密费用已包含在工资内,然后抵押部分工资以胁迫劳方,是否合法?
11. 如何抵制试用期风险?
12. 签署合同时,不得抵押个人证件或缴纳任何培训、上岗费用,否则为违法行为
13. 餐饮补助究竟是计入工资,还是不计入工资另行缴纳,要说清楚
14. 劳动合同条款,应当依照国家劳动法章程制定,本身不存在商业机密,只有供需双方的成交价格属于双方共同“隐私”
15. 申请劳动仲裁,必须在劳动纠纷发生的三个月以内
16. 辞职信很关键,它决定了究竟是劳方提前中止合同还是资方
17. 辞职时,所有工资(包括拖欠的)和赔偿金必须一次性结清
posted @
2007-03-13 00:26 w2001 阅读(360) |
评论 (0) |
编辑 收藏
看了不少网上关于离职管理的文章,全是从公司角度讲怎么管理员工的。今天我写个员工如何管理自己的离职流程。
第一步
慎重考虑
无论因什么准备离职,一定要把此点作为离职的第一步。
如果公司给你加薪、换岗位、提升,你还会不会继续留下来?如果回答是,那请主动向公司争取:加薪、换岗位和提升。而不是让人感觉是以离职为理由要求这些,很多公司擅长秋后算账。说的再直白点儿,好公司一般不会被要挟,差的公司要挟了一般也没什么用。
如果提出离职后什么条件都不可能挽留你,进入下一步。
第二步
提出离职
找到自己下一个归宿之后,可以向公司提出书面离职(邮件和纸的都可以)。按劳动法规定,无论公司同意与否,提出书面离职后的
30
天,劳动者与公司的关系自动解除。
请特别注意,如果双方都同意离职,员工可以马上离开。我就犯过类似错误,离职申请里写“按劳动法规定提前
30
天向公司申请”,结果人事经理跑过来对我说,
LEO
公司老板也是这个意思,不用等
30
天了,现在就走吧。我差点当场晕倒,哈哈!
第三步
交接工作
大部分公司都有交接单,可能有如下项:本部分领导签字、技术部签字(机器有没有还公司)、财务签字(有没有欠公司的钱)、行政签字(有没有需要退的办公设备、门卡、饭卡什么的)、人力资源签字。
都搞定了就可视为正式离职。
第四步
取得相关证明
这是很多人不太在意,但是非常重要的部分。包括:
1
、
公司开具的离职证明(证明我们从
XXX
到
XXX
在
XX
公司任职
XXX
,要盖上公司公章)
2
、
保险转移单(正式离职后最多
`30
天就可以拿到,保存在自己手里比较保险)
3
、
复印交接单(个人建议,有备无患)
现在,可以义无反顾地奔向新的成功了……
from:
http://blog.csdn.net/jobchanceleo/archive/2007/03/01/1518616.aspx
posted @
2007-03-13 00:26 w2001 阅读(440) |
评论 (2) |
编辑 收藏
刚毕业那会觉得自己年轻,对“四金”几乎不过问,只问老板:交四金么?得到肯定答复后就觉得自己有了保障。结果老板在快发工资时说:我们说好的工资由
A+B
(具体工资就不说了,呵呵)组成,
A
为基本工资,
B
部分为奖金,总的“收入”不变,我当时想只要是钱就行,管他什么形式,竟爽快地答应了。结果后来才发现被骗了:由于是“
A+B
”,缴金基数只是
A
,这样单位逃掉了一大笔为员工缴纳四金的钱!当然我个人也少了一笔钱,只是这笔钱当时没放到自己口袋里而已,但以后买房装修,还不是跟钱一样!理论上说,我的个人所得税也相应少交了一些,但毕竟咱不比那些纳税大户,本来就没几个钱,何况还要扣除一个基数
1600
元。总的来说,损失还是蛮多的!
今天收到一封信,说要重新调整四金的基数,网上查了一下有关上海市四金的规定:
1.
四金的缴费基数的定义:
一般四金基数就是当月的工资,不过如果工资很高
(
比如超过了上年你所在城市社会月平均工资的三倍
)
,那基数就到顶了。而如果工资特别低的话
(
比如低于上年你所在城市社会月平均工资的百分之六十
)
,那基数也有封底。
上海市
2004
年的情况为例,
2003
年社会月平均工资是
1847
元(
2004
年为
2033
,
2005
年为
2335
)。如果你的月工资超过
1847
×
3=5541
元。则四金基数是
5541
元;如果你的月工资低于
1847*60%=1108.2
元。则四金基数是
1108.2
元。要是工资在
1108.2
元到
5541
元之间,那基数就是你的工资。
另,据说2006年上海交金基数的下限是1341,上限是6705。
2.
四金缴费的比例:
四金缴费比例:个人缴纳部分
公司缴纳部分
养老保险金 =
基数×
8%
+
基数×
22.5%
医疗保险金 =
基数×
2%
+
基数×
12%
失业保险金 =
基数×
1%
+
基数×
2%
住房公积金 =
基数×
7%
+
基数×
7%
其中个人出的部分是左边的部分,即基数的
8%+2%+1%+7%=18%,
其余右边的部分由公司出,其总数为基数的
22.5%+12%+2%+7%=43.5%
。也就是说扣除四金后的工资为:
X
=工人工资-基数×
18
%,(下面要以扣除四金后的工资
X
计算所得税)。而单位付出的总资金为:
Y
=工人工资+基数×
43.5
%。
3.
个人所得税的计算方法:
需要缴税的金额基数
X =
工资
-四金基数
*18%
-
1600(2006
年全国统一提高缴税起点
)
1
-
500
元,扣税比率为
5
%
500
-
2000
元,扣税比率为
10
%
2000
-
5000
元,扣率比率为
15
%
5000
-
20000
元,扣率比率为
20
%
20000-40000元,扣率比率为25%
40000-60000元,扣率比率为30%
60000-80000元,扣率比率为35%
80000-100000元,扣率比率为40%
100000元以上,扣率比率为45%
注意,是分段扣税的,就是说如果
X
=
4000
,那么要缴纳的个人所得税
=
500*5% + 1500*10% + 2000*15% = 475
4.
奖金的计算方法:
奖金计入当月工资,累加后按方法
3
扣税。年终双薪也同样。
按这样的方法,如果税前工资为
5000
的话,扣除四金的话
扣除四金后为:
X=5000-5000*18%=4100
那个人所得税:
缴税基数
X=5000-5000*18%-1600=2500
缴税金额
T=500*5%+1500*10%+500*15%=25+150+75=250
到手现金为:
C=4100-250=3850
个人补充:上面说的之外还有一个工伤保险和生育保险,都是
0.5%
,不过个人不用交纳,全部由公司支付。还有就是社保的时间是每年四月到次年三月。而我们的工资一般是每个自然年变一次(好希望变
N
次啊)。
参考: 搜狐新版个税计算器
摘自: http://www.cnblogs.com/Sonne/archive/2007/03/07/666965.html
posted @
2007-03-13 00:24 w2001 阅读(433) |
评论 (0) |
编辑 收藏
int a[10]={0,1,2};
有:
a->[10]->int
a->[]->int
a->*->int
则:
a: a->*->int
&a: &a->*->[10]->int 注意这里的[10]不能替换成[]或*!
int b[3][3] = { {1,2,3},{4,5,6},{7,8,9}};
int **c;
有:
b->[3]->[3]->int
b->[]->[3]->int
b->*->[3]->int
则:
b: b->*->[3]->int 即:int (*pb)[3]
b+n:int (*)[3]
*(b+n):int [3],即 b[n]
*(*(b+n)+m):int,即 b[n][m]
则有:
b:[3]->[3]->int
&b:*->[3]->[3]->int
&b[n]:*->[3]->int
c:*->*->int
上面b、&b、&b[n]三个表达式显然跟c的类型不一致
posted @
2007-03-13 00:22 w2001 阅读(280) |
评论 (0) |
编辑 收藏
显然,直接在vs2005的Disassembly窗口中查看是不方便的。其实,cl.exe提供了一个/FAs的编译选项,而添加这一选项最简单的办法为:首先找到“项目属性->Configuration Properties->C/C++->Command Line->Addtional options”,然后在其中添入"/FAs",然后F5编译,继而在源程序的同一目录下,便可找到对应的.asm文件了。这非常有用,到时候在分析栈框结构时将要用到。
posted @
2007-03-13 00:21 w2001 阅读(2665) |
评论 (1) |
编辑 收藏