YZOI回忆录&&YZOI3.0介绍&&某些资源的分享

“那段时光就像块透明的琉璃,美得那么虚幻、飘渺。可是它毕竟在我生命里闪现,哪怕如萤光一样微弱,却照亮了我整个心房。”
1、前序
伴随着yzoi2.0版本离我而去的是我半年的OI生涯,在这半年内我步入了一个全新、奇妙、并带着些许狗血的领域,并怀揣着一个梦想,开始了一段无法回头的旅程。这旅程沿途的风景是美妙的(相比于文化课而言),但沿途的历程无疑确是辛酸苦辣的:0x7f7f次的WA的提交(略有夸张),文化课的失利,以及父母的训导......我多次想过退缩,反正放弃就放弃也没什么大不了的,但最终鼓舞我走下来的却是这么一个信念“好活不如赖死着”(略有改动)。正如YYL学长所言“就算你最终拿不了1=||2=||3=,失败了,但在高中有这么一段为自己所喜爱的东西奋斗的经历不也是挺好的吗”,更如LZW学长的签名所写“
自己选的路,即使跪着也要走下去 ”
2、YZOI 3.0介绍
(现在好像换掉了)。的确如此,既然我选择了这条路,既然我无法再回头,那我又有什么理由不坚持地走下去呢。
Q:什么是YZOI?
A:YZOI = Yi Zhong Olympiad in Informatics.
Q:YZOI OJ的测评环境?
A:测评环境是Linux,Ubuntu 14.04,64位系统。
C++的编译器是 g++ 4.8.2,编译命令:g++ code.cpp -o code -lm -O2 -DONLINE_JUDGEC的编译器是 gcc 4.8.2,编译命令:gcc code.c -o code -lm -O2 -DONLINE_JUDGEPascal的编译器是 fpc 2.6.2,编译命令:fpc code.pas -O2 (以上来自“yzoi测评系统说明” 2010-15 
YZOI 
Yizhong Olympiad in Informatics - Online Judge System.)
好了,在扯淡完成后,谈谈我对YZOI3.0的感受。众所周知(。。。),yzoi曾经有并有过2个历史版本,如下图所示:

下图:yzoi1.0 下图:yzoi2.0 下下图:yzoi3.0

好了, 关看图忘记说话了。YZOI3.0版本对界面有很大的改善,给我的直观印象是:AC的图标更萌了。。。
另外,在功能上也有较大的改善,比如说:
1、支持编辑的功能更多了

2、可以直接查看程序提交状况了

3、个人界面更友善了

但同时我也要吐槽一下 为毛现在开20000000就爆内存了,然后在评测界面却没有任何标识,如下图所示


