Skip to main content
  1. Posts/

2015亚洲区域赛北京站总结

·4 mins
Note: This article is available in Chinese only. 本文暂无英文版本。 View original

热身赛的时候发现没有codeblocks瞬间爆炸…我从暑假开始用的vim还好…不过两个队友平常用codeblocks的。。

还好有热身赛。。然后cch晚上强行学emacs。。。最后现场赛的时候我用vim写。。队友用emacs写2333

键盘有些别扭。。。上面是日文还是注音。。。看不懂==

总按错。。。

然后竟然有201个队。。。  才90个牌子。。。尼玛竟然不按比例来。。。55%的打铁率是闹哪样。。。

当得知这个消息的时候。。我们的内心真的是崩溃的。。。没有常用的cb其实已经够不爽的了(可以现学其他,但是总归是不熟练呀)

本来就觉得自己没底。。。这样更感觉要打铁了。。。

当时我们已经相互安慰了好么。。。。尽力就好尽力就好2333

** **

比赛开始以后先是zcy和cch读题。。。我先配了一发vim环境。。。写了几个常用的。。。然后把编译和运行设置成了快捷键。。

弄好了之后cch发现j可以写。。。然后就写了j..

然后我看了G。。。发现是个水。。几乎是原题? 白书上那个是三个矩形。。。这个是四选三。。。

