搜索
文章平均质量分 64
huatian5
run
展开
-
HDOJ1016(搜索DFS)
Prime Ring ProblemTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38643 Accepted Submission(s): 17073Problem DescriptionA ring is原创 2016-03-06 15:47:36 · 704 阅读 · 0 评论 -
Codeforces Round #189 (Div. 2) B
B. Ping-Pong (Easy Version)time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIn this problem at each moment原创 2016-09-28 20:32:54 · 618 阅读 · 0 评论 -
POJ 2386 Lake Counting(简单dfs)
Lake CountingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 26942 Accepted: 13532DescriptionDue to recent rains, water has pooled in various places in Fa原创 2016-03-29 15:25:28 · 665 阅读 · 0 评论 -
Codeforces Round #197 (Div. 2) C(dfs)
C. Xenia and Weightstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputXenia has a set of weights and pan sca原创 2017-04-09 20:39:10 · 281 阅读 · 0 评论 -
Aizu - 2783 Help the Princess!(BFS)
题意:判断是否能从'%'到'@',而且比‘$'到达的早。思路:bfs记录深度代码:#include#include#include#include#includeusing namespace std;const int MAXN = 210;const int INF = 0x3f3f3f;int dirt[4][2]={{1,0},{-1,0},{0,-1},原创 2017-04-19 22:24:23 · 356 阅读 · 0 评论 -
正则表达式
不同语言的正则表达式可能会有些不同,这里写的是Python中的正则表达式。正则表达式常用符号“*” 表示前面的字符、子表达式或括号里的字符出现0次或多次“+” 表示前面的字符、子表达式或括号里的字符出现至少1次“[]” 匹配括号中的任意一个字符“()” 类似编程语言,有较高优先级“{m,n}” 表示前面的字符、子表达式或括号里的字符出现m~n次“[^]” 匹配任意一个不在中括号中的字符“|”原创 2017-07-04 11:00:07 · 240 阅读 · 0 评论 -
HDU 6113 度度熊的01世界(dfs)
题目:这里写链接内容 思路:在n*m图像周围围一圈’0’,然后找0和1的联通块数,1联通块数肯定为1才行;0联通块数如果满足“图像0的定义”,那么必须只有两个联通块,满足“图像1的定义”,必须只有一个联通块。 代码:#include<bits/stdc++.h>using namespace std;const int N = 105;char s[N][N];int vis[N][N];原创 2017-08-12 19:41:27 · 373 阅读 · 0 评论 -
leetcode 694. Number of Distinct Islands(BFS)
题目:https://leetcode.com/contest/leetcode-weekly-contest-53/problems/number-of-distinct-islands/ 题意:给你一个01图,让你找出有多少不同的联通块(相同意为可以通过平移得到) 思路:BFS保存每次走的方向 代码:#include<bits/stdc++.h>using namespace std;原创 2017-10-08 11:52:17 · 1006 阅读 · 0 评论 -
LeetCode Weekly Contest 52 Longest Univalue Path(链表dfs)
题目:[https://leetcode.com/contest/leetcode-weekly-contest-52/problems/longest-univalue-path/](https://leetcode.com/contest/leetcode-weekly-contest-52/problems/longest-univalue-path/)题意:给你一个二叉树,让找一条最长路径,这条路径上所有的原创 2017-10-01 11:31:31 · 320 阅读 · 0 评论 -
HDU 6196 happy happy happy(暴搜+剪枝+dp)
来源:http://blog.csdn.net/snowy_smile/article/details/77929954题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=6196 代码+思路:#include<stdio.h>#include<iostream>#include<string.h>#include<string>#incl转载 2017-10-01 17:29:42 · 419 阅读 · 0 评论 -
Wannafly挑战赛1 A.Treepath(dfs)
题目:https://www.nowcoder.com/acm/contest/15/A 题目描述 给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同。 输入描述: 第一行一个数n表示点的个数; 接下来n-1行,每行两个整数x,y表示边; 保证输入数据形成一棵树; 1<=n<=100000 输出描述原创 2017-10-13 22:31:16 · 280 阅读 · 0 评论 -
leetcode 698. Partition to K Equal Sum Subsets(记忆化搜索/状压dp)
题目:https://leetcode.com/contest/leetcode-weekly-contest-54/problems/partition-to-k-equal-sum-subsets/ 题意:给你一个数组和k,问能否将数组分为k组,且k组数的和相等 思路:原创 2017-10-15 17:18:59 · 3134 阅读 · 0 评论 -
HDOJ1238 Substrings
SubstringsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9946 Accepted Submission(s): 4716Problem DescriptionYou are given a num原创 2016-02-05 22:05:22 · 472 阅读 · 0 评论 -
NYOJ-20 吝啬的国度(DFS)
吝啬的国度时间限制:1000 ms | 内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1每组测试数据的第一行输入一个原创 2016-10-26 00:06:42 · 350 阅读 · 0 评论 -
HDOJ1312 Red and Black 深搜dfs
Red and BlackTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15340 Accepted Submission(s): 9498Problem DescriptionThere is a rect原创 2016-03-05 21:06:19 · 387 阅读 · 0 评论 -
HDU 1078 FatMouse and Cheese 记忆化搜索模板 dp
FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7629 Accepted Submission(s): 3158Problem DescriptionFatMouse h原创 2016-04-18 22:33:21 · 615 阅读 · 0 评论 -
HDU 2717(STL)
看的欧阳学长的代码,等我学会了STL,一定自己写一遍,现在一脸蒙蔽!#include#include#include//优先队列using namespace std;int x,y;int sign[200005],t[200005];queueq;void bfs();int main(){ while(scanf("%d %d",&x,&原创 2016-03-29 22:24:08 · 388 阅读 · 0 评论 -
HDU 2102 A计划 (搜索 队列)
A计划Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15950 Accepted Submission(s): 3985Problem Description可怜的公主在一次次被魔王掳走一次次被骑士们救回来之原创 2016-05-06 20:20:55 · 892 阅读 · 0 评论 -
POJ初级分类 枚举专题 poj1753 poj2965
POJ1753题目大意:给你一个 4X4 的棋盘,每次操作你可以反转一个棋子,但是附加着把上下左右相邻的棋子也反转。 如果经过一定次数的操作可以使棋子变得全相同,就输出操作数;反之,就输出impossible。思路:想到了用0 1替换a、b,从而简化操作,然而对递归回溯并不是理解的很透彻,看的别人的代码才勉强写出来,太弱了,弱弱要变强!#include//POJ1753#i原创 2016-05-27 22:13:20 · 2607 阅读 · 0 评论 -
八数码问题(待
mark原创 2016-07-26 11:17:26 · 532 阅读 · 0 评论 -
暴力求解法 算法竞赛入门经典2读书笔记 (附POJ 1321)
简单枚举 讲一下自己的理解,所谓的枚举,一般不能纯暴力枚举的,应该先经过算法的优化,可以利用公式、题目的套路、已知算法进行优化,从而解决问题,目的是在规定的时间内完成。好像算法本来就是对各种暴力的优化,学习算法就是不断的优化优化。想起来C语言老师说过的,“不断地回过头来看自己的代码,用现有知识进行改进,你会发现,收获的远比想象得多”,赞。725 - Division仅仅枚原创 2016-05-29 15:25:52 · 1451 阅读 · 0 评论 -
POJ1694 An Old Stone Game
/*POJ1694 An Old Stone Game仍未透彻理解其算法思想啊啊啊啊题意:有一棵古老的树,树有各种叉,目标是在树根上放一个石头。有k个石头在桶里面,每次将一个石头放到树叶上,对于每个节点,只有子树上面所有的节点都放满了石头,才能在节点上放一个,然后将子树上面的石头去掉,直到在根上放了石头,让求用最少的石子达到终点条件思路:根的石头数是1,根的节点有n1,n2……nn的原创 2016-06-23 16:20:29 · 599 阅读 · 0 评论 -
POJ-2676 Sudoku(DFS)
题意:将数字1到9,填入9x9矩阵中的小方格,使得矩阵中的每行,每列,每个3x3的小格子内,9个数字都会出现。思路:dfs 挨个尝试#include#include#includeusing namespace std;int e[15][15];char e[10][10];void output(){ for(int i = 0;i < 9;i++原创 2016-07-17 19:47:59 · 457 阅读 · 0 评论 -
半数集与半数单集问题
半数集:多重集http://115.28.203.224/problem.php?id=1176#include#include#includeusing namespace std;int a[1005];int HalfSet(int n){ if(a[n] > 0) return a[n]; else {原创 2016-09-09 23:20:34 · 2818 阅读 · 0 评论 -
hdu 1548 A strange lift(最短路)
题目大意:思路:BFS:/*hdu 1548 A strange lift题目大意:这是一个奇怪的楼梯。你可以停在任何你想停的一层……如果你在第i层,这一层有个值Ki,按了“UP”,你就上升Ki层,即到了i+Ki层,“DOWN”就是减,同“UP”A到B至少需要多少次操作,无法到达就输出-1思路:bfs求最短路,使用队列*/#include#include#i原创 2016-06-20 20:08:00 · 570 阅读 · 0 评论 -
CodeForces - 883G(dfs)
题目:http://codeforces.com/contest/883/problem/G 题意:n点,m边,一个点s,输入m条边,有单向边和双向边,决定双向边的方向使得和s相连的点最多/最少 思路:很容易想到dfs,但是写起来很复杂,dfs的时候判断是不是双向边,是的话(最大值就是u->v,继续向下遍历;最大值就是v->u,直接截止) 代码(参考ZZY):#include <bits/st原创 2017-10-24 16:55:32 · 497 阅读 · 0 评论