![](https://img-blog.csdnimg.cn/5c638cc6fffc4cd3ad0851025afab3ce.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法竞赛笔记
做算法题或比赛中的总结。
FengLing255
这个作者很懒,什么都没留下…
展开
-
组合数算计方法 杨辉三角、阶乘逆元、卢卡斯定理
模板题VJudge: Pink Elephants输入m, n求解Cnm%pC^m_n\%pCnm%p杨辉三角0≤m≤n≤10000\le m \le n \le 10000≤m≤n≤1000 , 1≤p≤1e91 \le p \le 1e91≤p≤1e9 时使用int dp[250][250];const int p = 1000000007;signed main() {//#ifdef LOCAL freopen("input.txt", "r", stdin);原创 2021-07-25 10:45:57 · 144 阅读 · 0 评论 -
由数据范围反推算法复杂度以及算法内容
一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在 10710^7107 ~ 10810^8108 为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:n≤30n≤30n≤30, 指数级别, dfs+剪枝,状态压缩dpn≤100n≤100n≤100 => O(n3)O(n^3)O(n3),floyd,dp,高斯消元n≤1000n≤1000n≤1000 => O(n2)O(n^2)O(n2),O(n2logn)O(n^2logn)转载 2021-06-28 22:49:31 · 89 阅读 · 0 评论 -
单调队列模板
题面代码#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <queue>using namespace std;struct Node{ int index; int num; Node(int index, int num) :index(index), num(num) {};};deque<Nod原创 2021-03-30 12:49:42 · 73 阅读 · 0 评论 -
算法竞赛中“^1”的作用
偶数 ^ 1 == 偶数 + 1奇数 ^ 1 == 奇数 - 1测试程序:int main(){ printf("%d\n", 12345 ^ 1); printf("%d\n", 22222 ^ 1); return 0;}输出:1234422223原创 2021-03-18 20:24:16 · 4829 阅读 · 0 评论 -
Visual Studio 使用dfs算法栈溢出解决办法
问题来源最近一直在刷算法竞赛的题玩,遇到一道dfs题(UVA1103),跑自己写的程序提示栈溢出,于是我不断优化自己的算法,做了大量的测试。这道题卡了我好几天,最后实在想不出来遂放弃。我用刘汝佳大佬的代码跑也提示栈溢出。我意识到不是我的代码有问题而是我的本地环境有问题。解决办法我平时用VS练习。项目属性-链接器-系统-堆栈保留大小调整为160000000(代表16G内存),问题得到解决。TODO由于我也是个新手,并不清楚这是否是最好的解决办法,这种方法是否适用于生产,这是否会有什么风险。还望各原创 2021-03-02 23:36:59 · 1058 阅读 · 0 评论