搜索
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
幸运数字[容斥原理+搜索]
传送门 其中x为幸运数字我们先预处理出幸运数字 , 然后将之间成倍数关系的去处最后容斥原理奇加偶减统计答案就可以了#include<bits/stdc++.h>#define LL long long#define N 50050using namespace std;LL L,R,a[N],cnt,b[N],tot,ans;void Init(LL u...原创 2018-11-23 22:49:55 · 279 阅读 · 0 评论 -
cost数[容斥原理][搜索]
https://blog.csdn.net/forever_dreams/article/details/83618949%%% gsj神仙 %%% #include<bits/stdc++.h>#define N 40#define ll long longusing namespace std;int n,m,a[N],ans;bool cm...原创 2018-11-01 22:55:03 · 232 阅读 · 0 评论 -
sequence[迭代加深]
https://blog.csdn.net/qq_42835823/article/details/83621543%%% cxr神仙 %%% #include<bits/stdc++.h>#define N 5005using namespace std;int m,d,ans[N],flag;bool dfs(int u,int x){ if(u>...原创 2018-11-01 22:19:09 · 113 阅读 · 0 评论 -
密码[双向搜索][STL[unordered_map]]
双向搜索将前一半所有的存下来, 在枚举后一半,枚举完后一半后找前一半的数组是否存在 k-(后一半)存在,则ans加上(k-后一半)的个数这里用unordered_map来存unordered_map #include<bits/stdc++.h>#include<tr1/unordered_map>#define N 50#define ll...原创 2018-11-01 21:47:38 · 167 阅读 · 0 评论 -
[SDOI2010]魔法猪学院[k短路][A*]
题目描述iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练。经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的;元素与元素之间可以互相转换;能量守恒……。能量守恒……iPig 今天就在进行一个麻烦的测验。iPig 在之前的学习中已经知道了很多种元素,并学会了可以转化这些元素的魔法,每种魔法需要消耗 iPig 一...原创 2018-10-25 22:41:02 · 145 阅读 · 0 评论 -
塔[贪心][搜索]
小 A 想搭一个体积不超过 m 的塔,他有各种大小的立方积木,比如边长为 a 的积木,体积为 a^3,现在小 A 需要你给一个 X,每次小 A 会用一个体积不超过 X 的最大积木,依次到搭好为止,现在他想最大化积木的个数,同时在积木个数最大的情况下使 X 最大。【输入描述】 一行一个数 m【输出描述】 一行两个数,最多积木数以及 X。【输入样例】48【输出样例】9 42【...原创 2018-09-22 17:31:46 · 285 阅读 · 0 评论 -
The Buses[迭代加深][剪枝]
DescriptionA man arrives at a bus stop at 12:00. He remains there during 12:00-12:59. The bus stop is used by a number of bus routes. The man notes the times of arriving buses. The times when buses ...原创 2018-09-20 22:40:51 · 585 阅读 · 0 评论 -
靶形数独[搜索][位运算]
题目描述小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低。但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教,Z 博士拿出了他最近发明的“靶形数独”,作为这两个孩子比试的题目。靶形数独的方格同普通数独一样,在 9 格宽×9 格高的大九宫格中有9 个 3格宽×3 格高的小九宫格(用粗黑色线隔开的)。在这个大九宫格中,有一些数字是已知...原创 2018-09-19 23:40:23 · 368 阅读 · 0 评论 -
Power Hungry Cow[A*]
给出n,求x^n。最先给出的两个数为x^1和x^0,可以执行如下操作:两个数相乘,其中一个数平方,两个数相除。问要达到x^n的最少步数。分析每一个状态是由最多两个数转化而来的,所以可以把两个数看做一个状态。我们假设 {x,y,g,h} x为当前状态较大的数,y为较小的g为到当前状态的步数,h为至少还需要多少步(x自乘最少要多少次)用优先队列取出g+h最小的,然后增广当第一次...原创 2018-09-24 11:22:07 · 282 阅读 · 0 评论 -
IDA*
A* 和 IDA* 听起来高大上简单来说就是搜索的一个优化,通过一个估值函数让搜索不往不必要的地方发展A*是用在BFS上的IDA*是用在DFS上的A*=优先队列+估价函数IDA=迭代加深+估价函数如果当前深度+估计还要的深度>限制深度 那就直接return 了估价函数要区好,要尽量接近实际深度且不超过实际深度迭代加深例题 埃及分数描述在古埃及,人们...原创 2018-08-28 22:19:10 · 7435 阅读 · 0 评论 -
A*(第k短路)
如果给定一个“目标状态”,需要求出从初态到目标状态的最小代价,那么优先队列BFS的这个“优先策略”显然是不完善的。一个状态的当前代价最小,只能说明从起始状态到该状态的代价很小,而在未来的搜索中,从该状态到目标状态可能会花费很大的代价:另外一些状态虽然当前代价略大,但是未来到目标状态的代价可能会很小,于是从起始状态到目标状态的总代价反而更优。优先队列BFS会优先选择前者的分支.为了提高搜索效率,...原创 2018-08-27 22:54:21 · 2288 阅读 · 1 评论