“那段时光就像块透明的琉璃,美得那么虚幻、飘渺。可是它毕竟在我生命里闪现,哪怕如萤光一样微弱,却照亮了我整个心房。”
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 }