問題來自本論壇:
/*舉例:name = sample12 , count = 3
應該返回list=
判斷字串最後部分的數字時的原則:
1).忽略數字部分外的空格:即"sample 12","sample12 ","sample 12 "都認為數字是12;而"sample1 2"則認為是2;
2).最後一位不是空格也不是數字,則認為數字是0;如"sample 12a","sample12b","sample 12 b8e"都認為數字是0;*/
list生成 = new list();
func取數字 = delegate(string 資訊)
while (--量 > 0);
return int.parse(字);
};func轉數字 = delegate(string 資訊)
/*包含對多空格處理*/
return 判斷 < 2 ? 取數字(資訊[0]) : 檢;
};func> 符串最後部分的數字 = delegate(string 資訊, int 數量)
while (--數量 > 0);
return 生成;
};符串最後部分的數字("sample12 ", 4);
foreach (string 資訊 in 生成)
console.writeline(資訊);
擷取字串的前後子串:
string aa = "1231233";
string bb = aa.remove(aa.length - 1);/*保留前面的字元*/
string cc = aa.substring(3);/*保留後面的字元*/
SCOI2010 生成字串
題目大意 給出n個 1 m個 0 求用這些組成的串中,滿足 前k個字元中1數不小於0數 的串的個數。對20100403取模 同學互測題出了原題,當時蒙蔽。除了一眼看出的dp dp i j dp i 1 j dp i j 1 然後就是持續蒙蔽。最後同學講題,講了乙個非常nb的構造演算法 將串想象成乙個...
SCOI2010 生成字串
oj題號 bzoj1856 洛谷1641 思路 總方案數為 binom 非法方案數為 binom 則合法方案數為 n m 1 frac 其中除以 m 可以用乘以逆元實現,邊乘邊模。因為要求出1 m的連續的逆元,所以可以線性推。另外注意中間結果和最終乘積可能會超過int範圍,所以要轉long long...
SCOI2010 生成字串
乙個廣為流傳的 trick 然而我現在才學會。題面題解在任意的前k個字元中,1的個數必須大於等於0的個數。我們把放乙個 1 視為向右走一步,放乙個 0 視為向上走一步,現在答案就轉換為從 0,0 開始,走到 n,m 並且不能跨越 y x 有多少種方案數。對於不合法的方案數 如果經過了 y x 1 我...