- 博客(11)
- 收藏
- 关注
原创 【kuangbin带你飞】简单搜索 HDU2612——Find a way(双路BFS)
Find a wayTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 23878 Accepted Submission(s): 7791 Problem DescriptionPass a year learning ...
2018-08-14 12:56:18
267
原创 【kuangbin带你飞】简单搜索——Catch That Cow(一维BFS)
此题题意是,在一个一维数轴上有一头牛,John现在要把它抓回来。输入n和k两整数,此牛在k位置上,John在n位置上,John可以做三种移动,假设他现在在位置n上,那么他分别可以移动到n+1, n-1, 2*n的位置上,求John抓到牛所需的最小步数。那么此类求最小步长的题目可以想到用BFS求解。先看代码: #include<iostream>#include<...
2018-08-09 10:36:38
203
原创 【HZNU Summer training】CF-816B Karen and Coffee(一维前缀和、差分)
(配图一度让我精神恍惚) 此题此意是,Karen要煮咖啡,但想要知道合适的温度。给出n个温度区间,再给出一个常数k,并做q次询问。如果某个温度在所有区间中出现次数不小于k,就是一个合适的温度。要求输出每次询问的温度区间中有多少合适的温度。 数据的规模导致了这题必定不能暴力。查询次数可能很大,而且区间范围也不小,因此我们需要低时间复杂度的处理和查询。那么就可以使用前缀...
2018-07-25 16:08:49
202
原创 【HZNU Summer training】CF-129B Students and Shoelaces (拓扑排序)
此题的题意是,一个社团里有一些学生,他们互相之间存在联系(即用鞋带互相绑着,好雅兴啊),暴躁的社团负责人要找出那些只和一个人绑着鞋带的学生,然后把他们踢掉,随后回到上一步继续找,问需要踢几轮,才可不能再踢。 起初看到连接关系,还以为是并查集。读完题发现是要剔除无向图的一度顶点,那么自然而然想到拓扑排序,将第一层排出的节点剔除,然后不断重复这个操作,直到没有一度顶点。 ...
2018-07-25 15:42:51
379
原创 【HZNU Summer training】HDU1856 More is Better (并查集最大集合)
此题的题意是,在一个房间里有一堆邻家♂boy,他们互相之间存在着一些py♂关系,你需要找出他们中间最大的一个朋友圈(朋友关系具有传递性),并输出这个朋友圈中的人数。 看到朋友关系很难不想到并查集,但此题要求输出最大集合的元素个数,那么就必须做一些处理。起初我打算处理完输入后再做一遍遍历,找出每个集合的元素个数,最后找出最大值(场面过于暴力)。后来想起这道题数据规模有1e7,暴...
2018-07-25 08:42:15
188
原创 【HZNU Summer training】POJ1651-Multiplication Puzzle(区间DP)
此题在之前的训练中一共出现了三次……然而每次都没能搞懂是怎么回事,非常丢人,这次终于知其所以然。 题意是:给出一串数组,每次取出其中一个数(头尾除外),并把这个数和它两边的数乘积加到结果中,直到所有数被取完为止(除了头尾的数),计算能够得到的最小结果。 这一题需要用区间DP解决。所谓区间DP,即枚举区间长度,在每次枚举的区间中计算,最后区间长度扩散到整个数组时,就可...
2018-07-19 20:56:51
147
原创 【HZNU Summer training】XOR-pyramid(DP)
此题的题意大致是说,给出一个数组,并定义一个运算f(b),这个运算在参数个数大于1时递归地计算相邻参数两两异或的结果,每次迭代都会减少一个参数。题目要求求解这串数组中任意一个片段通过f(b)运算获得的最大结果。 由此看出,异或在此题中只是作为一个运算符使用的,不需要我们去理解。那么这题就被转化为类似与数塔问题的基础DP问题。但要注意的一点是,数塔问题是对于整个数组求最优解,此...
2018-07-19 09:54:38
200
原创 算法分析与设计实验——汉诺塔
汉诺塔问题 假定A、B、C三根柱子。现将A柱上n个圆盘移动到C柱上,一次移动一个盘子,且每个盘子上必不能放比它大的盘子。因可以借助中间柱完成移动,目标柱仅为C柱,因此在本题中A柱与B柱本质上是等价的,它们可以互相作为对方的中间柱。据此可以运用问题降阶的思想。已知仅有1个盘子时,就只需将其从A柱直接移动到C柱,那么假定起始为4个盘子的情况下,可以利用中间柱将最大的盘子移到目标柱后,降为3阶问题,再以...
2018-03-20 01:15:40
2713
原创 算法分析与设计实验——最大公约数
最大公约数取函数名为gcd(a,b),假定a>b方法一:暴力求解法伪代码:gcd(a,b) for 1←b to i if (a mod i==0) and (b mod i==0) return iC++代码:#include <iostream>using namespace std;int min(int a,int b){ return a>b?b:a;...
2018-03-20 01:11:59
1459
原创 简单的迷宫问题(DFS+回溯)
输入一个n×n的迷宫,规定左上角为起点,右下角为终点,寻找一条路径输入:n,表示迷宫的尺寸随后是n×n的矩阵,0表示迷宫的道路,1表示墙壁#include<bits/stdc++.h>using namespace std;const int dirx[4]={ 1, 0, 0,-1};const int diry[4]={ 0, 1,-1, 0}; //定义四个方...
2018-03-20 01:00:46
3860
2
原创 //test
//test#include<bits/stdc++.h>int main(){ std::cout<<"test";}
2018-02-20 00:49:12
161
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人