Loading

随笔分类 -  ACM——搜索

摘要:"题目链接" 题意 给出p块钱,现在要用十种硬币凑出,每种硬币有c[i]个,问最多能用多少个硬币。 思路 首先确定,对于每个硬币就是能用小的替换就不用大的。 所以,可以先把硬币尽量用小的替换,如果小的不够用,再用大的去替换。 根据这个思路,就可以处理出一个前 i 个硬币总价值的前缀和 pre[],从 阅读全文
posted @ 2017-10-16 14:13 Shadowdsp 阅读(338) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出一棵树,问长度为偶数的路径数有多少。 思路 记录路径长度为奇数的数目和为偶数的数目,然后 n (n 1) / 2 求和即可。 C++ include using namespace std; const int N = 1e5 + 11; const int INF = 0x 阅读全文
posted @ 2017-10-13 22:55 Shadowdsp 阅读(299) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出n个王国和n n的矩阵,mp[i][j] 代表第 i 个王国欠第 j 个王国 mp[i][j] 块钱。如果当前的王国处于负债状态,那么这个王国就会被消除,和它相连的王国的债务都会被清除。因此会产生连锁反应,使得最后可能只剩下一个王国。输出对于每种情况,最后可能只剩下的王国有哪 阅读全文
posted @ 2017-10-13 21:11 Shadowdsp 阅读(259) 评论(0) 推荐(0)
摘要:"题目链接" 题意 中文题意 思路 因为存在环和重边,边来回走是没有意义的,因此最终的答案应该是一条从1到n的路径权值异或上若干个环的权值,那么难点在于如何选取这些环的权值使得最终的答案更优。 使用到线性基的贪心算法来计算。DFS处理出环的异或值,然后将这些值加入到线性基中,贪心选取。 "参考" 阅读全文
posted @ 2017-10-10 18:13 Shadowdsp 阅读(214) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出一个n m的图,现在有k种颜色让你对这个图每个格子染色,每种颜色最多可以使用col[i]次,问是否存在一种染色方案使得相邻格子的颜色不同。 思路 以为是构造题,结果是爆搜。对于每一个点,如果可以往右边搜,那么就往右边走,如果右边走不了,就往下重新开一行搜。(否则最后可能不是所 阅读全文
posted @ 2017-10-10 09:51 Shadowdsp 阅读(144) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出一个n m的地图,人的当前位置是'S',还有不超过两个的箱子'X',任意多个按钮'B',不超过100个可以走的点'.',还有一个在边界的出口'E',当且仅当所有的按钮都被箱子盖住的时候,出口才会打开,人才可以走到出口,问最少需要的步数是多少。 思路 首先确定是搜索,那么状态表 阅读全文
posted @ 2017-10-07 18:37 Shadowdsp 阅读(175) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出一个n m的地图,还有一个操作序列,你原本是要按照序列执行操作的,但是你可以修改操作:删除某些操作或者增加某些操作,问从'R'到'E'最少需要多少次修改操作。 思路 和上次比赛做的一道字符串题目有点类似。 定义状态 dp[x][y][d] 代表在 (x,y) 这个点执行到了第 阅读全文
posted @ 2017-10-04 13:06 Shadowdsp 阅读(259) 评论(0) 推荐(0)
摘要:"题目链接" 题意 中文题意 思路 做这题的前置技能学习 1. "康托展开" 这个东西我认为就是在排列组合问题上的Hash算法,可以压缩空间。 2. A 搜索。 这里我使用了像k短路一样的做法,从最终状态倒回去预处理一遍距离,但是跑了0.8s,可能是预处理花费的时间太多了。有些人用 "曼哈顿距离估价 阅读全文
posted @ 2017-09-25 09:46 Shadowdsp 阅读(427) 评论(0) 推荐(0)
摘要:"题目链接" 题意 中文题意。 思路 对于每一个骑士,可以先预处理出到达地图上某个点的需要走的步数,然后最后暴力枚举地图上每一个点,让三个骑士走过的距离之和最小即可。 C++ include using namespace std; const int INF = 300; const int N 阅读全文
posted @ 2017-09-24 09:23 Shadowdsp 阅读(235) 评论(0) 推荐(1)
摘要:"题目链接" 题意 中文题意。 思路 首先找到空白的格子,因为空白的格子可以和其他的骑士换。从空白的点开始搜索,每次和其他点交换。因为最多只有十五步,可以做16次搜索,搜索的时候,记录走过的步数和至少剩余的步数(还剩下多少个骑士不在原本的位置),这样剪枝。当check到所有的骑士都在合法位置的时候, 阅读全文
posted @ 2017-09-23 22:39 Shadowdsp 阅读(354) 评论(0) 推荐(0)
摘要:"题目链接" 题意 有n个点,其中有m个点是铁矿,k个点是煤,从1号点出发,你可以派一些士兵跑向不同的点,问占领至少一个铁矿和一个煤的时候,最少需要占领多少个点。 思路 建两幅图,其中一幅是正向边,一幅是反向边。做三次BFS。 第一遍BFS:从1号点BFS一遍整个正向边的图,记录数组dis[0][i 阅读全文
posted @ 2017-07-20 23:12 Shadowdsp 阅读(312) 评论(0) 推荐(0)
摘要:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1267 题意:给出一棵树,每条树边有权值,现在要修建n-1条边,边的权值为边的两点间原来的树边权值之和,问最大能是多少。 思路:背锅题。比赛的时候想过树的直径,可是想歪了。后面 阅读全文
posted @ 2017-05-16 13:26 Shadowdsp 阅读(248) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4444 题意:给出一个起点一个终点,给出n个矩形的两个对立顶点,问最少需要拐多少次弯可以从起点到达终点,如果不能输出-1. 思路:http://blog.csdn.net/asdfgh0308/article/de 阅读全文
posted @ 2017-05-11 02:15 Shadowdsp 阅读(302) 评论(0) 推荐(0)
摘要:http://lx.lanqiao.cn/problem.page?gpid=T294 题意:中文题意。 思路:1、一开始想的是,乘号就相当于隔板,把隔板插入到序列当中,同一个隔板的就是使用加法运算,然后求最大值。也没有证明这个想法的正确性就蒙头写了。然后第一个数据就错了,还是挺良心的可以看第一个数 阅读全文
posted @ 2017-03-22 14:25 Shadowdsp 阅读(300) 评论(0) 推荐(0)
摘要:http://codeforces.com/gym/101246/problem/G 题意:有一个n个点m条边的有向图,现在可以修改某一条有向边使得其为无向边,问修改哪些边可以使得修改后的强连通分量的点数最多,输出。 思路: 要使得修改边后的强连通分量的点数最多,假设当前修改的边的入点为u,出点为v 阅读全文
posted @ 2017-03-14 13:30 Shadowdsp 阅读(455) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/782/problem/C 题意:给一棵树染最少的颜色,使得相邻距离为2的点都是不同的颜色,问最少是多少种颜色并输出每个点的颜色。 思路:比赛的时候没想到是找度最大的一个点并+1就是总颜色数,一直想怎么构造。 最后的总颜色数是度最大的一个点 阅读全文
posted @ 2017-03-06 14:59 Shadowdsp 阅读(461) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1086 题意:给出n个点的树,让你对树进行分块,每块的大小范围在[b, 3b]之间。 思路:一开始想着维护一个sz[u]代表以u为根的子树(不包括u本身)的大小,如果在范围之内就分成一块,但是这样写感觉 阅读全文
posted @ 2017-02-23 14:15 Shadowdsp 阅读(187) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/760/C 题意:有n个盘子,每个盘子有一块肉,当肉路过这个盘子的时候,当前朝下的这一面会被煎熟,每个盘子有两个数,pi代表接下来去第pi个盘子,bi为1的话,这块肉会被反面,0的话这块肉不变。对于每块肉,要让它的两面 阅读全文
posted @ 2017-02-15 19:48 Shadowdsp 阅读(202) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1584 题意:要让小的牌放到大的牌上面最少移动的距离。 思路:看成让大的牌放在小的牌上面了。。。用一个标记数组vis判断该点是否移动了。 阅读全文
posted @ 2017-02-09 23:25 Shadowdsp 阅读(233) 评论(0) 推荐(0)
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1508 题意:地图中四联通的块是一个国家,A和B每个人可以涂两种颜色,且B不能涂超过5次,相邻的国家不能涂一样的颜色,并且最后每种颜色都要用上,问共有多少种涂色方案。 思路:先DFS处理出图中的国家, 阅读全文
posted @ 2017-01-16 22:06 Shadowdsp 阅读(382) 评论(0) 推荐(0)