不过抱着看到熟悉的题更要细心的精神。。。我又仔细读了遍题。。。发现确实水,貌似G才是签到?(然而并不是

这时候cch写完了J不过在调。。。

*然后我就在草稿纸上把G仔细列了下。。。好像一共(8+12)4种情况的样子。。。

这时候CCH交了一发J。。。竟然WA了。。。然后我表示把代码打出来吧我要写G。。。

然后大概写到一半…?  cch表示找到写错的地方了。。。于是改J。。

又WA。。。有点方啊。。。然后在机器上debug一会。。。还是有问题。。。

我表示让我先过了G再说吧。。。

然后我大概花了10分钟写完了G。。。交。。卧槽竟然交成了gcc,幸好CE不算罚时。

再交,A了。。

然后CCH发现J题意理解错了(J我没读。。。不过后来发现好多人吐槽J题题意不清而且不好理解。。。朝鲜队WA了好多发)

然后改,再交,终于A了。。。这时候大概过了一个小时? 不那么慌了。。。

然后继续开新题。。。我看了F。。计算几何。。。因为赛前一直在刷计算几何。。结果想了半小时的样子…?发现好难。。放弃了。。

这个时候CCH和 ZCY在讨论D?(我不确定2333) 然后我看了下通过题目。。发现K题有人过。。就去看K了。。。CCH去看了A。。。

这个时候ZCY写了一发D。。。写完之后发现好像想错了QAQ..

看了一会CCH说A就是个二维树状数组,可以搞。 然后他就开始写A。。。

**好像因为树状数组的sum函数忘了 return 而WA了一发。。。? 再交,过了。。。   **

这时候大概是十一点半。。通过三题。。排名大概在80+?


大家一起吃午餐时间,kfc有点良心


然后可以搞的题貌似是K和I。。。

于是我开始搞I。。。

一个构造题。。。

大概弄了二十分钟..? 搞出来了。

感觉剩下的题没有很好搞得…

决定剩下的时间就搞I。。四题应该能稳。。

然后我拿着草稿纸把我的构造方法和CCH讨论了下。。。他表示好像很有道理的样子2333

觉得I可以撸。。。。我问CCH你写我写,我细节题有点虚。。他说他写吧。。。毕竟CCH是我们队实力最强的。。这种时候还是求稳比较好。。。

然后中间好像调了好久。。。 不过反正不方!因为我们剩下的题并没有明显可以搞得。。。于是剩下的时间可以都用来搞I。。。

大概1:35的时候吧。。。I终于调对了(1到10的数据检验了下),交,过了,爽!

然后最后25分钟。。。大家一起搞K。。各种打表试图找规律。。。然并卵。。。因为那是道数位Dp2333  并不会。

当时大概预感到能拿Cu了。。。

不过说真的。。能不能拿Cu我都炒鸡开心。。。

因为并不是抱大腿了。。。我真的特别不喜欢那种抱大腿的感觉。。。

最后72名Cu..  虽然只是块Cu吧。。但是真的炒鸡开心。。。

因为基本上。。我们会的题都做出来了。。。我们想了的但是没有成型思路的题最后发现思路根本就不对。。。

还有几何那道题。。怎么处理交点我实在没想出。。。。。

杜宇飞讲题的时候说“你们都懂得的四道题我就不说了”hhh,我们就是做出了那四道。。。

其实原本打算北京之后就退役的。。。

但是这块Cu真的给我了很大的鼓舞。。不仅仅是ACM。。对于课程内的东西也是鼓舞。。。

这周要忙着应付考试。。。

下个期待大概是十二月份的华师校赛

主要是想见xy妹纸(逃

虽然认识没多久…不过感觉各种聊得来(捂脸

她们队在长春拿了Cu。。。

还好北京我们也Cu了。。。这样才不会被嫌弃QAQ。。。

总之。。111qqz要学的东西还有很多。。。

明年争取拿银!

fighting!

** **

Related

幻方....

·1 min
c语言上机。。。。 c写的幻方。 1/************************************************************************* 2> File Name: code/class/7.c 3> Author: 111qqz 4> Email: rkz2013@126.com 5> Created Time: 2015年11月11日 星期三 19时31分50秒 6************************************************************************/ 7 8#include<stdio.h> 9#include <string.h> 10 11int n; 12int a[105][105]; 13 13 14 15void swap(int *a,int *b) 16{ 17int tmp; 18tmp = *a; 19*a = *b; 20*b = tmp; 21} 22int fix_x( int x,int k,int n) 23{ 24if (k%2==1) 25{ 26if (x==0) 27return n; 28else return x; 29} 30else 31{ 32if (x==n) 33return n+n; 34else return x; 35} 36} 37int fix_y ( int y,int k,int n) 38{ 39if (k<3) 40{ 41if (y==n+1) 42return 1; 43else return y; 44} 45else 46{ 47if (y==2*n+1) 48return n+1; 49else return y; 50} 51// if (y==n+1) 52// return 1; 53// else return y; 54} 55void print() 56{ 57for ( int i = 1 ; i <= n ; i++) 58{ 59for ( int j = 1 ; j <= n ; j++) 60printf("%d ",a[i][j]); 61 61 62printf("n"); 63} 64 64 65} 66 66 67void OddMagic(int n,int x,int y,int k) //k表示4中状态。。。。 68{ 69 69 70int cur ; 71if (k==1) cur = 1; 72if (k==4) cur = n*n+1; 73if (k==3) cur = n*n*2+1; 74if (k==2) cur = n*n*3+1; 75int cnt = 1; 76while (cnt<=n*n) 77{ 78a[x][y]=cur; 79int prex = x; 80int prey = y; 81cur++; 82cnt++; 83x--; 84y++; 85x = fix_x(x,k,n); 86y = fix_y(y,k,n); 87if (a[x][y]) 88{ 89x = prex+1; 90y = prey; 91} 92 92 93} 94 94 95} 96int main() 97{ 98memset(a,sizeof(a),0); 99scanf("%d",&n); 100if (n%2==1) 101{ 102int x = 1; 103int y = n/2+1; 104OddMagic(n,x,y,1); 105} 106else 107{ 108if (n%4==0) 109{ 110for ( int i = 1,num=1 ; i <= n ; i++) 111for ( int j = 1 ; j <= n ; j++,num++) 112a[i][j]=num; 113 114 115for ( int i = 1 ; i <= n ; i++) 116{ 117for ( int j = 1 ; j <= n ; j++) 118{ 119if (i==j||i+j>=n+1) continue; 120int tmp; 121tmp = a[i][j]; 122a[i][j] = a[n+1-i][n+1-j]; 123a[n+1-i][n+1-j] = tmp; 124} 125} 126} 127else 128{ 129int x = 1; 130int y = n/4+1; 131int hn = n/2; 132 133OddMagic(hn,x,y,1); 134OddMagic(hn,x+hn,y,2); 135OddMagic(hn,x,y+hn,3); 136OddMagic(hn,x+hn,y+hn,4); 137 138int m = n/4; 139for ( int i = 1 ; i <= hn ;i++) 140{ 141for ( int j = 1 ; j <= m ; j++) 142{ 143int tmp; 144if (i==m+1&&j;==m) 145{ 146tmp = a[m+1][m+1]; 147a[m+1][m+1] = a[m+1+hn][m+1]; 148a[m+1+hn][m+1] = tmp; 149continue; 150 151} 152tmp = a[i][j]; 153a[i][j] = a[i+hn][j]; 154a[i+hn][j] = tmp; 155// swap(a[i][j],a[i+n][j]); 156} 157} 158 159for ( int i = 1 ; i <= hn ; i++) 160{ 161for ( int j = n ; j>=n-m+2 ; j--) 162{ 163int tmp; 164tmp = a[i][j]; 165a[i][j] = a[i+hn][j]; 166a[i+hn][j] = tmp; 167} 168} 169 170 171 172 173} 174} 175print(); 176 177}