上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 57 下一页
摘要: 题目链接:http://codeforces.com/problemset/problem/313/C题目意思:给定 4n 个整数(可以组成 2n × 2n 大小的矩阵),问通过对这些整数进行排列,求出 the resulting maximum beauty of the matrix。这个最大值的定义是这样的:先定义m为所有整数中的最大值。如果n = 0,那么,这个beauty 数就是m;否则把2n × 2n 大小的矩阵划分为2n - 1 × 2n - 1- 大小的子矩阵,那么 beauty 数是:m + 其余4个子矩阵的beauty数。 举个例子吧,假设输入 阅读全文
posted @ 2014-01-26 16:49 windysai 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/313/B题目意思:给出一个只有 "." 和 "#" 组成的序列s,问当给定一个区间 [li, ri] 时,si = si + 1(".." 或者 "##")的个数。(li ≤ i 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int maxn = 1e5 + 10; 8 int cnt[maxn]; 9 10 int main()11 { 阅读全文
posted @ 2014-01-26 16:03 windysai 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/147/A题目意思:给定一篇文章,需要对这篇文章进行编辑,使得:(1)两个单词之间有一个空格分开 (2)标点符号前面(, . ! ?)没有空格,即单词后面直接紧跟着这个标点 (3)标点符号后面只有一个空格。 恶心的字符串处理。特别要注意,当出现类似 wery , weyriu 的形式时的处理方法。由于对于标点符号的处理,我是把该符号+空格输出,所以对于这种情况,再把空格都过滤了的情况下,仅当紧跟着空格后面的那个字符不能为标点符号而是小写字母并且该空格前面有一个空格的时候,才输出空白符。 1 #inclu 阅读全文
posted @ 2014-01-25 12:20 windysai 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/385/B题目意思:给定一条只有小写英文组成的序列,需要找出至少包含一个“bear”的单词的子序列个数。注意,子序列的下标编号是连续的,也就是sisi + 1...sj ,不是这种sisk...sj 。(k!=i+1) 我的做法是每找到一个“bear”就计算出它的组合数,累加所有找到的“bear”组合数即为答案。假设序列长度为len,先用string中的substr()来找出单词“bear”中“b”的下标(i),然后计算出这个单词之前(i个,因为下标是从0开始的)和之后有多少个字母(len-1-(i+3 阅读全文
posted @ 2014-01-25 10:33 windysai 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/323/A题目意思:给定值 k ,需要输出 k 个 k 行 k 列的单位立方体各表示什么颜色(或者是黑色或者是白色)。需要满足的条件是:如果是白色的单位立方体,那么它有且仅有2个白色的相邻单位立方体;如果是黑色的单位立方体,那么它有且仅有2个黑色的相邻单位立方体。要是给出的k不能构成满足这些条件的立方体,输出-1. 在纸上尝试过用次小的奇数 3 来模拟,发现无论如何都不能满足条件,于是大胆地猜测k是奇数的话是不行的。至于证明就...无能为力啊~希望会的读者能够指点迷津,不胜感激。 而偶数的话,为了简单起 阅读全文
posted @ 2014-01-23 23:51 windysai 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/320/B题目意思:有两种操作:"1 x y"(x (2 9)——> (5 11)。理由是 2 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int maxn = 100 + 10; 8 int a[maxn], b[maxn], ans[maxn]; 9 int n;10 11 void dfs(int k)12 {13 int i;14 ans[k] = 1; // 可以到达第k行的区.. 阅读全文
posted @ 2014-01-23 17:06 windysai 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/322/B题目意思:给定红花、绿花和蓝花的朵数,问组成四种花束(3朵红花,3朵绿花,3朵蓝花,1朵红花+1朵绿花+1朵蓝花)的总数最大为多少。 一开始以为是水题,其实很多情况都没有考虑到,反反复复修改终于过了。 其实要考虑两种情况,这两种情况较好的那种就是最优解。姑且把四种花束分为两种类型:清一色型(3朵红,3朵绿,3朵蓝)和混杂型(红绿蓝各一朵)。 第一种情况就是,保证清一色型最多(3种花都要除以3),能组成混杂型的朵数是剩下所有没使用的花中最少的那个余数;第二种情况是混杂型最多(此时三种花中最大的. 阅读全文
posted @ 2014-01-20 21:44 windysai 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/382/C题目意思:给定一个序列,问是否可以通过只插入一个数来使得整个序列成为等差数列,求出总共有多少可能的情况,并输出这些数。 n = 1、 n = 2 和 整个序列是常数列 的情况比较容易判断。不过要注意n = 2的时候,也需要判断两个数之间是否也可以通过插入一个数来构成等差数列。 关键是讨论n>=3的情况。预处理:把整个输入序列从小到大排序。之后,得到公差是第一要务!如果可以从中插入一个数(这时一定不是两端,也就是说这两种情况是互斥的),那么两个相邻的数之差 = 公差的次数会是最多的!只要找 阅读全文
posted @ 2014-01-19 13:27 windysai 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/381/B题目意思:给定一个m个数的序列,需要从中组合出符合楼梯定义a1 ai + 1 > ... > a|a| - 1 > a|a|.的最长序列。思路不复杂,先把输入的序列按从小到大排序,然后依次挑出不相同的数(顺挑)。接着倒序再挑出不相同的数(可以与顺挑时的数相同)。有一个要注意的地方是,挑出的那些数的位置需要标记下,防止逆挑的时候重复挑。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespac 阅读全文
posted @ 2014-01-14 09:02 windysai 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/378/B题目意思:有n个参赛者,他们都需要参加两场半决赛。第一场半决赛的成绩依次是a1, a2, ..., an,分别对应第1~第n个人的成绩。第二场则是b1, b2, ..., bn。其中这两个序列都是以递增方式排列的。需要从中找出有机会跻身于总决赛的人(标记为1)包括成绩排名前k人(对应成绩是a1,b1;a2,b2,...,ak,bk)和处在两场半决赛的总成绩处在n-2k排名的人。至于k是不确定的,只知道范围是:0 ≤ 2k ≤ n 首先可以知道k可以取的最大数是n/2(当然有可能除不尽的,即n是 阅读全文
posted @ 2014-01-11 20:38 windysai 阅读(297) 评论(0) 推荐(0) 编辑
上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 57 下一页