Go中的协程
goroutine每一个并发执行的活动称为goroutine。通过go 函数调用启动一个goroutine: 1go foo() 也可以(并且很多情况下)结合匿名函数使用: 123go func() { // greatful work}() 一个常见的陷阱是把for循环里 ...
Read more
手把手教你搭建一个自己的QQ机器人 in Golang
QQ机器人是怎么回事呢?QQ相信大家都很熟悉,但是QQ机器人是怎么回事呢?QQ机器人,其实就是能够接收QQ消息并自动回复的机器人程序,这就是关于QQ机器人的事情了。 好了,今天要介绍的就是一个QQ机器人(bot)框架——mirai。mirai 是一个在全平台下运行,提供 QQ Android 和 T ...
Read more
数据结构板子 in Golang
线段树区间求和、区间加1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 ...
Read more
日语中的6种动词活用
未然形表示动作还没有发生的形式。 规律: 五段动词:词尾「う」段假名变为「あ」段假名(例外:「ある」→「ない」) 一段动词:去掉词尾的「る」 カ変:「くる」→「こ」 サ変:「する」→「し」 用法: 后接助动词「ない」构成「ない形」 后接助动词「れる/られる」构成「可能形」 后接助动词「せる/さ ...
Read more
关于线段树的一些笔记
下述的各种名词都是我自己编的,因为实在没找到资料。 无标记型通常只有只有单点修改操作,无区间修改操作时才用无标记型线段树。 相比于树状数组来说,线段树更加灵活。因为树状数组需要同时满足区间信息加和信息减,而线段树只需要满足区间信息加。举个例子,区间求和是满足的,因为知道区间$[a,b]$和$[a,c ...
Read more
数据结构和算法模板 in C++
不知道我还有没有搞竞赛的那一天了(悲) 数据结构树状数组普通版树状数组(单点加、区间求和)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354// htt ...
Read more
【CSP-201903】消息传递接口
明明是一道暴力就能过的水题的,却因为优化思路错了导致一直RE。 只要模拟一下协程的工作原理就好,每次只处理一条线程的一条指令,然后换到下一条线程。 具体实现:开n条队列,读入时把相应的指令全部压到队列中。然后不断地扫这n条队列处理队列头部的指令。如果该指令的目标的队列头部的指令恰好能够和该条指令匹配 ...
Read more
【CSP-201909】推荐系统
数据结构题,也可以说是STL题。 由操作三我们可以想到用m个set(平衡树)来分别维护不同分类的产品的优先度。查询的实现就用一个prority_queue(堆),初始时把每个非空分类下的第一个产品扔到堆里,每次取堆头加入答案并把该产品所在分类的下一个产品加入堆。用迭代器就可以实现。 但是操作一和二我 ...
Read more
【CSP-201909】字符画
大模拟,到处都是坑我快哭出声了。 用空格来充当像素点; 如果下一个像素的颜色与当前颜色不同,则需要变换背景色; 如果要变换的色与默认色相同则用\033[0m指令,否则用\033[48;2;r;g;bm指令; 每次换行前都要把背景色复原; 计算平均颜色时要用unsigned long long防止溢 ...
Read more
【CSP-201903】损坏的RAID-5
给一个RAID5的模型,直接模拟就好。如果要读取的数据所在硬盘没坏就直接读;如果坏了并且只有这一块硬盘是坏的,那就可以通过异或计算出数据;否则就没法读了。 难点大概就是专业词汇太多,读起来太吃力了。 12345678910111213141516171819202122232425262728293 ...
Read more