随笔分类 - 搜索
摘要:贪心 A Nicholas and Permutation 模拟+DFSB Pyramid of Glasses 设酒杯满了值为1.0,每一次暴力传递下去 尺取法(two points) C Vasya and String 从左到右维护一段连续的区间,改变次数不大于k,取最大值. BFS(方向,旋
阅读全文
摘要:容斥原理 A Number Sequence 题意:给出n个数,b1,b2,b3……bn,构造n个数,a1,a2,……an(ai>1),使得a1*a2*a3……an=b1*b2……bn 分析:容易想到的是将bi分解质因数,然后记录每个质因数的个数。那么题目变成:对于(每个质因数个数为m个划分到n个不
阅读全文
摘要:题目连接 排行榜 A和I都是签到题 按位BFS K Yet Another Multiple Problem 题意:给一些可以用的数字,求最小的数,它由特定的数字组成且是n的倍数 分析:暴力枚举不可行,因为数字可能非常大。考虑到大数取模为0,BFS每一层即数位,递归输出路径。 同类型的题目: URA
阅读全文
摘要:组合 1001 LCP Array 第一题就小难,出题的好像是浙大的大牛? 找到一个规律:a[i] = x, s[i..i+x]都想同。a[i] = a[i+1] + 1 (a[i] > 0),否则就是与后一个颜色不同,方案*25。第一次颜色相同的26种方案。 最短路 1002 Shortest P
阅读全文
摘要:题目传送门 题意:从炮台射出一个球,三个及以上颜色相同的会掉落,问最后会掉落多少个球 分析:先从炮台找一个连通块,然后与顶部连接的连通块都不会掉落,剩下的就是炮台射出后跟随掉落的。
阅读全文
摘要:暴力 A - Ebony and Ivory import java.util.*; import java.io.*; public class Main { public static void main(String[] args) { Scanner cin = new Scanner (n
阅读全文
摘要:后面的题目补不懂了 暴力 1001 Clarke and chemistry 这题也把我搞死了。。枚举系数判断就行了 #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #include <map> i
阅读全文
摘要:题目传送门题意:题意坑爹。问符合条件的的山顶个数分析:降序排序后从每个点出发,假设为山顶,如果四周的点的高度>h - d那么可以走,如果走到已经走过的点且染色信息(山顶高度)不匹配那么就不是山顶。重点在于就算知道不是山顶也要染色完。#include using namespace std;const...
阅读全文
摘要:水 A - Two Bases 水题,但是pow的精度不高,应该是转换成long long精度丢失了干脆直接double就可以了。被hack掉了。用long long能存的下 #include <bits/stdc++.h> using namespace std; typedef long lon
阅读全文
摘要:题目传送门题意:一个人去救女朋友,两个人都在运动,还有鬼在"扩散",问最少几秒救到女朋友分析:开两个队列来表示两个人走过的路,一个人走到的地方另一个人已经vis了,那么就是相遇了,鬼就用曼哈顿距离判断.#include using namespace std;const int N = 8e2 + ...
阅读全文
摘要:题目传送门题意:一个图按照变成指定的图,问最少操作步数分析;状态转移简单,主要是在图的存储以及判重问题,原来队列里装二维数组内存也可以,判重用神奇的hash技术#include using namespace std;const int MOD = 1e6 + 7;struct Point { in...
阅读全文
摘要:题目传送门题意:一个人从(0, 0)逃往(n, m),地图上有朝某个方向开炮的炮台,问最少逃脱步数分析:主要在状态是否OK,当t时刻走到(x,y),炮台是否刚好打中,因为只能是整数,所以用整除判断。题意不清楚,有些坑点。#include using namespace std;const int N...
阅读全文
摘要:题目传送门1 2题意:从无序到有序移动的方案,即最后成1 2 3 4 5 6 7 8 0分析:八数码经典问题。POJ是一次,HDOJ是多次。因为康托展开还不会,也写不了什么,HDOJ需要从最后的状态逆向搜索,这样才不会超时。判重康托展开,哈希也可。POJ//#include #include#inc...
阅读全文
摘要:题目传送门题意:中文题面分析:双层BFS,之前写过类似的题.总结坑点: 1.步数小于等于T都是YES 2. 传送门的另一侧还是传送门或者墙都会死 3. 走到传送门也需要一步#include using namespace std;char maze[2][11][11];int dx[4] =...
阅读全文
摘要:题目传送门题意:中文题面分析:直接排完序后DFS.这样的题以后不应该再写题解的.#include using namespace std;vector G[21];int ans[21];int v[3];bool vis[21];int cnt;void print() { printf ("%d...
阅读全文
摘要:题目传送门题意:一串数字变成另一串数字,可以单个数字转变,或者一类数字转变,问最少操作次数分析:首先一类转换比单个转换优,先枚举找出最优的映射方案,然后将零碎的操作加上。6位6进制表示map映射,比如123456,表示map[1] = 1, map[2] = 2, map[3] = 3...先预处理...
阅读全文
摘要:题目传送门题意:问从1到n的最短路径,同时满足花费总值小于等于k分析:深搜+剪枝,如果之前走过该点或者此时的路劲长度大于最小值就不进行搜索。/************************************************* Author :Running_Time* ...
阅读全文
摘要:题目传送门题意:数独问题,每行每列以及每块都有1~9的数字分析:一个一个遍历会很慢。先将0的位子用vector存起来,然后用rflag[i][num] = 1 / 0表示在第i行数字num是否出现过,其他的类似,这样在用DFS就很快了,数据问题,反着搜索会更快。。。/****************...
阅读全文
摘要:水A - Alena's Schedule/************************************************* Author :Running_Time* Created Time :2015/10/12 星期一 16:49:42* File Name...
阅读全文
摘要:题目传送门题意:从r走到a,遇到x多走一步,问最小走到a的步数分析:因为r有多个,反过来想从a走到某个r的最小步数,简单的BFS。我对这题有特殊的感情,去年刚来集训队时肉鸽推荐了这题,当时什么都不会,看个数组模拟队列的BFS看的头晕,现在看起来也不过如此,额,当年开始是从r走到a的,因为数据巨弱才过...
阅读全文