SPOJ ONEZERO(搜索)】的更多相关文章

搜索的好题,,,, 摘自题解: 题意: 给一个数n,求n 的最小的倍数,满足它的10进制 表示中每一位不是0就是1. 思路: 用f(x)表示被n整除取模后的最小数,那么从0开始,每次往后添0或者1,如果得到的数与某个已经得到的数同余,就扔掉,不然就加入队列中继续搜... 时间复杂度O(N). 代码如下: #include <cstdio> #include <cstring> #include <string> #include <queue> #inclu…
[BZOJ3769]spoj 8549 BST again Description 求有多少棵大小为n的深度为h的二叉树.(树根深度为0:左右子树有别:答案对1000000007取模) Input 第一行一个整数T,表示数据组数. 以下T行,每行2个整数n和h. Output 共T行,每行一个整数表示答案(对1000000007取模) Sample Input 2 2 1 3 2 Sample Output 2 4 HINT 对于100%的数据,1<=n<=600,0<=h<=60…
Waca loves maths,.. a lot. He always think that 1 is an unique number. After playing in hours, Waca suddenly realize that every integer can be represented by digit '1', plus operator and minus operator. For example, 1534 can be represented as 1111 +…
思路1:字典树存每个串,然后dfs遍历是否存在.这里有个技巧,如果每次都重新初始化字典树为-1,那么会超时,所以我先初始化为-1,然后设一个Case,每个test时Case都++,那么只要开一个数组判断是否等于Case,如果等于就说明有这条路,不等则没有.这道题用字典树做要注意剪枝. 思路2:这道题能随机看命过 代码1: #include<queue> #include<cstring> #include<set> #include<map> #includ…
UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vector> #include<cmath> #include<map> #include<algorithm> #include<cstring> #include<cstdio> #include<cstdlib> #include…
点分治 点分治的例题2(本题代码结果为TLE……) 强烈谴责卡时限QAQ,T了无数次啊无数次…… 不过在N次的静态查错中倒是加深了对点分治的理解……也算因祸得福吧(自我安慰一下) TLE后的改进:每棵子树在重算f数组的时候,不要完全清空,而是清到最深深度即可.——>WA //SPOJ 1825 #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include…
题意 将1~N(1<=N<=10^15)写在纸上,然后在相邻的数字间交替插入+和-,求最后的结果.例如当N为12时,答案为:+1-2+3-4+5-6+7-8+9-1+0-1+1-1+2=5. 思路 花了一上午时间调BUG--必须承认SPOJ上的好题很多~每次做都有很大收获-- 我发现原来记忆化搜索的数位DP不止可以做统计,还可以做计算.我们应该把记忆化搜索形式的数位DP理解成一种处理与各位数字有关问题的一种方法,或者也可以延伸到字符串上. 我们可以把数列在纸上写一下: -0 +1 -2 +3…
题意 求[X,Y]区间内能被其各位数(除0)均整除的数的个数. CF 55D 有些时候因为问题的一些"整体性"而导致在按位统计的过程中不能顺便计算出某些量,所以只能在枚举到最后一位确定数字时才能计算相应的统计. 在本题中,我们无法在过程中确定到底有哪些数位,以及这个数本身,所以这些计算都要放在最后.所以首先我们需要参数num传递当前搜索确定的数字,以及判断该数字是否能被其数位整除.而判断各位整除只要数字整除各位数的最小公倍数lcm即可. 但我们随后发现了问题:各位数最小公倍数最大可能为…
目录 Meet in the Middle 总结 1.算法模型 1.1 Meet in the Middle算法的适用范围 1.2Meet in the Middle的基本思想 1.3Meet in the Middle的算法过程 1.4Meet in the Middle的时间复杂度分析 2.代码实现 例题 [SPOJ ABCDEF] 法1: 结果合并法 法2:哈希表 法3:map 3.扩展运用 [BZOJ 4800] 冰球世界锦标赛 [POJ 1186] 方程的解数 [BZOJ 2679]…
非常好的题!和spoj 的 Mobile Service有点相似,用记忆化搜索很容易解决 看了网上的题解,也是减掉一维,刚好可以开下数组 https://blog.lucien.ink/archives/224/ #include<bits/stdc++.h> using namespace std; #define maxn 2005 int n,A[maxn],B[maxn]; ][][][]; //状态:准备去拉第i个人,当前在cur楼,另外三个人的目标楼层是abc int dfs(in…