算法学社
記錄難忘的征途
posts - 141,comments - 220,trackbacks - 0
比赛感想纯属没事的蛋疼吐槽..... 各位看官轻拍
很多人会疑惑为毛是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....
posted on 2012-05-09 16:37 西月弦 阅读(410) 评论(0)  编辑 收藏 引用 所属分类: 比赛感言

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理