摘要:
快速幂 似乎没什么好写的,直接看代码部分 #include<cstdlib> #include<cmath> #include<ctime> #include<cstring> #include<iostream> #include<algorithm> using namespace std; l 阅读全文
摘要:
树状数组 一、引入 解题过程中,有时我们需要维护一个前缀和,s[i]=a[1]+a[2]+a[3]+...+a[i] ,容易发现,当我们修改a[i]时,s[i+1],s[i+2]都会随着改变 时间复杂度O(n),因此我们引入树状数组,它的修改和求和都是O(logn) 二、思想及代码实现 A是原始数组 阅读全文
摘要:
深搜的剪枝技巧 不会搜索的这里→搜索与回溯 一、什么是剪枝 剪枝,顾名思义,就是通过某种判断,避免一些不必要的搜索。在编写程序时,一般都要考虑剪枝 显而易见,优化的核心在于设计剪枝判断方法决定哪些应该舍去,那些不该舍。 二、剪枝原则 正确性:剪枝的目的是优化程序,但如果将正解减去,那优化就失去意义了 阅读全文