蒟蒻从零开始学习的日记

· · 个人记录

本人计算机/软件博三老狗,按理说早过了打各种比赛的年纪,但最近基于一些和大家都不一样的原因,高考出身的本人走上了不知道有什么用的OI之路。基础只有从本研的课程(数据结构、线性代数、组合数学等)中零零散散得到的,学习方法则是接着零散地获得知识(毕竟早不可能有老师系统性地教我了),和刷科目一科目四一样:直接嗯刷题,想不出来就看题解,学习上面的前置知识、算法等,然后像戴佳伟打竞技场一样写小日记(希望不要写出互相矛盾的内容吧!)。我需要记录的内容可能早已刻进大佬们的DNA,大佬看到请小点声笑!

2022年8月22日及以前

斐波那契数列相关:

组合数学相关:

2022年8月23日

碎碎念:

2022年9月1日

paper deadline...好久没空刷题了

DP相关:

2022年9月5日

碎碎念:

2022年9月8日

数论相关(本来日记的定位是每天小技巧,结果今天重点学了一下数论后变成长篇大论了):

2022年9月12日

碎碎念:

关于生成树:

2022年9月13日

关于二分(从绿题题解学到的,做了好些紫题却至今有做不出来的绿题,足以说明我在xjb学,知识树点得一团糟):

关于DP:

2022年9月17日

关于数论:

i^{-1} \equiv \lfloor\frac{p}{i}\rfloor * (p \ mod \ i)^{-1} (mod \ p) 2022年10月5日 离散化(之前想了个特别蠢的又set又map,把[P1774](https://www.luogu.com.cn/problem/P1774)这种水题都整TLE了,而正确方法还挺绕,直接在这放代码吧): ``` std::cin >> size; for(int i = 0; i < size; i++) { std::cin >> raw_arr[i].value; raw_arr[i].id = i; } std::sort(raw_arr, raw_arr + size); for(int i = 0; i < size; i++) arr[raw_arr[i].id] = i; ```