codeforces
yxg_123
这个作者很懒,什么都没留下…
展开
-
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 阅读 · 0 评论 -
Codeforces Round #302 (Div. 2) D - Destroying Roads 图论,最短路
题目链接:http://codeforces.com/contest/544/problem/D题意:有n个城镇,m条边权为1的双向边 让你破坏最多的道路,使得从s1到t1,从s2到t2的距离分别不超过l1和l2题解:跑一发最短路,然后最后留下的图肯定是出了s1-t1,s2-t2这两条路之外,其他路都被删除了 那么我们枚举重叠的道路就好了【可能反向】代码:#include <bits/stdc+原创 2017-03-05 14:12:25 · 352 阅读 · 0 评论 -
Codeforces Gym 100733H Designation in the Mafia flyod
题目链接:http://codeforces.com/gym/100733/problem/H题意:给你每一个字符变成另外一个字符的花费 然后问你最小需要多少才能把这个字符串变成回文串题解:懂第三个样例,基本这道题就出来了(a->b->c) 注意要跑flyod,这个cost[x][y]不一定比cost[x][k]+cost[k][y]低代码:#include <bits/stdc++.h>us原创 2017-03-05 16:52:01 · 313 阅读 · 0 评论 -
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 · 214 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 204 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 223 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 414 阅读 · 0 评论 -
Codeforces Beta Round #75 (Div. 1 Only) B. Queue 线段树+二分
题目链接:http://codeforces.com/problemset/problem/91/B题意:给你一个数列,让你找到最右边比这个数小的数的位置,如果没有就输出-1题解:线段树中二分,查询最小值,然后二分区间就好了代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) mems原创 2017-03-06 22:06:50 · 385 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 209 阅读 · 0 评论 -
Codeforces Round #221 (Div. 1) B. Maximum Submatrix 2 dp排序
点击打开链接题意:给你一个01矩阵,行与行之间可以交换位置然后问你构成构成最大的只含1的矩形的面积是多少思路:首先我们预处理一下dp[j][i]表示第j列第i行往左边最远能延长多远因为列是不会变的,所以我们对于每一列都排序(贪心?),然后利用dp的思想往下找到dp[i][j]==0的时候break,因为显然剩下的都是0了原创 2017-02-21 23:52:06 · 162 阅读 · 0 评论 -
Codeforces Round #276 (Div. 1) D. Kindergarten dp
点击打开链接题意:给你n个连续的数,让你划分成连续的区间,每个区间的价值为此区间内最大最小值之差,问你这n个数形成的最大价值是多少思路:最终的被分出来的序列都应该是单调的,如果你是形如 4 6 1 的,很可能可以将4或者1分割出去得到更大的值贪心是让一段序列的元素少,这样构成的序列更多,获得的值也就可能越大。考虑v形倒v形就好了代码:#include原创 2017-02-22 01:22:31 · 196 阅读 · 0 评论 -
codeforces Gym 100500Problem H. ICPC Quest 简单DP
点击打开链接题意:你可以往下走,也可以往右走,然后问你从1,1走到n,m,求路过的和最大可以为多少思路: dp 注意初始化,有负数代码:#include using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,y) make_pair(x,y)co原创 2017-02-22 10:14:24 · 369 阅读 · 0 评论 -
Codeforces Gym 100342D Problem D. Dinner Problem Dp+高精度
点击打开链接题意:有n天,有k个人,安排这k个人做饭,问你有多少种安排方案,每个人至少得做一天饭思路: dp转移:dp[i][j] = dfs(i-1,j-1)*i + dfs(i,j-1)*(k-i); // 从前i个中选一个人在第j天做饭或者从i+1到k个人里选一个。代码:#include using namespace std;typedef unsigned lon原创 2017-02-22 10:42:37 · 222 阅读 · 0 评论 -
Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 括号序列 dp+栈
点击打开链接题意:给你一个括号序列,让你找到最长的连续的合法括号序列然后让你输出这个括号序列的长度是多少这么长的括号序列一共有多少个思路:看到括号匹配,就用stack来弄就好了然后我们dp一下,表示以这个字符结尾的序列的长度是多少代码://http://codeforces.com/problemset/p原创 2017-02-21 21:40:24 · 299 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Codeforces VK Cup 2015 - Qualification Round 1 D. Closest Equals 离线线段树 求区间相同数的最小距离
题目链接:http://codeforces.com/contest/522/problem/D题意:查询区间相同数的最小距离题解:用一个map记录前面的位置,然后离线搞一搞 单点更新,区间查询最小值代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,size原创 2017-03-11 21:39:35 · 381 阅读 · 0 评论