topcoder srm 542 div2 比赛小记

topcoder srm 542 div2 比赛小记
比赛感想纯属没事的蛋疼吐槽..... 各位看官轻拍
很多人会疑惑为毛是div2.... 因为上场掉了180+ pt....
于是果断不能忍啊... 这场要找回颜面才可以
但是在昨天晚上,给力的导员通知10:00开会... 于是这场分成了两部分来做了...

950 pt:

    定义一个比较两个字符串的字典序的方法,对于这两个串比较字母的顺序是随机的,正常是 0->1->2->3...
    给出N个字符串,输出每个串排名的期望
    
    我一看我去居然是950pt果断就秒开了....
    上来就开始推公式的是什么水平,推了半个小时都没有思路的是什么水平....

500 pt:

    找出4000*4000的平面的三个点,使三个点的哈密顿距离之和在[Tmin,Tmax]之间,且三个点的x值互不相同,y值互不相同。问这样的点对有多少?
    我开这道题的时候已经9:40了,当时脑子挺乱的,感觉数据范围都好大。 总的想法就是:
        1. 如果x1<x2<x3,那么x轴上的哈密顿距离就是2*(x3-x1)
        2. 这样单独构造x值和y值.... 枚举|x3-x1|的长度... y同理
    当时写完了,样例每过,一看我擦这不10点了么,果断跑去开会了,回来的时候还剩10分钟结束...
    于是重写了一遍交上去了... 231.6pt 这时比赛也结束了... 房间7th
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<cstring>
 5  using  namespace std;
 6  #define re(i,n) for(int i=0;i<n;i++)
 7  #define re1(i,n) for(int i=1;i<=n;i++)
 8  #define re2(i,n) for(int i=0;i<=n;i++)
 9  #define re3(i,n) for(int i=1;i<n;i++)
10  #define clr(a,n) memset(a,n,sizeof(a))
11 template <typename T> inline T chkmin(T a,T b){  return a > b ? a = b : a ; }
12 template <typename T> inline T chkmax(T a,T b){  return a < b ? a = b : a ; }
13 typedef  long  long ll;
14  const  int mod = 1000000007;
15 ll cal(ll len, int X){
16      if(len > X || len<=0)  return 0;
17      return (len-1)*(X-len)%mod;
18 }
19  class PatrolRoute{
20      public :  int countRoutes( int X,  int Y,  int mn,  int mx){
21         ll ans = 0;
22          for( int i=1;i<=X;i++)
23              for( int j=1;j<=Y;j++)
24                  if(i*2+j*2<=mx && i*2+j*2>=mn){
25                     ans=(ans+ cal(i,X)*cal(j,Y)%mod)%mod;
26                 }
27          return ans*6 %mod;
28     }
29 };
30 

250 pt:

    upt: 5.10 在practice room 提交成功
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<cstring>
 5 #include< string>
 6 #include<vector>
 7  using  namespace std;
 8  #define re(i,n) for(int i=0;i<n;i++)
 9  #define re1(i,n) for(int i=1;i<=n;i++)
10  #define re2(i,n) for(int i=0;i<=n;i++)
11  #define re3(i,n) for(int i=1;i<n;i++)
12  #define clr(a,n) memset(a,n,sizeof(a))
13 template <typename T> inline T chkmin(T a,T b){  return a > b ? a = b : a ; }
14 template <typename T> inline T chkmax(T a,T b){  return a < b ? a = b : a ; }
15  class WorkingRabbits{
16      public :
17      double getEfficiency(vector < string> profit){
18          int n = profit.size();  double sum  =0;
19         re(i,n) re(j,i) sum += profit[i][j]-'0';
20          return sum/(n*(n-1)/2);
21     }
22 };
23 

challenge:

    这个排名我显然不能接受啊... 于是500pt大数据cha掉两个,升到房间第三,总排名45....
总结:
    还是不够冷静啊.... 500pt当时稳住情绪应该能很快做掉的吧....
    还好涨了60pt... 有惊无险回到div1....

你可能感兴趣的:(topcoder srm 542 div2 比赛小记)