随笔分类 - ACM--思维
摘要:问题描述 输入描述 输出描述 输入样例 输出样例 有一个明显的性质:如果子串(i,j)包含了至少k个不同的字符,那么子串(i,k),(j < k < length)也包含了至少k个不同字符。 因此对于每一个左边界,只要找到最小的满足条件的右边界,就能在O(1)时间内统计完所有以这个左边界开始的符合条
阅读全文
摘要:输入描述 输出描述 输入样例 输出样例 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cstdio> 5 using namespace std; 6 const int Max = 100
阅读全文
摘要:输入描述 输出描述 输入样例 输出样例 红、绿、蓝分别表示0、1、2,每次操作就相当于+1,原问题就转化为求n的三进制 表示的最低的m位,即求 n mod 3^m3的三进制表示。 复杂度 O(m)O(m) 1 #include <iostream> 2 #include <cstdio> 3
阅读全文
摘要:问题描述: 把一个包含n个正整数的序列划分成m个连续的子序列。设第i个序列的各数之和为S(i),求所有S(i)的最大值最小是多少? 例如序列1 2 3 2 5 4划分为3个子序列的最优方案为 1 2 3 | 2 5 | 4,其中S(1),S(2),S(3)分别为6,7,4,那么最大值为7; 如果划分
阅读全文