最近在做一道需要用到 gcd 的题,正当我急于回忆 gcd 怎么写时,忽然听说有个叫__gcd()的内置函数。

知乎 上说这是个built-in函数(也许可以简单地理解为内置函数)。

但我对它的时间复杂度一直很担忧,想看看它到底是怎么实现的,便在C++内置库bits/stl_algo.h的 1512 - 1527 行找到可能的实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 /**
* This is a helper function for the rotate algorithm specialized on RAIs.
* It returns the greatest common divisor of two integer values.
*/
template<typename _EuclideanRingElement>
_EuclideanRingElement
__gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
{
while (__n != 0)
{
_EuclideanRingElement __t = __m % __n;
__m = __n;
__n = __t;
}
return __m;
}

bits/stl_algo.h是C++的一个内置库,你引用algorithm库时就会引入这个库

Python 模拟登陆 Hust OJ

前言

最近闲着无聊准备写写Python爬虫,爬一下我们学校的oj用来横向比对做题量。但由于我校OJ对没有登录的账号有浏览限制,因此想要获取数据,就必须要登录账号。以前我一直手动生成Cookie,然后到浏览器里用该Cookie登录,这样的话没过一会儿又要重来比较麻烦。于是我就学习了一下用PythonPOST数据的方式实现登录功能。

说明

  1. 感谢hiuseues大佬对我的指导!
  2. 此处以我校OJ为例
  3. 请不要使用此测试账号(账号来自某外校团队)来浏览我校题目或交题,否则我将把密码改掉
  4. 我习惯于使用Python2写爬虫,主要因为我校电脑和我的VPS预装的都是这个版本。可能会和hiuseues大佬产生代沟,不要在意。当然,这个脚本的核心部分在Python3中完全可以运行,希望这样的话代沟可以小一点。

这其实是一个比赛啊啊啊啊啊!

反正考得超级辣鸡的!

这是我第一次参加ACM类的比赛,估计也是我的第一次写游记吧。
这次参加浙大校赛的,不光有他们大学生,还有各路中学生;同时,我也在队伍里面发现了小学生的踪影(就差幼儿园的了)。
整体的氛围还是比较愉快的,可能是因为三个人一起做题的关系吧,没有OI那么压抑。

这次比赛给了我们一点经验,也让我们看到了很多不足的地方(同时我现场领悟了如何数组模拟链表,thanks to fjk)

欧拉筛求质数

欧拉筛是一种优秀的筛质数方法。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×