Komorebi
首页
文章
标签
关于
友链
博弈
Bash游戏(同余):有一堆石子共有N个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比赛。 小学的时候沉迷的游戏… 如果n可以整除k+1的话,B有必胜策略,只要报k+1-A报的数就可以了。 如果不整除的话,由于A先手,所以A就胜了。 Nim游戏(异或):有N堆石子。A B两个人轮流拿
2018-01-25
学习
二进制相关
枚举正负数十进制转二进制(位运算)(用枚举法做POJ1222) #include<stdio.h> int main() { int x,i; scanf("%d",&x); for(i=5;i>=0;i--) printf("%d",x>>i&1); printf("\n"); ret
2018-01-25
学习
容斥原理&&欧拉函数
容斥原理求出一个数n在区间[1,m]里面有多少个数与它互质。假设数据不超过int型。 实现过程分为两步: 1.求出m的质因子 并保存在数组里面; 2.求出区间[1,n]里面有多少个数与m不互质。 二进制法: 出现奇数个数,就用加法,偶数个数用减法。设质因数的个数为m。有一个数字,它的二进制的每一位表示用了哪些数字,比如5(101),其二进制的第一位和第三位(倒着数)是1,则它表示用了第一个质因数和
2018-01-25
学习
STL相关
优先队列的优先级设置priority_queue<int> 大顶堆 priority_queue<int, vector<int>, less<int> > 大顶堆:表示其他都比堆顶小 //>和>之间有空格 防止辨认为输入符号 priority_queue<int, vector<int>, greater<int
2018-01-25
学习
二叉树
二叉搜索树 它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 567432和543267都长这样: 二叉树的前序遍历(给出的是二叉搜索树序列) 遍历顺序规则为【根左右】12457836 struct node { char
2018-01-25
学习
搜索DFS&BFS
BFS(Breath First Search)广度优先搜索(假装有个图片) 代码实现: #include<queue> using namespace std; void bfs() { int map[][]; //地图 int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1};
2018-01-25
学习
递归
N皇后问题:
2018-01-25
学习
set容器的一些用法
erase(iterator) ,删除定位器iterator指向的值 erase(first,second),删除定位器first和second之间的值 erase(key_value),删除键值key_value的值 #include <iostream> #include <set> using namespace std; int main() {
2018-01-25
学习
排序算法
插入排序(稳定)void insertsort(int a[],int n) { int i,temp; for(i=1;i<n;i++) { temp=a[i]; for(j=i-1;j>=0&&a[j]>temp;j--) a[j+1]=a[j];
2018-01-25
学习
枚举
遇到熄灯问题、特殊密码锁等各个数字之间有关联的问题时,只需先考虑第一个东西的情况。 遇到称东西称出哪个是次品时,假设哪一个是次品进行枚举。
2018-01-25
学习
1
…
20
21
22
23
Search
×
keyword