- 博客(71)
- 资源 (10)
- 收藏
- 关注
原创 Codeforces Round #321 (Div. 2) C. Kefa and Park dfs
题目链接:http://codeforces.com/contest/580/problem/C题意:给你一棵树,然后每个叶子节点会有一家餐馆 你讨厌猫,就不会走有连续超过m个节点有猫的路 然后问你最多去几家饭店题解:dfs代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) me
2017-02-28 22:16:53 208
原创 Hdu 5444 Elven Postman dfs
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5444题意:给你n个数字,这n个数字是按照二叉搜索树的节点特性给你的,让你建好这棵二叉搜索树,然后,再给出一些询问,让你回答从根节点到某个节点该怎么走? http://www.cnblogs.com/zyf0163/p/4805218.html?tvd 样例解释的题意题解:dfs: http://www
2017-02-28 20:17:06 322
原创 hihocoder #1224 : 赛车 dfs
题目链接:http://hihocoder.com/problemset/problem/1224题意:题解:首先我们先dfs出最长链,然后我们再dfs出每一个点能够最长延展多少 然后最后答案就是最长链的长度+最长延展多少就好了代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) me
2017-02-28 02:16:23 211
原创 Codeforces Gym 100338I TV Show DFS
题目链接:http://codeforces.com/gym/100338/attachments题意:一个人去参加电视有奖问答的节目,初始奖金为100元,每答对一道问题奖金翻倍,答错奖金清零。此外有一次保险机会:花费C的奖金,下一题可以答对奖金翻倍,答错奖金不清零。 现在给你答对每道题的概率,求最优答题策略的奖金期望。题解:http://blog.csdn.net/qq_15714857/ar
2017-02-28 01:42:59 351
原创 BZOJ 1024: [SCOI2009]生日快乐 dfs
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1024题意:题解:http://www.cnblogs.com/ljh2000-jump/p/6063364.html 直接搜索每次横着切还是竖着切,同时均分成多少块。因为每个人的面积相等,所以注意一下,切成两半后必须要保证两边分成的块数之比要等于面积之比,仔细想想就可以想通了因为对于当前长
2017-02-28 00:34:33 719
原创 Codeforces Gym 100650C The Game of Efil DFS
题目链接:http://codeforces.com/gym/100650/attachments题意:每个细胞如果四周细胞太少了,就会孤独而死,如果细胞周围细胞太多了,就会挤死。给你个布局,问你他的上一代布局会有几种。不过这道题的关键在于wrap around这个词,即边界是循环的。题解:数据范围很小,n*m<=16,所以直接dfs出所有的状态 然后再check代码:#include <bits
2017-02-27 20:39:56 289
原创 Codeforces Gym 100650B Countdown DFS
题目链接:http://codeforces.com/gym/100650/attachments题意:给你n个父子关系,然后让你求出前三多的第d代儿子的人是谁题解:建一棵树。dfs搞一搞代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof(a))
2017-02-27 19:46:11 375
原创 CodeForces Gym 100500A A. Poetry Challenge DFS
题目链接:http://codeforces.com/gym/100500/attachments题意:文字接龙,谁接不下去了,就算谁输 输出赢家 都很聪明的情况下题解:看起来是博弈 不会啊 这个dfs还不懂 qsc ls:转化成图论之后,直接DFS爆搜就好了!代码:#include <bits/stdc++.h>using namespace std;typedef long lo
2017-02-27 18:02:00 413
原创 cdoj 483 Data Structure Problem DFS
题目链接:http://acm.uestc.edu.cn/#/problem/show/483题意:给你n个数,然后这n个数构成的二叉树,是平衡二叉树还是堆题解:dfs 根据题目中给的 堆 (a[x]>=a[x*2] && a[x]>=a[x*2+1]) || (a[x]<=a[x*2] && a[x]<=a[x*2+1]) 最大堆 最小堆 BST (a[x]>a[x*2] && a[
2017-02-27 13:16:56 247
原创 Codeforces Round #313 (Div. 1) B. Equivalent Strings DFS暴力
题目链接:http://codeforces.com/contest/559/problem/B题意:判断俩字符串是否相似,相似的条件如下: a1+a2=A,a1和a2都是A的一半 b1+b2=B,同理 如果A,B相等,那么相似 如果A的长度为偶数{ 如果a1与b1,a2与b2相似或者a1与b2,b1与a2相似 那么A,B相似 } 否则不相似题解:dfs代码:#include
2017-02-27 12:11:44 290
原创 Codeforces Gym 100463D Evil DFS
题目链接:http://codeforces.com/gym/100463题意:给你一个坐标系,上面有n个点,要求找到一个矩形,使得能够框住一半的红点,不框进任何一个蓝点,求最小矩形面积题解:暴力枚举,注意,矩形面积可以为0代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) mems
2017-02-27 09:11:44 222
原创 codeforces Gym 100187J J. Deck Shuffling dfs
题目链接:http://codeforces.com/gym/100187/problem/J题意:给你一堆牌,和一些洗牌机,可以改变牌的顺序,问你能不能通过洗牌机把数字为x的牌洗到第一个位置。 样例一: 最初的牌 4 3 2 1 通过第一个洗牌机把第四个位置的x(=1)洗到第三个位置 然后 第二个洗牌机把当前在第三个位置x洗到第一个位置题解:建边,把洗牌机每个位置–>下一个位置(也就是这个
2017-02-27 01:21:03 352
原创 Codeforces Round #308 (Div. 2) C. Vanya and Scales dfs
题目链接:http://codeforces.com/contest/552/problem/C题意:给你100个砝码,第i个砝码质量是w^i,然后问你能不能在有m的情况下,左边和右边都放砝码,使得这个天平平衡题解:dfs直接暴力 对于这个砝码来说,只有3种选择,放左边,不放,放右边 由于2和3直接输出yes,所以答案也就没多少了正解:m的w进制, 从低位到高位 模拟。。 每一位只能是0,1,
2017-02-26 23:52:27 203
原创 Codeforces Round #306 (Div. 2) B. Preparing Olympiad dfs
题目链接:http://codeforces.com/contest/550/problem/B题意:有n门课,然后让你选择一些课,要求这些课程的和小于等于r,大于等于l,最大值减去最小值至少为x 然后问你有多少种分法题解:数据范围小 n<=15 所以可以把n门课 变成二进制的状态0~(1<代码:dfs ~#include <bits/stdc++.h>using namespace std;
2017-02-26 21:28:17 214
原创 Codeforces Round #402 (Div. 2)D. String Game 二分
题目链接:http://codeforces.com/contest/779/problem/D题意:给两个串,给出删掉第一个串的第几位的序列,问 最多能删除几次 使得第二个串还是第一个的子序列题解:二分 KMP不会= = 就照着没用kmp的人 写了一下 当时没敢写 md !代码:#include <bits/stdc++.h>using namespace std;typedef long
2017-02-26 20:25:37 213
原创 hdu 4499 Cannon dfs
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4499题意:在一个象棋棋盘上放炮,要求两个炮不能互相打到,然后问你最多能放几个炮题解:dfs 一直dfs到最后一行最后一列 就可以 每个点只往上和往左扫了 vis[x][y]= 0 表示这个点没有棋子 1表示 普通的棋子 2表示 炮代码:#include <bits/stdc++.h>using n
2017-02-26 20:01:46 293
原创 cdoj 15 Kastenlauf dfs
题目链接:http://acm.uestc.edu.cn/#/problem/show/15题意:n+2个点,要求每个点之间的距离小于等于1000就可以走过去,然后问你能否从1走到n+2题解:dfs代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof
2017-02-26 18:38:07 268
原创 hdu5254 棋盘占领 dfs
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5254题意:题解:暴力代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof(a))#define MP make_pair#define PB pus
2017-02-26 15:18:13 216
原创 CDOJ 215 吴队长征婚 DFS+剪枝
题目链接:http://acm.uestc.edu.cn/#/problem/show/215题意:题解:http://www.lai18.com/content/7765203.html 剪枝1:大木棍长度只可能是sum的约数 剪枝2:重复的木棍就可以不用枚举了 剪枝3:每次都从最长的开始枚举代码:#include <bits/stdc++.h>using namespace std;t
2017-02-26 13:21:51 494
原创 CDOJ1085 基爷与加法等式 爆搜DFS
题目链接:http://acm.uestc.edu.cn/#/problem/show/1085题意:题解:因为进位,从低位搜代码:http://www.cnblogs.com/qscqesze/p/4489781.html#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset
2017-02-26 11:41:41 272
原创 Codeforces Round #245 (Div. 2) C. Xor-tree DFS
题目链接:http://codeforces.com/contest/430/problem/C题意:一棵以1为根节点的树,每个点都是1或者0, 选定一个节点x,当前值取反,x的孙子,孙子的孙子。。。均取反 然后问你最少翻转多少次可以到达目标位置,且翻转的是哪些 点题解一:深度浅的点一定是受影响最小的(根节点只受自己的影响),所以从根依次向下递推处理代码一:#include <bits/stdc
2017-02-26 01:16:49 225
原创 Codeforces ZeptoLab Code Rush 2015 B. Om Nom and Dark Park DFS
题目链接:http://codeforces.com/contest/526/problem/B题意:n表示几层边 使从根走到每个叶子所要的花费都相同,问最少得增加多少边权?题解:把每个点与父节点的边 和 这个点 编号相同, 这样就使得每条边的编号是它儿子的编号的2倍 DFS,自底往上,预处理前缀和 然后ans加上左右叶子的差值,然后一直跑DFS就是了代码:#include <bits/std
2017-02-25 18:57:37 276
原创 Codeforces Round #297 (Div. 2)E. Anya and Cubes 折半搜索
题目连接:http://codeforces.com/contest/525/problem/E题意:n个数,k个魔法棒,s为所求的数,然后让你找有多少种方法,能够使的这n个数之和为s,其中一个魔法棒可以使的一个数变成他的阶乘。题解:第一种:http://blog.csdn.net/weizhuwyzc000/article/details/50043151 对于每一层,有3种决策: 不选这个数,
2017-02-25 17:34:55 268
原创 Codeforces Round #401 (Div. 2)A B C
题目连接:http://codeforces.com/contest/777A. Shell Game题意题解:6是循环节,判一下奇偶代码#include <bits/stdc++.h>using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,y) make_pair(x
2017-02-25 01:32:40 178
原创 Codeforces Round #297 (Div. 2)D. Arthur and Walls 搜索bfs
题目链接:http://codeforces.com/contest/525/problem/D题意给你一个n*m的田地,有一些*的地方是可以移除变成"."的,然后问你移除最少的"*",使的每一个"."的联通块都是矩形题解:2*2 的矩形中,如果有一个 '*' 与三个 '.' ,那么这个 '*' 就一定要变成 ‘.' ,然后bfs代码#include <bits/stdc++.h>using
2017-02-25 00:56:43 215
原创 noip 1995 灯的排列问题 排列组合 DFS
题目描述设在一排上有N个格子(N≤20),若在格子中放置有不同颜色的灯,每种灯的个数记为N1,N2,……Nk(k表示不同颜色灯的个数)。 放灯时要遵守下列规则:①同一种颜色的灯不能分开;②不同颜色的灯之间至少要有一个空位置。 例如:N=8(格子数)R=2(红灯数)B=3(蓝灯数) 放置的方法有: R-B顺序
2017-02-24 16:16:23 2252
原创 hdoj 4272 LianLianKan 数据太水
点击打开链接题意:给出一个序列,其中距离不超过6的两个相同的数字可以消除掉(从上往下消,输入是从底向上的),问能不能全部消除。思路:状压dp http://www.cnblogs.com/swm8023/archive/2012/09/10/2679455.html因为最坏情况下,它后面的四个数字能被它前面的四个数字消掉,这样它就能和原来是它后面的第9个元素相消了,最多
2017-02-24 15:00:16 180
原创 hdu 4277 USACO ORZ DFS
点击打开链接题意:n个棍子,棍子可以接起来,然后问你能够拼成多少个完全不同的三角形思路:3^15=14 348 907,所以直接暴力然后hash一下就好代码:#include using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,y) make_
2017-02-24 10:46:09 254
原创 hdu5113 Black And White DFS+剪枝
点击打开链接题意:给你n*m的方格,你要用k种颜色去填,每种颜色要填ci次,并且要保证没有任意两个相邻的格子有相同的颜色,构造一种可行方法。思路:直接暴力回溯+剪枝,当没填的颜色中同种颜色数量超过(剩余格子+1)/2的时候,不可能合法。代码:#include using namespace std;typedef long long ll;#define me
2017-02-23 21:38:30 230
原创 ZOJ 3631 Watashi's BG DFS
点击打开链接思路:本来是一个背包问题,背包容量太大,就T了于是就只有DFS然后搜索,注意剪枝代码:#include using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,y) make_pair(x,y)const int INF = 0x
2017-02-23 20:24:10 237
原创 zoj3626 Treasure Hunt I 树上DP
点击打开链接题意:给你一颗树,然后每个点有一个价值,每个边有一个代价,然后问你,从k点出发,花费最多m/2的代价,能够取得最多的价值是多少。思路:树上背包问题,dp[i][j]表示从i点出发,花费j的代价所能取得的最大价值是多少。转移方程为 dp[i][j]=max(dp[i][j],dp[i][m-k-t[i][v]]+dp[v][k]) 就是以u为父节点 走不走v这个点
2017-02-23 19:39:54 229
原创 poj 1088 滑雪 记忆化搜索
点击打开链接代码:#include #include #include using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,y) make_pair(x,y)const int INF = 0x3f3f3f3f;const ll INFLL =
2017-02-23 19:28:51 227
原创 hdu1269 移动城堡 联通分量 Tarjan
点击打开链接思路:tarjan求强连通分量 判断ans==n?卿学姐视频:http://www.bilibili.com/video/av7330663/代码:#include using namespace std;const int INF = 1<<30;const int maxn = 1e4+7;int dfn[maxn],low[maxn],vis[max
2017-02-23 18:58:43 239
原创 bzoj4247 挂饰 背包DP
点击打开链接思路:背包问题,dp[i][j]表示在考虑第i个物品的时候,还剩下j个挂钩注意,要按照挂钩多少排序,如果不排序的话,挂钩有可能会变成负数,然后又被加成正数代码抄自:http://blog.csdn.net/creationaugust/article/details/48133509 这个初始化 和 这个转换: 把一开始读入体积为0的物品的
2017-02-23 17:42:29 248
原创 喵哈哈村的魔法考试 Round #1 (Div.2) C 喵哈哈村的魔法石(II) 背包dp
点击打开链接思路:dp[j][k]表示能量用了j的人之精华,k的地之精华的最小花费。转移:dp[j][k] = min(dp[j][k],dp[j-a[i]][k-b[i]]+c[i]);注意,这是一个01背包,所以你得倒着枚举这个状态,以保证状态不会覆盖。(或者你直接三维状态表示也可以。)代码:#include using namespace s
2017-02-23 16:21:49 226
原创 bzoj 1911 [Apio2010]特别行动队(斜率优化+DP)
点击打开链接思路:斜率优化。设f[i]表示将前i个分组的最优值,则有转移方程式:f[i]=max{ f[j]+a*(s[i]-s[j])^2+b*(s[i]-s[j])+c }经过化简得到:f[i]=max{ (f[j]+a*s[j]^2-b*s[j])-2*a*s[i]*s[j] } + a*s[i]^2+b*s[i]+c单调队列维护上凸包即可。y[j] = (f[j
2017-02-23 15:01:45 236
原创 bzoj 3156 防御准备(斜率优化+DP)
点击打开链接思路:f[i] 表示前i个的最小花费 转移:f[i] = f[j] + (i-j)*(i-j-1)/2 + A[i];需要注意的是过程中数据超范围代码一:#include using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,
2017-02-23 13:44:10 341
原创 hdu3480 Division(斜率优化+二维DP)
点击打开链接题意:给你一些数,把这些数分成M组,每组的花费是这组的 (max-min)^2。求最小花费思路:斜率优化+二维DPf[i][m] 表示将前i个分作m个集合所得最小消费首先应该排序,假设1,2,3,5,4 第四个数是5,花费一定比是4大。【贪心】f[i][m] = min{f[j][m-1]+(a[i]-a[j+1])*(a[i]-a[j+1])}; 排
2017-02-23 12:16:53 300
原创 hdu3045 Picnic Cows(斜率优化DP)
点击打开链接题意:有n个奶牛分别有对应的兴趣值,现在对奶牛分组,每组成员不少于t, 在每组中所有的成员兴趣值要减少到该组的最小值,问总共最少需要减少的兴趣值是多少。思路: 斜率优化+DP转移方程为:f[i]=min{ f[j]+sum[i]-sum[j]+(i-j)*a[j+1] } T其中sum表示a的前缀和。如果j>k且决策j优于决策k则有f[j]
2017-02-23 01:58:22 582
GaaihoReader_CHS_ALL_4.20.tar
2020-02-11
操作系统实验八 文件管理
2018-06-13
操作系统实验七 磁盘调度
2018-06-13
操作系统实验六 页面置换算法
2018-06-13
操作系统实验五 内存管理
2018-06-13
操作系统实验四 设备管理
2018-06-13
操作系统实验三 作业调度
2018-06-13
操作系统实验二 银行家算法
2018-06-13
操作系统实验一: 进程调度
2018-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人