最大子矩陣和其實是最大子段和問題的二維推廣.即給定一個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 閱讀(3847) |
評論 (3) |
編輯 收藏
經典問題,網上誤解的很多,分析混亂、說不清楚的也很多,不多寫了,
附件pdf下載。
posted @
2007-03-23 02:08 w2001 閱讀(3842) |
評論 (9) |
編輯 收藏
1. 目標要高,ACM / ICPC、TopCode,可以到上面去找題目做
2. 方向要明確,是算法分析與設計,而不是數據結構
3. 基礎要扎實、要系統,不能靠網絡,知識點太零散,要靠教科書
4. 過程中要勤于歸納總結,不能白做,形成一套系統的分析、思考模式
posted @
2007-03-23 02:05 w2001 閱讀(453) |
評論 (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 閱讀(436) |
評論 (0) |
編輯 收藏
簽訂勞動合同的必要性
用人單位以口頭或其他形式(如在入職登記表中注明,或只單獨簽訂所謂的“試用期合同”)與勞動者約定三個月或六個月試用期,但不簽訂勞動合同,這是違反法律規定的。勞動者一進單位,就應該與單位簽訂勞動合同,以維護自己的權益。試用期是包括在勞動合同之內的,只有存在勞動合同,才有試用期的問題。從試用期第一天起,就應當簽訂勞動合同。
在簽訂合同的時候應該注意什么?
《北京市勞動合同規定》規定:“勞動合同應當以書面形式訂立,并具備以下條款:(1)勞動合同期限;(2)工作內容;(3)勞動保護和勞動條件;(4)勞動報酬;(5)勞動紀律;(6)勞動合同終止的條件;(7)違反勞動合同的責任。”同時規定,經當事人協商一致,可以在勞動合同中約定試用期等項內容。
關于“試用期”
勞動者被用人單位錄用后,雙方可以在勞動合同中約定試用期,試用期應包括在勞動合同期限內。試用期存在的前提是雙方簽訂了勞動合同,試用期存在于勞動合同期限中,沒有簽訂勞動合同,也就沒有所謂的“試用期合同”。因此,用人單位只約定試用期而未簽訂勞動合同的,視為不存在試用期,雙方發生勞動爭議應當按照事實勞動關系進行處理。
按照《勞動法》的規定,勞動合同可以約定不超過六個月的試用期。勞動合同期限在六個月以下的,試用期不得超過十五日;勞動合同期限在六個月以上一年以下的,試行期不得超過三十日;勞動合同期限在一年以上兩年以下的,試用期不得超過六十日。試用期適用于初次就業或再次就業時改變工作崗位或工種的勞動者,用人單位對工作崗位沒有發生變化的同一勞動者只能試用一次。
關于勞動合同的效力
當事人之間的約定只要內容合法,不論在法律條文中是否規定,雙方都必須遵守;如果約定本身是違法的,則該約定是無效的。勞動合同無效的情況包括:一種是違反法律法規的合同,如約定沒有職工的保險,扣壓職工的證件等;另一種是采取欺詐脅迫的方式簽訂的勞動合同。合同的個別條款無效,但不影響整個勞動合同的履行。
另外,根據北京市的規定,用人單位合并、分立不影響勞動合同的履行,繼續有效。如果有其他情況,比如改制,股份制改造,或者有新的股東加入,勞動合同的條款可以作一些變更,雙方就勞動合同的條款進行重新協商。
關于勞動合同的變更
只有雙方協商一致,勞動合同的條款才有效。在合同變更中,用人單位和員工任何一方不同意,合同不能做出變更,維持原勞動合同繼續有效。任何一方提出解除合同,要承擔勞動法規定的違約責任。
關于勞動合同的續簽
勞動合同期屆滿,員工有權拒絕續簽,用人單位不能強迫。如用人單位不準備和員工續簽,(北京市要求)必須提前一個月通知,如果沒有通知,要根據遲通知的期限支付賠償,遲通知一天,要支付一天的工資賠償。
關于“四險一金”
建立勞動關系以后,無論檔案關系在什么地方,或者是否是本地的戶口,用人單位均應依法交納社會保險,不能以此為由拒絕為職工交納社會保險。“四險一金”只能交到社會保險部門,不能以現金支付的方式發到員工手里。試用期屬于勞動合同期限的范圍,有權享受各項社會保險。
關于“違約”的條件與責任
用人單位違約——根據《勞動法》規定,勞動者在試用期間被證明不符合錄用條件的,用人單位可以解除勞動合同。如果用人單位沒有證據證明勞動者在試用期間不符合錄用條件,用人單位就不能解除勞動合同,否則,需承擔因違法解除勞動合同所帶來的一切法律后果。另外,根據有關規定,試用期滿后,用人單位不得再以試用期間不符合錄用條件而解除勞動合同。
勞動者違約——根據《勞動法》規定,勞動者在試用期內可以隨時通知用人單位解除勞動合同。勞動法賦予了勞動者在試用期間隨時解除勞動合同的權力,且該解除權是無條件的,不必承擔違約責任。
posted @
2007-03-13 00:27 w2001 閱讀(424) |
評論 (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 閱讀(378) |
評論 (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 閱讀(456) |
評論 (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 閱讀(445) |
評論 (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 閱讀(291) |
評論 (0) |
編輯 收藏
顯然,直接在vs2005的Disassembly窗口中查看是不方便的。其實,cl.exe提供了一個/FAs的編譯選項,而添加這一選項最簡單的辦法為:首先找到“項目屬性->Configuration Properties->C/C++->Command Line->Addtional options”,然后在其中添入"/FAs",然后F5編譯,繼而在源程序的同一目錄下,便可找到對應的.asm文件了。這非常有用,到時候在分析棧框結構時將要用到。
posted @
2007-03-13 00:21 w2001 閱讀(2696) |
評論 (1) |
編輯 收藏