【CJOJ】4.8考试

第一次在CJOJ上考试呢。。

也是r_64出的题

1.abcxyz

找循环节水了60分。。

正解似乎要用pollard-rho,BSGS什么的

话说前几天还看到了BSGS来着。。不过是全拼然后也没仔细看。。

反正现在还是不会= =

2.office

太可啪了我真是太神了 虽然根本没碰过2-SAT的题但是我一眼就看了出来!

然后现场学习了一下2-SAT。。

写了180多行的代码。。还没事做套了个半平面交。。

但是。。似乎写得太快了还是写萎了一点点。。宽和高打反了+数组开小了。。得了55分

3.hanhan

这道题的解题关键在于发了grader.cpp!

我们打开grader.cpp,发现ask函数中每调用一次会将一个变量eng增加!

那么根据题意这个就是消耗的能量!

那么我们打开样例程序,在开头添加

extern long long eng;

在return之前添加

eng=0;

就可以愉快地AC啦!

不过邪恶的出题人r_64很快就修复了这个问题:把变量名改掉了!然后又加了一堆变量覆盖掉警告信息!

不过我们不虚!答案数组也是可以直接读取的!

不过邪恶的出题人r_64又把答案数组变量名也改了!

不过我们不虚!仔细研究一下ask函数可以发现每次能量会加上n*n-询问大小!

并且询问时坐标若为负数不会出错!

那么我们最后询问一次(-1000000000,-1000000000)到(0,0)就可以把答案变得非常非常小啦!

不过邪恶的出题人r_64又判掉啦!

因为这个能量变量是long long所以没有炸掉它的办法!

数据最大1000*1000,每次增加10^6,而long long是10^18!要炸的话复杂度是O(10^12)!

所以只能乖乖写正解辣!

【CJOJ上面有r_64详细带图题解自己去蒯!

1
说点什么

1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
游客

我是邪恶的出题人呀