上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: 将字符串分为len/k块。用dp[i][j]表示第i个块必须以j结尾的最小划分。当第i块没有字符j时,dp[i][j]多计一个。如果当前块只有1种字符,那么就等于dp[i-1][j]。否则对于第i块的所有元素,以它来连接前一块,dp[i][j]=min(dp[i-1][i块中的元素]+i块元素数量- 阅读全文
posted @ 2018-11-02 09:35 degvx 阅读(312) 评论(0) 推荐(0)
摘要: 看90,956这样的串,在比较完之前,就确定大小的,必定选大的放在前。而x=98,y=980;这样的,比较x+y和y+x的大小。如果x+y更小,y就放前。 阅读全文
posted @ 2018-10-25 20:42 degvx 阅读(183) 评论(0) 推荐(0)
摘要: 喷水装置的圆心和半径确定,就能确定左端和右端。开始时pos=0,选取左端小于pos,右端最大的更新pos。 重复。 阅读全文
posted @ 2018-10-25 20:10 degvx 阅读(168) 评论(0) 推荐(0)
摘要: 先取正的和负的绝对值较小者为开头 。然后交替从正负数中取绝对值最小但比上一个大的。 证明: 1.开头选正负数中绝对值较小的:否则能再多放1个。 2.交替选的时候选最小的符合条件的:如果大的符合,换小的仍符合。 阅读全文
posted @ 2018-10-25 15:52 degvx 阅读(155) 评论(0) 推荐(0)
摘要: 观察样例得知就是和离'_'左边最近的'w'交换位置,然后和离'_'右边最近的'b'交换位置,轮流进行。 阅读全文
posted @ 2018-10-23 21:09 degvx 阅读(183) 评论(0) 推荐(0)
摘要: 如果单单只安排过程1的时间最短,很容易算出来。用优先队列取最小,加上增量后再放回就行。对过程2也进行这样的操作。将过程1第一个完成的在过程2最后一个完成。以样例来说,过程1:1,1,2,2,3,过程2:1,2,3,3,4。那么小的和大的组合用时最少。 阅读全文
posted @ 2018-10-23 15:32 degvx 阅读(156) 评论(0) 推荐(0)
摘要: 背包。 阅读全文
posted @ 2018-10-22 10:42 degvx 阅读(175) 评论(0) 推荐(0)
摘要: 将余数记录下来,如果余数相同,那么商的下一位也相同。 阅读全文
posted @ 2018-10-22 09:50 degvx 阅读(136) 评论(0) 推荐(0)
摘要: #include #include #include #include #include #include #include #include #include #include #include #include #include #define mkp make_pair using namespace std; const double EPS=1e-8; typ... 阅读全文
posted @ 2018-10-21 21:03 degvx 阅读(144) 评论(0) 推荐(0)
摘要: 就是背包,用O(n*m)的一维。 阅读全文
posted @ 2018-10-21 20:23 degvx 阅读(126) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页