
搜索
文章平均质量分 69
yuhong_liu
这个作者很懒,什么都没留下…
展开
-
hihocoder #1503 : 一人麻将
时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi在北方的暖气里温暖如春,小Ho却在南方的艳阳里感受大雪纷飞。距离使得他们连一起打麻将的机会都没有,失落的小Hi一个人玩起了麻将。小Hi玩的是四川麻将,因此只有3种序数牌万、筒、条,每种花色一到九各4张。小Hi起手拥有14张牌,之后小Hi每摸一张牌后,如果没有胡牌,就出一张牌,原创 2017-04-13 21:11:30 · 909 阅读 · 0 评论 -
UVA11080- Place the Guards-(二分图染色)-dfs
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28175给一个图,n个点,m个边要用黑白两种点间或把整个图覆盖最少的黑点/白点个数,如果不能输出-1【 //单独的节点在本题题意下需要染色】直接dfs跑一遍二分图染色,注意,可能存在多个联通块,也就是跑多次dfs 。每次跑完一个联通块 累加一下原创 2016-04-01 00:47:35 · 647 阅读 · 0 评论 -
UVA 11624-Fire!-BFS-
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28833题意:就是找起点S到走出n*m格子外的最短时间开始有一些Fire点,每单位时间会四处延伸先预处理好每个格子最先着火的时间。在bfs找最短路的基础上加多一个判断是否着火即可复杂度(NM)#include #include #includ原创 2016-03-31 18:33:55 · 265 阅读 · 0 评论 -
UVA-10047 The Monocycle- bfs
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19491题意:给一个图,求s到T的最短时间每一步可以转左转右,或者向前走一步并且每走一步身体颜色变化一次,开始是绿色,朝北,共有5种颜色(循环变化)要求到达T要是同一种颜色,和一般bfs求最短路一样,只是多了两个因素直接作为一个状态,那么原创 2016-03-31 17:05:34 · 300 阅读 · 0 评论 -
cf#ecr7- E - Ants in Leaves-暴力+贪心
http://codeforces.com/contest/622/problem/E题意:给出一棵树,n个节点,根为1,每个叶子上有一只蚂蚁,蚂蚁同时往根爬,每步移动1单位时间,除了节点1,别的节点每一时间只能存在1只蚂蚁。 求所有蚂蚁到根节点的最短时间。贪心,考虑每个子树,求子树上所有蚂蚁到根的最长时间。对每个子树,dfs处理出每个叶子节点的深度,并存起来。原创 2016-02-14 17:47:44 · 594 阅读 · 0 评论 -
POJ-2965-The Pilots Brothers' refrigerator-bfs枚举-位运算
http://poj.org/problem?id=2965规模比较小,每一个步骤都用位运算就好了用queue老是tle,自己写一个queue就 ac了 219ms#include #include #include #include #include #include #include #include #include #include usi原创 2016-01-12 01:30:30 · 375 阅读 · 0 评论 -
POJ-1129-Channel Allocation-dfs搜索+四色定理
题目翻译:当一个广播电台在一个非常大的地区,广播站会用中继器来转播信号以使得每一个接收器都能接收到一个强烈的信号。然而,每个中继器必须慎重选择使用,使相邻的中继器不互相干扰。如果相邻的中继器使用不同的频道,那么就不会相互干扰。由于无线电频道是一有限的,一个给定的网络所需的中继频道数目应减至最低。编写一个程序,读取一个中继网络,然后求出需要的最低的不同频道数。就是给地图染原创 2016-01-25 14:14:36 · 431 阅读 · 0 评论 -
poj-3026 -Borg Maze -bfs+prim(MST)
http://poj.org/problem?id=3026 题目给出一个最外面被#包围的图,求S到达所有A点,所需要走过的步数。注意S会分身,A最多有100个,那么S可以分成100分,其实可以把S也看成A,求 使得图中所有的A联通在一起 的一个 最小生成树,先用bfs求出 他们之间的 边权值,然后跑一遍prim就OK。。。数据较小。。就都用暴力算法了原创 2016-01-20 13:41:25 · 416 阅读 · 0 评论 -
POJ-1753-BFS+状态压缩
http://poj.org/problem?id=1753非常普通的一道bfs题,做的时候贪快,没想好就写了。。。唉。。对于给的一盘棋,最多只有 2^16 种翻法,并且翻的先后顺序不影响结果,所以只需要bfs枚举一下就好了对于每出现过的一种状态,用状态压缩的数值标记一下,不用再进入队列(否则会超时或者死循环啦)暴力 模拟一下 ,每次检查是否 全黑65535 或者全白 0原创 2015-11-17 23:03:11 · 370 阅读 · 0 评论 -
CodeForces 44J - Triminoes -搜索转构造
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20077给你一个n*m的图,图上有‘.’代表挖走了的瓷砖,剩下的是 用w,b分别表示白色黑色的瓷砖要求找出所有的 “ wbw ”这样的瓷砖,替换成 aaa/bbb/ccc/ddd 任意一个问你能否把所有的w/b瓷砖按照上述规则替换成 aaa/bbb/ccc/dd原创 2015-11-16 15:08:01 · 844 阅读 · 0 评论 -
UVA 11174-组合数学+组合数取模+dfs
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34531题意: 给出n个人,以及一些父子关系,要求对这n个人构成一个排列,其中父亲必须排在儿子的前面。问一共有多少种排列方式。部分没有父亲的人,表示他为祖先(根节点)对于每一个祖先节点,我们把以他为根的整棵树 内部 按照要求的 合法排序方案为S【1】,原创 2015-10-29 07:38:08 · 409 阅读 · 0 评论 -
cf#161-D-Cycle in Graph- dfs
题意:给一个无向图,存在环,保证每个node至少与k个点相连,让你找出一个 长度》k+1的环。。。把1作为根,dfs搜,当遇到一个没访问过的节点V则递归进入,否则判断该节点是否是直接父亲,如果不是的话,说明存在一个环,X到V,因为每次往下走的都是没访问过的节点,所以X到V这条链上的点都是在同一分支,因此换的长度就是dp[v]-dp[x]+1,如果大于k+1直接输出答案,否则继续搜索、原创 2016-03-20 18:30:25 · 394 阅读 · 0 评论 -
CodeForces 320B Ping-Pong (Easy Version)-DFS
n太小。每次非查询操作,on建边,查询操作dfs(n)输出#include #include #include #include #include #include #include #include #include #include using namespace std;const double pi=acos(-1.0);double eps=0.原创 2016-03-20 18:50:38 · 1023 阅读 · 0 评论 -
HDU 5802-J - Windows 10 -贪心+模拟+dfs
如果下降的过程中某一次休息了,然后又有几次是上升的,那么那几次上升可以留着,在休息的时候上升,抵消掉休息花的时间。init【id】是第一个大于p-q的1 + 2+ 4 + 8 + 16....的和 。对于p>q的情况有两种,一种是先往下init[id-1],再往下(x-init[id-1]), 另外一种是先往上(init【id-1】-x),再往下id步, 第一种是对的,,第原创 2016-08-08 21:15:26 · 362 阅读 · 0 评论 -
ZOJ 3781-缩点+bfs模拟
http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3781题意:在n*m矩阵的图定义连通区域为x值或y值相同且颜色相同的连通,连通具有传递性每次可以把一个连通区域颜色反转(O变X,X变O)问把所有块的颜色变为X最小的步数思路:乍一看,翻开随便一个点会影响一大片联通块翻原创 2016-04-16 01:15:33 · 1159 阅读 · 0 评论 -
UVALive - 3902 Network 无根树转为有跟树+搜索+贪心
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=16451题目大意:n台机器连成一个树状网络,其中叶节点是客户端,其他节点是服务器。现在有一台服务器在节点s,服务器能传播的信号的距离为k,因为有的用户距离服务器的距离大于k,所以必须添加服务器。问最少要添加几个服务器,才能使每个客户端都收到信号首先以S为根节原创 2016-04-26 16:27:06 · 502 阅读 · 0 评论 -
hdu-4345-Permutation - DP+数学或记忆化搜索
http://acm.hdu.edu.cn/showproblem.php?pid=4345题意化简后:给你一个n,要求选若干个数,使得他们的和小于等于N,然后他们的最小公倍数为一种合法方案,求有多少种合法方案。首先一个情况,如果这些数不是互质的,那么一定可以找到一个方案,所有的数互质,并且最小公倍数等于当前方案,所以我们优先选互质的方案。那么显然就是 选一个 小于原创 2016-04-26 14:30:20 · 379 阅读 · 0 评论 -
hdu-1530-Maximum Clique-找最大团
按照每个团包含节点字典序递增的顺序搜索 不用怎么剪枝 4s能过#include #include #include #include #include #include #include #include #include using namespace std; int mp[55][55];int set[55];int ans=0;int dp[55原创 2016-04-12 12:00:22 · 598 阅读 · 0 评论 -
codeforces 505B B. Mr. Kitayuta's Colorful Graph-爆搜/DP
题意:给十种秤砣,重量为1~10,个数无限,给n,问能否进行n次左右交替摆放秤砣,满足以下规则:每次放下一个秤砣后,该边重量必须大于另一边并且这次放下的秤砣不能和上一次放下的秤砣种类相同。。。这题居然爆搜也能过。估计是可行的答案分支比较多。。。DP【k】【i】【j】表示 第k次摆放时,所选择摆放的那一边比另一边 重 i ,并且第k次选择的是重量为j的秤砣原创 2016-03-14 19:39:00 · 617 阅读 · 0 评论 -
cf#301-C. Ice Cave-BFS
http://codeforces.com/contest/540/problem/C题意 给n*m的地图只能走.不能走X,并且点.被走了之后会变成X,问能否从点1走到点2,并且要求最后点2要是X(为了掉到下一level) 因此直接bfs搜,每次走过 点 后把 点变成X ,最后判断能否到达点2 并且点2状态为 X即可另一种是直接判断能不能到点2,然后如果原创 2016-04-06 22:17:49 · 334 阅读 · 0 评论 -
cf-edu#5-C The Labyrinth-dfs记忆化搜搜
http://codeforces.com/contest/616/problem/C 给出一个n*m图,如 :*.*.*.*.*求 每个*周围连在一起的点“.”共有多少个,个数+上自己本身,也就是+1。窝是直接dfs记忆化搜索,求出每个点“.”的联通量,然后标记为mark++,输出的时候,判断*周围四个方向的空点”.“所含的联通量,并判原创 2016-01-12 01:37:55 · 659 阅读 · 0 评论 -
cf#94-div1-A. Statues
http://codeforces.com/problemset/problem/128/A题意:给8x8棋盘,右上角是A,左下角是M其余是点.或者是SA不动,M每次可以朝着8个方向走,或不动。。。每次A走一步后,所有的S都会往下移动一格(直到掉出棋盘)问你M能否到达A,能输出win否则输出yes(走的过程如果碰到S会死,只能走空点)开始时M先走。。。。只有原创 2016-03-07 00:51:04 · 443 阅读 · 0 评论 -
2007-2008 Winter Petrozavodsk Camp, Andrew Stankevich Contest 30-E - New Mayors - 二分图染色 (BFS+DFS)
http://codeforces.com/gym/100345/attachments-E - New Mayors 题意:给一无向图和三种颜色,顶点n(n告诉你这个图里,对于任意节点U, 定义N【u】为u的所有直接儿子节点的集合,并且集合中任意两个点可以通过N【u】中的点互相到达(不经过U)。现在让你用三种颜色染图,规定一条边两端颜色不可相等。如果是直接用三个颜原创 2016-04-01 21:43:24 · 1494 阅读 · 0 评论 -
POJ1011- DFS+剪枝
#include #include #include #include #include #include #include #include #include #include using namespace std; bool vis[65];int tm[65];int x;int flag;int n; void dfs(int deep,int len,原创 2015-11-10 22:42:58 · 334 阅读 · 0 评论 -
poj1324-Holedox Moving-状态压缩+BFS
朴素暴力方法做的。。。用 一个1 2 3 4表示 当前蛇身与 上一部分蛇身的位置关系,蛇最长为7,所以可以 用 4进制 表示状态,每一个蛇头 ,其蛇身有 4^7种状态用状态压缩 标记出现过的状态,,以免重复计算TLE。。。。别的地方就是朴素的BFS。。。。当然本题还可以用双向bfs,A*算法。。。以下是朴素方法 : 3.9s... 10520kb#include原创 2015-11-07 23:51:00 · 542 阅读 · 0 评论 -
CF#321-C - Kefa and Park-DFS
http://codeforces.com/contest/580/problem/C题意:给n,m;n个数构成一棵树接下来n个数,表示每个点的权值(1,0) 1表示该节点有猫,0表示没接下来n-1条边 找出 有多少个 叶子节点,满足 叶子节点到根节点1的路径上 连续的 权值为1的点不超过 m个直接dfs遍历邻接表,把节点的权值传递一遍如果上一原创 2015-10-03 01:06:51 · 517 阅读 · 0 评论 -
Valid Pattern Lock --dfs
Valid Pattern LockTime Limit: 2 Seconds Memory Limit: 65536 KBPattern lock security is generally used in Android handsets instead of a password. The pattern lock can be set by joining p原创 2015-04-15 14:42:34 · 508 阅读 · 0 评论 -
A - Prime Path
#include #include #include #include #include #include #include using namespace std;int map[10000];bool prime[10005];int a,b;queue int> qq; void bfs(){ while ( !qq.empty() ) {原创 2015-03-20 15:54:37 · 497 阅读 · 0 评论 -
迷宫DFS
#include #include #include #include #include #include using namespace std;int ok=0;int k;int f[10][10];int trackk[50][50];int track[50][50][50];int qu;int qunimei[50];原创 2015-03-20 15:52:40 · 545 阅读 · 0 评论 -
G - Dungeon MasterBFS+填路
#include #include #include #include #include #include #include using namespace std;struct node {int x,y,z; }; queue qq;char map[35][35][35]; int track[原创 2015-03-20 15:52:07 · 500 阅读 · 0 评论 -
F - Catch That Cow-BFS-只计次不求路径
#include #include #include #include #include #include #include using namespace std;queue qq;int track[100010];int n;int k;bool vis[100010];int bfs(){wh原创 2015-03-20 15:51:24 · 479 阅读 · 0 评论 -
E - Children of the Candy Corn`特别DFS+BFS+DFS陷阱
#include #include #include #include #include #include#include using namespace std;int w,h;char map[41][41]; char map1[41][41]; char map2[41][41]; int ok;int xx[]={9,0 ,-1原创 2015-03-20 15:51:11 · 456 阅读 · 0 评论 -
D - Lake Counting-dfs
#include #include #include #include #include #include using namespace std;char map[101][101];int floorr,k;int dx[]={0,-1,-1,0,1,1,1,0,-1};int dy[]={0,0,-1,-1,-1,0,1,1,1};原创 2015-03-20 15:51:05 · 461 阅读 · 0 评论 -
C - Sudoku+dfs
#include #include #include #include #include #include using namespace std;int f[10][10]; int position[100][3];int ks;int ok;int main(){int dfs(int r,int c,int pos原创 2015-03-20 15:50:48 · 463 阅读 · 0 评论 -
B - Red and Black+dfs
#include #include #include #include #include #include using namespace std;int w,h;char f[21][21];int k,kk; int dx[]={-1,1,0,0};int dy[]={0,0,-1,1};int main(){原创 2015-03-20 15:50:22 · 429 阅读 · 0 评论 -
A Knight's Journey+dFS
#include #include #include #include #include #include using namespace std;int ok=0;int k;int n,m;int f[50][50];int trackk[400][3]; int dx[]={-2,-2,-1,-1,1,1,2,2};in原创 2015-03-20 15:49:57 · 464 阅读 · 0 评论 -
Another Postman Problem (邻接表+DFS)
E - Another Postman ProblemTime Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit Status Practice FZU 2038DescriptionChinese Postman Problem is a very f原创 2015-05-27 07:14:55 · 536 阅读 · 0 评论 -
Valid Pattern Lock-ZOJ 暴力DFS搜索
Valid Pattern LockTime Limit: 2 Seconds Memory Limit: 65536 KBPattern lock security is generally used in Android handsets instead of a password. The pattern lock can be set by joining poi原创 2015-04-13 00:18:35 · 491 阅读 · 0 评论 -
cf#286-B - Mr. Kitayuta's Colorful Graph-dfs
给你n个点,m个边的图,每条边边权代表一种颜色q次询问询问【a,b】边 是否能通过 单一颜色 的一条或多条边连接起来,输出 这样的颜色数量dfs判断 每次进入下一层递归的条件是 与上一次选的边颜色一样。。AC代码:#include #include #include #include #include #include #inclu原创 2015-11-03 14:44:23 · 632 阅读 · 0 评论 -
UVALive - 6116 Pattern Lock
UVALive - 6116 Pattern Lock 题目链接 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=37383//题意是先判断图是否联通,其次看是否根据边能够 构成 一个合法的图 不能多边少边//其中如果原图是 2-1-3 那么 实际看起来 1-2 2-3 1-3 都可以看作是相连的//原创 2015-05-29 00:16:17 · 481 阅读 · 0 评论