这次题目好难读各种专业词汇。。。把做出来的题贴一下把。
Problem A
思路:遍历一遍然后求出长度为奇数个的一样字母长度,即为答案。
代码如下:
1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-02-17 01:53 5 * Filename : Rockethon_2014_A_1.cpp 6 * Description : 7 * ************************************************/ 8 9 #include10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include
Problem B
题意:题目中告诉你了折叠的方法,然后问你折出来一列上都为同一个字母最高的高度为多少。注意当中不能有空档
思路:我们可以发现只要两个相同的字母相隔为奇数就能折上去,即得到比原来长度+1的一列,这样问题就转化为lis。
代码如下:
1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-02-17 01:53 5 * Filename : Rockethon_2014_B_1.cpp 6 * Description : 7 * ************************************************/ 8 9 #include10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include
Problem C (C1,C2)
题意:一个人打竞标赛,一共有n个对手期望排名在k前面。每个对手初始有一个值p,和打赢他的预计花费e。这个人必须和每个对手打仅一场,有两种情况:1.花费e打赢他自己p+1 2.花费0输掉,对手p+1。问你达到期望的最小花费。
思路:我们可以发现在枚举打赢的人的个数时,即可使用贪心算法。当对手p<i-1(i为枚举值从0-n)时对手排名必定在后面,p>i时对手排名必定在前面。所以对于p=i和i-1的按照花费排序,挑最小的打。大概思路就是这样,细节看代码(复杂度n^2)
代码如下:
1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-02-17 01:54 5 * Filename : Rockethon_2014_C_2.cpp 6 * Description : 7 * ************************************************/ 8 9 #include10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include
Problem D (D1)
题意:若干横向量和竖向量,两个向量横竖当相交时找出向量交点到四个顶点中的最小值再找出这个最小值在所有向量对中的最大值。
思路:小数据直接暴力枚举。比较水
代码如下:
1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-02-17 01:55 5 * Filename : Rockethon_2014_D_1.cpp 6 * Description : 7 * ************************************************/ 8 9 #include10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include