SRM 555 DIV2 555
2012-10-20 02:30
363 查看
挺有意思的一道DP,题目大意是说,给你一个01构成的字符串,问你最少切几刀,能把切成的子串都分成5的某一次方,如果不存在,就输出-1。
DP的思路:1、从左往右扫,如果扫到的这一位与之前所有数构成的子串是5的某次方,就记录f[i] = 1;
2、否则,再一重循环,找1~i中子串的数目。
伪代码:
DP的思路:1、从左往右扫,如果扫到的这一位与之前所有数构成的子串是5的某次方,就记录f[i] = 1;
2、否则,再一重循环,找1~i中子串的数目。
伪代码:
for i from 0 to s.size() - 1 { f[i] = -1; if(check(s.substr(0, i))) f[i] = 1; else { for(j from 1 to i) if(f[i-1] != -1 and check(s.substr(j, i - j + 1))) { if(f[i] == -1 or f[i] > f[j - 1] +1) f[i] = f[j - 1] + 1; } } }
相关文章推荐
- srm555 div2
- SRM556 Div1 555
- [组合数] SRM 555 Div1 Medium XorBoard
- srm555 div1
- SRM 555 DIV 2
- SRM 555 DIV2
- SRM 555 DIV2
- [容斥原理][复杂度分析] SRM 555 Div1 Hard MapGuessing
- tc-SRM-626-DIV1-250
- topcoder SRM 594 DIV2 AstronomicalRecordsEasy
- SRM 678 div2 (1000题待补)
- SRM 457 Div2 500
- SRM 630 DIV2
- srm 556 div2
- Topcoder SRM 596 DIV 1
- Topcoder SRM 144 Div1 550(数学和dp问题求方案数,很有意思)
- 【topcoder SRM 652 DIV2 250】ValueOfString
- SRM 590 DIV1
- TopCoder SRM 634 Div2 Problem 500 - ShoppingSurvey
- SRM 635 DIV2