昨天下午查看邮箱,看到了topcoder的SRM比赛通知和cf的比赛通知,当时什么也不想做,心里空荡荡的,忽然就想参加一下,试试看。吃完晚饭回来一看,就剩十几分钟了,匆忙把平台下了,就开始等待比赛开始了。话说这是第一次在topcoder比赛,以前一直都不想的,认为自己水平不够,参加比赛也是找虐,想把水平提高一下再比赛,可是...直到现在还是菜鸟一只...汗颜... 以前也在tc上练习过了,貌似做了一道题...不过后来重装系统了,所有插件、配置都没了,等到比赛开始,我就有点傻了,写类写方法...?好像有点印象,就试着写了第一题,在不能编译、不能调试的情况下(当时忘了有编译和调试功能),竟然提交成功了,哈哈,运气还不错。

  Problem 1:给一个含有n个数的序列,从中找出k个数,使这k个数的和第二小。排序然后处理就可以了。

 #include <cstdio>
#include <vector>
#include <algorithm>
using namespace std; class LittleElephantAndBooks
{
public:
int getNumber(vector<int> pages, int number)
{
sort(pages.begin(), pages.end());
int sum = ;
for (int i = ; i < number-; i++)
sum += pages[i];
sum += pages[number];
return sum;
}
};

Problem 1

  Problem 2: 给两个正整数N和K,A和B是[1...N]的两个排列,定义magic(A, B) = sum (max(A[i], B[i])), 1 <= i <= N。找出magic(A, B) >= K 的个数。

  当时第一感觉就是暴力,时间有点紧,一时也没想到什么好的解决办法,就暴力枚举了,时间复杂度O((n!)2)...不过还是提交了,结果被challenge了...(challenge时找了好长时间才知道怎么做,然后就看人家challenge,完全打酱油了...),今天看别人代码才发现了O(n!)的解法,当A不变B变化时,将A和B对应数对进行排列,magic值不变,共有有n!种排列。

 #include <string>
#include <vector>
#include <algorithm>
using namespace std; class LittleElephantAndPermutationDiv2
{
public:
long long getNumber(int N, int K)
{
long long fact[];
fact[] = ;
for (int i = ; i <= N; i++)
fact[i] = i * fact[i-]; vector<int> a, b;
for (int i = ; i <= N; i++)
{
a.push_back(i);
b.push_back(i);
}
long long cnt = ;
do
{
int sum = ;
for (int i = ; i <= N; i++)
sum += max(a[i], b[i]);
if (sum >= K) cnt += fact[N];
} while (next_permutation(b.begin(), b.end()));
return cnt;
}
};

Problem 2

  Problem 3: 给一个[A, A+N]的序列,通过擦除数的数字使得系列变成一个非递减序列,问共有多少种方法?

  看完后没什么思路,想了一会儿还是没法写,就坐那发呆等着结束了...-_-||,今天准备看别人代码,扫了一眼,我...还是算了,以后再说吧...

  第一次tc比赛就这样了,结果rating 875,感觉还算不错吧,其实也没我想的那么重要,不一定非要有一个好的开始,勇于开始也是不错的选择。

  PS:吐槽一下这网络,比赛的时候掉了好几次,今天感觉一半的时间都是浪费在登陆上了...

SRM 592 DIV2 报告的更多相关文章

  1. topcoder SRM 592 DIV2 LittleElephantAndPermutationDiv2

    #include <iostream> #include <vector> #include <algorithm> #include <iterator&g ...

  2. topcoder SRM 592 DIV2 LittleElephantAndBooks

    #include <iostream> #include <vector> #include <algorithm> using namespace std; cl ...

  3. SRM 657 DIV2

    -------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: ...

  4. Topcoder Srm 673 Div2 1000 BearPermutations2

    \(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...

  5. Topcoder Srm 671 Div2 1000 BearDestroysDiv2

    \(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...

  6. 记第一次TopCoder, 练习SRM 583 div2 250

    今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...

  7. Topcoder srm 632 div2

    脑洞太大,简单东西就是想复杂,活该一直DIV2; A:水,基本判断A[I]<=A[I-1],ANS++; B:不知道别人怎么做的,我的是100*N*N;没办法想的太多了,忘记是连续的数列 我们枚 ...

  8. SRM 638 Div2

    2333... 因为TC过少的参与者.加上不断fst 我掉了div2该. 幸运的是完成的背div1该.. 250 水的问题 500 水的问题.. 直接bfs扩展即可了 注意判重.  我还用康托展开了真 ...

  9. SRM 670 div2 A B C div1 A(贪心,子问题合并)

    A Cdgame brute force... B Drbalance 贪心,每次选最前面的-变成+,相当于后面所有的负值+2. C Treestrat 考虑集中去抓一个Red Token,以这个To ...

随机推荐

  1. js date相关学习!

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

  2. Struts的前世今身

    1.Struts1的运行原理 a.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件( ...

  3. java导读

    导读:      我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构:第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了.第三,面向企业应用.计算的平台,J2EE. ...

  4. Angular服务器通信之:$http

    $http服务提供了浏览器XMLHttpRequest对象的封装,并且作为Angular中和后台服务通信的底层服务,在此之上Angular还提供了一个可选模块ngResource支持与RESTFul的 ...

  5. 编程实现prim算法和Dijkstra算法。

    网址链接:http://blog.csdn.net/anialy/article/details/7603170

  6. 求余区间的求和类问题 离线+线段树 HDU4228

    题目大意:给一个数组a,他的顺序是严格的单调增,然后有如下三个操作 ①加入一个val到a数组里面去,加入的位置就是a[i-1]<val<a[i+1] ②删除一个a[i]=val的值 ③查询 ...

  7. Ubuntu和Redhat(Debian)的差别

    这两个最大的区别在包管理模式上. 都是用的Linux核心构架的. Redhat主要集中在 企业级服务器版的制作 是推动LINUX商业化最成功的公司 Redhat对应的桌面版制作 都是由Fedora社区 ...

  8. android脚步---UI界面修改,关于activity中增加按钮和监听

    增加按钮和监听,这个和上个不同在于,它不是在一个dialog里面,而是从新写了一个activity,因此需要先找到这个activity的入口. case R.id.checkframe: if (mC ...

  9. 在 WinCe 平台读写 ini 文件

    在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数.在网络上我并没有找到令我满意的 ...

  10. SDAU课程练习--problemG(1006)

    题目描述 Problem Description The highest building in our city has only one elevator. A request list is m ...