3、资源分享
清华梦之队讲课 资料
http://share.weiyun.com/8cef59c038dd68f6cda1ff9d97bd5d45 
BZOI大部分题目题解
http://share.weiyun.com/cda35632ff5670c2394129725f11249e 
usaco题解
http://share.weiyun.com/2f8caa1815004ca1e1707705e78f93b9 
YZOI2.0纪念版(链接7天有效)
http://share.weiyun.com/05dadb445521731b1ba9c1c8a209870d 
我辛苦从ftp上摸来的背包教程
http://share.weiyun.com/904637161a24b9394f26cc7865c7fe93 以及我幸苦打下的vijos1055的代码

 
  1 #include<iostream>
  2 #include<algorithm>
  3 #include<cstdio>
  4 using namespace std;
  5 const int maxn=5000+10;
  6 struct node
  7 {
  8     int x;
  9     int y;
 10 }p[maxn];
 11 int l,w,n;
 12 int maxy,miny;
 13 int maxans=0,s=0;
 14 bool comp(node a,node b)
 15 {
 16     return(a.x<b.x);
 17 }
 18 bool comp1(node a,node b)
 19 {
 20     return (a.y>b.y);
 21 }
 22 void qsort(int left,int right)
 23 {
 24     int i=left,j=right;
 25     int mid=p[(left+right)/2].x;
 26     while(i<=j)
 27     {
 28         while(p[i].x<mid)
 29             i++;
 30         while(p[j].x>mid)
 31             j--;
 32         if(i<=j)
 33         {
 34             int temp=p[i].x;
 35             p[i].x=p[j].x;
 36             p[j].x=temp;
 37             i++;
 38             j--;
 39         }
 40     }
 41     if(i<right)
 42         qsort(i,right);
 43     if(j>left)
 44         qsort(left,j);
 45 }
 46 int main()
 47 {
 48 //  freopen("happy.in","r",stdin);
 49 //  freopen("happy.out","w",stdout);
 50     cin>>l>>w;
 51     cin>>n;
 52     if(n==0)
 53     {
 54         cout<<l*w<<endl;
 55         return 0;
 56     } 
 57     for(int i=1;i<=n;i++)
 58         cin>>p[i].x>>p[i].y;
 59     sort(p+1,p+n+1,comp);
 60 //  qsort(1,n);
 61     int dx,dy;
 62     for(int i=1;i<=n;i++)
 63     {
 64         miny=0;
 65         maxy=w;
 66         s=0;
 67         for(int j=i+1;j<=n;j++)
 68         {
 69             dx=p[j].x-p[i].x;
 70             dy=maxy-miny;
 71             s=dx*dy;
 72             maxans=max(s,maxans);
 73 //          if(p[j].y==p[i].y)
 74 //          {
 75 //              break;
 76 //          }
 77 //          if(p[j].y>p[i].y&&p[j].y<maxy)
 78 //          {
 79 //              maxy=p[j].y;
 80 //          }
 81 //          if(p[j].y<p[i].y&&p[i].y>miny)
 82 //          {
 83 //              miny=p[j].y;
 84 //          }
 85             if(p[j].y>=p[i].y && p[j].y<maxy) 
 86                 maxy=p[j].y;
 87             if(p[j].y<=p[i].y && p[j].y>miny) 
 88                 miny=p[j].y;
 89         }
 90         dx=l-p[i].x;
 91         dy=maxy-miny;
 92         s=dx*dy;
 93         maxans=max(s,maxans);
 94     }
 95     for(int i=n;i>=1;i--)
 96     {
 97         maxy=w;
 98         miny=0;
 99         s=0;
100         for(int j=i-1;j>=1;j--)
101         {
102             dx=p[i].x-p[j].x;
103             dy=maxy-miny;
104             s=dx*dy;
105             maxans=max(s,maxans);
106 //          if(p[i].y==p[j].y)
107 //          {
108 //              break;
109 //          }
110 //          if(p[j].y>p[i].y&&p[j].y<maxy)
111 //          {
112 //              maxy=p[j].y;
113 //          }
114 //          if(p[j].y<p[i].y&&p[j].y>miny)
115 //          {
116 //              miny=p[j].y;
117 //          }
118         if(p[j].y>=p[i].y && p[j].y<maxy) 
119                 maxy=p[j].y;
120         if(p[j].y<=p[i].y && p[j].y>miny) 
121                 miny=p[j].y;
122         }
123         dx=p[i].x;
124         dy=maxy-miny;
125         s=dx*dy;
126         maxans=max(s,maxans);
127     }
128     sort(p+1,p+n+1,comp1);
129     for(int i=1;i<=n;i++)
130     {
131         if(i==1)
132         {
133             dy=w-p[i].y;
134             s=l*dy;
135             maxans=max(maxans,s);
136         }
137         else if(i==n)
138         {
139             dy=p[i].y;
140             s=l*dy;
141             maxans=max(maxans,s);
142         }
143         else
144         {
145             dy=p[i-1].y-p[i].y;
146             s=l*dy;
147             maxans=max(maxans,s);
148         }
149     }
150     cout<<maxans<<endl;
151     return 0;
152 }

 

转载于:https://www.cnblogs.com/luowenqing/p/4372640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值