fibonacci的记忆化搜索
#include<cstdio> #include<algorithm> #include<iostream> using namespace std; const int maxn = 100000; int dfs(int num); int map[maxn]={0}; int main() { int num; while(~sca...
#include<cstdio> #include<algorithm> #include<iostream> using namespace std; const int maxn = 100000; int dfs(int num); int map[maxn]={0}; int main() { int num; while(~sca...
题目一:hdu1846问题描述各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的:1、 本游戏是一个二人游戏;2、 有一堆石子一共有n个;3、 两人轮流进行;4、 每走一步可以取走1…m个石子;5、 最先取光石子的一方为胜;如果游戏的双方使用的都是最优策略,请输出哪个人能赢。巴什博弈只有一堆n个物品,双方轮流从这堆里取出物品,规定每次至少取1个,最多取m个,先取完者获胜。1...
线段树用于区间查询和修改,优化其时间复杂度区间长度为len = 10,每个节点 l 和 r表示区间l-r的,根节点为1-10对于每个节点,左孩子的区间为: [ l - (l+r)/2 ]右孩子的区间为: [(l+r)/2+1 - r]可以用数组来表示这棵二叉树树的深度为 logn修改和查询:将第v个数值加x 若 v = 3 ,x =5从根节点开始,将[1-10]里的sum值更新,3在左孩子...
二分法二分模板:查找给定n个数,然后询问m次,找个数在不在这个递增数列里,在就返回这个值,不在就返回-1. 测试样例: 5 2 5 6 9 10 4 9 6 4 10#include <iostream> using namespace std; const int N = 1e4 + 9; int a[N], n, m; int binary_search(int x){ ...
埃氏筛法求素数全称,埃拉托斯特尼筛法。一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做素数;否则称为合数。每个合数都可以写成几个质数相乘的形式,这几个质数就都叫做这个合数的质因数。试除法:O(√n)Eratosthenes筛法: O(nlogn)欧拉筛:接近O(n)#include <iostream> using namespace std; bool is_p...