2022暑假集训日结
2022暑假集训日结
猪国杀
猪国杀 写后感
——或许也是一篇题解原题链接:P2482 [SDOI2010] 猪国杀
在开始进行这项百年工程之前,请确保你仔细阅读了题目并对它有足够的热情.那么我再强调一下本题中容易忘记的小点,最后解释一下我的代码实现.
Part 0 : 大体思路 :
显然用结构体存储每只猪(每位玩家)的状态,手牌部分最直观的显然是链表,但鉴于本题数据规模极小,方便起见直接使用数组会减少很大的编写难度.
遍历每一位玩家的方法则当然是链表更优,便于死亡后的维护.
距离是逆时针的单向距离
牌堆空时每次抽取最后一张牌(大概只对#1有影响)
由于操作多,情况多且很多情况重复出现,本题最适合的写法应是每个功能至少封装到一个函数中,便于后期debug(不会有人能一遍过这道题吧).debug部分对于C++来说显然可以巧妙运用预处理指令,便于debug的开关.例如我的debug部分开关如下 : 12345678910111213141516171819202122232425262728293031323334353637// Using this system to debug : // The ...
类欧几里得算法学习笔记
类欧几里得算法因为柿子较长所以本文推荐全屏阅读
是什么 :
类欧几里德算法是由洪华敦在 2016 年冬令营营员交流中提出的内容,其本质可以理解为,使用一个类似辗转相除法来做函数求和的过程。
为什么 :因为要考,可以用来解决一些计数问题,尤其是遇到下取整符号时。
能在计数的求和中避免运算和式而转化成递归,把一个 $O(n)$ 直接降成 $O(\log n)$ 真的是太强大了。
一般形式的代码很好写,或许可以拿来爆标(
怎么做 :就推柿子就完了,没什么难的.
比如这里先放一个oi——wiki的链接 : 类欧几里德算法
step1 :求:
\sum_{i= 0}^{n} \left \lfloor \frac{ai + b}{c} \right \rfloor首先,设 :
{\Large f(a,b,c,n) = } \sum_{i= 0}^{n} \left \lfloor \frac{ai + b}{c} \right \rfloor其中$a$,$b$,$c$,$n$都是已知的常数,类欧几里得算法可以做到在$O (\text{log n} )$的时间内求出答案那 ...
数论函数总结
数论函数总结——数论函数就是研究正整数性质的函数
——在数论上,指定义域为正整数、陪域为复数的函数
参考博客:基础数论复习,数论函数(一)
本文主要包含以下几个数论函数及其性质 :
\varphi(x)\space \space \space
\mu(x)\space \space \space
id^k(x)\space \space \space
\tau(x)\space \space \space
\sigma(x)\space \space \space
\varepsilon(x)\space \space \space一、欧拉函数 $\varphi(n)$定义小于$x$的正整数中与x互质的数的个数,即 :
\varphi(n) \sum_{i
生成函数学习笔记
生成函数学习笔记
本文参考博客 : 巨佬的blog
是什么处理排列组合问题的有效工具,可以应对巨大无比的$n$(比如$1e9999 \sim 1e10000 $)(luoguP2000)在百度百科上定义如下 :
生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。最早提出母函数的人是法国数学家LaplaceP.S.在其1812年出版的《概率的分析理论》中明确提出。 生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。 生成函数的应用简单来说在于研究未知(通项)数列规律,用这种方法在给出递推式的情况下求出数列的通项,生成函数是推导Fibonacci数列的通项公式方法之一。 另外生成函数也广泛应用于编程与算法设计、分析上,运用这种数学方法往往对程序效率与速度有很大改进。
在维基百科上定义如下:
在数学中,某个序列(an)n∈N 的母函数(又称生成函数,英语:Generating function)是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。
简单来说,就是对于一个已知的数列,使用一个函数来表示他,其中$x ^ i$对应的 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
Create articles1$ hexo new article
More info: articles
View ...