算法
非幡动
玩手机的罢了
展开
-
约瑟夫问题
约瑟夫环使用数组或迭代#include<iostream>#include<stdio.h>using namespace std;int yuesefu(int n,int m){ if(n == 1){ return 0; //这里返回下标,从0开始,只有一个元素就是剩余的元素0 } else{ return (yuesefu(n-1,m) + m) % n; //我们传入的n是总共多少个数原创 2022-03-11 15:34:39 · 152 阅读 · 0 评论 -
图的算法模板(一)
在复习图部分,发现很多之前难以理解的问题现在可以理解了。部分代码模板如下。拓扑排序 topsort【一】针对有向无环图(DAG),只有有向无环图才能有拓扑排序。一个有向无环图一定至少存在一个入度为零的点。将所有入度为零的点入队每次取出队列中的点枚举所有出边并删掉这条边,如果d[j]为零表示前面的所有点都已经排好序了#include <iostream>#include <cstring>#include <algorithm>using nam原创 2021-08-02 21:44:51 · 128 阅读 · 0 评论 -
C++的排序和全排列
做题的时候发现都不记得了…然后翻OneNote发现自己做了笔记,附上来,重新复习一下=-=俗称->清库存排序——sort()函数sort函数是对给定区间所有元素进行排序。头文件:<algorithm>语法描述:sort ( begin , end , cmp ),cmp参数可以没有,如果没有默认非降序排序。sort ( begin , end ) 排的是[begin , end)这个区间的元素例a[]={3,2,1}sort(a,a+3);结果a[]={1,2,3}cm转载 2020-05-22 19:14:28 · 533 阅读 · 0 评论 -
牛客算法竞赛入门班笔记整理-01
笔记整理 - 1课程笔记一些零碎的知识2n <= n! <= nn108->超过了可能会tle231 - 1 = 2147483647long long -> 263-1unsigned -> 232-1计算变量所占的空间8位二进制 = 1个字节1024字节 = 1KB1024KB = 1MB1024MB = 1GB比赛时题目的空间限制位为512M,在没有递归等其他消耗下,且只需要开一个int型的数组,那么这个数组最大可以开到什么数量级512 *原创 2020-05-18 11:20:37 · 1016 阅读 · 0 评论 -
博弈论(1)——巴什博弈
参考博客一、巴什博弈(Bash Game,同余理论):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者肯定获胜。原创 2020-05-17 10:15:07 · 9194 阅读 · 0 评论