随笔分类 -  乱搞 DFS/BFS

摘要:http://codeforces.com/gym/101128 题目大意:给你一个a,b,e,p。有e个点,p条有向边,每条边为(x,y),表示x->y,每次我们都取出一个入度为0的,并且一次性取出来的个数为a(或b)。当然,取出来的种类可能有很多种(即一个集合),问,这个集合中有多少个数字是相同 阅读全文
posted @ 2017-04-15 21:53 知る奇迹に 阅读(403) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/787/problem/C 题目大意:有一个长度为n的环,第1个位置是黑洞,其他都是星球。已知在星球上(不含第一个黑洞)有一位神。有两个人,每个人有一个集合的数字,两人进行游戏,每人每轮可以让神从一个星球向后移动x位(x为目前两个人所拥有的 阅读全文
posted @ 2017-04-03 20:05 知る奇迹に 阅读(399) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/782/problem/E 题目大意: 有n个节点,m条边,k个人,k个人中每个人都可以从任意起点开始走(2*n)/k步,且这个步数是向上取整的。要求:着k个人要走完所有的节点,且每个人至少走1步。 思路:= =dfs找一棵树,一棵树是n- 阅读全文
posted @ 2017-04-03 14:34 知る奇迹に 阅读(146) 评论(0) 推荐(0)
摘要:题目链接:http://uoj.ac/problem/33 题解链接:http://vfleaking.blog.uoj.ac/blog/38 现在感觉到了做OI的层层递进的思路的伟大之处,作为一个大学才开始接触C的人只能orz了 算法一: 傻逼暴力+lca,所以树O(n*n*logn) 所以10分 阅读全文
posted @ 2017-03-31 11:01 知る奇迹に 阅读(447) 评论(0) 推荐(0)
摘要:题目大意:紫书175 思路:看书。。。2333 关键点就是利用已知条件来逆向思考是否能走通,而不是傻傻的从某个点开始出发啊啥的。 阅读全文
posted @ 2017-01-15 21:27 知る奇迹に 阅读(178) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/750/problem/D 题目大意: 放鞭炮,鞭炮会爆炸n次,每次只会往目前前进方向的左上和右上放出他的子鞭炮。问,最后能有多少格子被覆盖? 思路: 感觉是期末复习阶段太久没有敲代码了的缘故吧,记忆化搜索的状态找的都不准确了。 bfs,然 阅读全文
posted @ 2017-01-11 15:36 知る奇迹に 阅读(134) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/742/problem/C 题目大意:从x出发,从x->f[x] - > f[f[x]] -> f[f[f[x]]] -> ..... -> y的步数需要t步,然后再从y出发回到x的步数也需要t步。问需要找到一个最小的t,使得任何一个x经过 阅读全文
posted @ 2016-12-07 17:41 知る奇迹に 阅读(154) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/469/problem/D 题目大意: 给你一个长度为n数组,给你两个集合A、B,再给你两个数字a和b。A集合中的每一个数字x都也能在a集合中找到x-a的数字。同理,b集合也一样。问,这个数组能否分成这两个集合?(然后坑点就是集合里面的元素 阅读全文
posted @ 2016-11-09 17:18 知る奇迹に 阅读(129) 评论(0) 推荐(0)
摘要:题目大意:团的定义就是,团内的所有点,两两之间各有一条边,团的大小就是点的个数。现给你一个n个点,m条边的图。问,该图中有多少点的个数为s的团。 (题目保证每个点的度数不超过20,n<=100, m<=1000, s<=10) 思路:由于度数不超过20,那么最多就是C20取9,于是我们暴力枚举一下就 阅读全文
posted @ 2016-11-02 11:18 知る奇迹に 阅读(141) 评论(0) 推荐(0)
摘要:http://acm.uestc.edu.cn/#/problem/show/381 题目大意:给你两个棋子:车、马,再给你一个n*m的网格,从s出发到t,你可以选择车或者选择马开始走,图中有一些障碍物,该障碍物是不能走的,走的图中有换一次棋子的机会,问最少需要几次能从s走到t? 思路:bfs来4次 阅读全文
posted @ 2016-10-19 19:39 知る奇迹に 阅读(163) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/680/problem/E 题目大意:给你一个n*n的图,然后图上的 . (我们下面都叫做‘点’)表示可以走,X表示不能走,你有如下的操作,每次你可以选择一个k*k的框,把其中的所有的X都变成 ‘点’,问在该操作后点相连的数目最多是多少? 阅读全文
posted @ 2016-10-01 14:58 知る奇迹に 阅读(193) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/680/problem/D 题目大意:给你一个大小为X的空间(X<=m),在该空间内,我们要尽量的放一个体积为a*a*a的立方体,且每次放入的立方体的体积要尽可能大,问最多能放几块? 感觉自己还是太菜了。。。这种题目都做不来TAT 思路:因 阅读全文
posted @ 2016-10-01 10:49 知る奇迹に 阅读(442) 评论(0) 推荐(0)
摘要:题目大意:给你一棵树,有n-1条边,每条边都有方向,每个顶点有权值,给出weak pair的定义是val[u]*val[v] <=k,u是v的祖先,问有多少对这样的顶点 思路:创建线段树,通过dfs动态创建,每次都不断更新。因为我们只能是根节点开始往下的,所以我们遍历到兄弟节点的之前要把其他的兄弟节 阅读全文
posted @ 2016-09-11 23:03 知る奇迹に 阅读(520) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/677/D 题目大意: 给你一个n*m的图,上面有p种钥匙(p<=n*m),每种钥匙至少有一个,期初所有为1的钥匙都是可拿的,拿到了该钥匙以后(假设该钥匙的val是v)就可以拿v+1种类的钥匙。问最后拿到第p个钥匙最少 阅读全文
posted @ 2016-08-26 15:09 知る奇迹に 阅读(192) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/707/problem/D 先说一下离线和在线:在线的意思就是每一个询问单独处理复杂度O(多少多少),离线是指将所有的可能的询问先一次都处理出来,最后对于每个询问O(1)回答。 然后说一下cf的这题: D. Persistent Bookc 阅读全文
posted @ 2016-08-21 18:31 知る奇迹に 阅读(133) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2016-08-20 19:02 知る奇迹に 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2016-07-23 15:01 知る奇迹に 阅读(0) 评论(0) 推荐(0)
摘要:和书上的方法不一样。。。 因为我不知道节点,所以就直接用map来存左右了。 #include<bits/stdc++.h> using namespace std; map <int, int> m; int l, r; int cnt; void dfs(int pos){ int t1; sca 阅读全文
posted @ 2016-07-07 13:05 知る奇迹に 阅读(107) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2016-06-25 17:06 知る奇迹に 阅读(0) 评论(0) 推荐(0)