昨天下午查看邮箱,看到了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. for循环与foreach

    注意点: for循环时,可以对集合进行操作,但foreach循环中,对集合进行操作会报错:                  for 循环可以获取下标 如下代码: package com.tt;imp ...

  2. android代码实现免提功能

    初始化AudioManager: private static AudioManager audioManager; 实现免提功能方法 protected void setSpeekModle() { ...

  3. If only it could be all the same like we first me

    为什么 你当时对我好 Why? You nice to me at that time. 又为什么 现在变得冷淡了 Why? Now you give a cold shoulder to me. 我 ...

  4. 一种快速查询多点DS18B20温度的方法(转)

    源:http://hi.baidu.com/james_xiao/item/79b961c90623093e45941623 一种快速查询多点DS18B20温度的方法 引言      为了满足实时性要 ...

  5. merge_partition

    set echo on time on timing on spool 01_merge_partition.log @/testdb/change/env/env_test.sql connect ...

  6. 1.3 selenium IDE录制脚本转换为其他代码格式

    1.在seleniumIDE录制框中点击Options->options... 在Enable experimental features前打对勾,点击确定.

  7. GridView 编辑,更新,删除 等操作~~

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1. ...

  8. 转:Loadrunner上传文件解决办法(大文件)

    最近再做一个跟海量存储相关的项目测试,需要通过LR模拟用户大量上传和下载文件,请求是Rest或Soap,同时还要模拟多种大小尺寸不一的文件 通常情况下,都是使用简单的post协议即可: 方法一: we ...

  9. Linux服务器软件安装备忘

    1.Centos安装Mysql --安装 yum install mysql-server 卸载 yum -e mysql-server --设置为开机启动 chkconfig mysqld on - ...

  10. L2-006. 树的遍历

    题目链接:L2-006. 树的遍历 今天一神给我手敲二叉树模板,瞬间就领悟了,感觉自己萌萌哒! 看上去很直观! #include <iostream> #include <cstdi ...