【Codeforces Round #518 (Div. 2)】】的更多相关文章

A:https://www.cnblogs.com/myx12345/p/9847588.html B:https://www.cnblogs.com/myx12345/p/9847590.html C:https://www.cnblogs.com/myx12345/p/9850705.html D:https://www.cnblogs.com/myx12345/p/9851785.html E: F:…
[链接] 我是链接,点我呀:) [题意] [题解] 找到度数为1的点. 他们显然是叶子节点. 然后每个叶子节点. 往上进行bfs. 累计他们的父亲节点的儿子的个数. 如果都满足要求那么就继续往上走. 直到不能走.或已经走了k步. 且要求走了k步之后.他们都到了同一个节点.(根节点 这道题. n=1的时候,认为是无解的. (因为题目中说"some vertices of degree 1",也就是说必须>= 1....... [代码] /* find each vertex i w…
The Monster 签到题,算一下b+=a和d+=c,然后卡一下次数就可以了. Not Afraid 只要一组出现一对相反数就是安全的. Berzerk 题意:[1,n],两个人轮流走,谁能走到1谁就赢,求每个人先手在[2,n]时的胜负情况. 一直没怎么写过博弈论的题,但其实这种题也只是一个bfs. 必胜态:有一条边走到必败态 必败态:连出去的所有边都是必胜态. 方法:倒着bfs,把1作为必败态进队,如果当前是必败态,能到达都是必胜态,如果当前是必胜态,能到达的所有的点入度-1,如果入度减到…
这题看别人的.就是那么诚实.http://www.cnblogs.com/zhyfzy/p/4117481.html B. Queue During the lunch break all n Berland State University students lined up in the food court. However, it turned out that the food court, too, has a lunch break and it temporarily stopp…
Bear and Big Brother 签到题,直接模拟就可以了. Bear and Friendship Condition 满足只能是每个朋友圈中每个人和其他人都是朋友,这样的边数的确定的. 然后并查集求每个朋友圈大小再判断是否合法就可以啦. #include<cstring> #include<cstdio> #include<cmath> #include<algorithm> #define LL long long #define maxn 3…
A. Anton and Polyhedrons 直接统计+答案就可以了. #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define maxn 1000 #define LL long long using namespace std; ]; int main() { int n; LL sum=; scanf("%d",&n);…
A:https://www.cnblogs.com/myx12345/p/9844334.html B:https://www.cnblogs.com/myx12345/p/9844368.html C: D: E: F:…
A:https://www.cnblogs.com/myx12345/p/9843198.html B:https://www.cnblogs.com/myx12345/p/9843245.html C:https://www.cnblogs.com/myx12345/p/9843293.html D:https://www.cnblogs.com/myx12345/p/10072307.html E:https://www.cnblogs.com/myx12345/p/10073117.htm…
传送门 分析 这道题做了好长时间,题意就很难理解. 我们注意到这句话Vertices which have the i-th (1 ≤ i ≤ m) type of ice cream form a connected subgraph 也就是说在最后的图中相同颜色的点构成一个连通图 也就是说如果1和2.3在不同的点共同出现,那么2和3一定不会在某个点共同出现.于是我们可以直接暴力dfs,在每个点对没有颜色的冰激凌贪心染最小的颜色. 需要注意有某种冰激凌没有出现的情况. trick 代码 #in…
A:https://www.cnblogs.com/myx12345/p/9842904.html B:https://www.cnblogs.com/myx12345/p/9842964.html C:https://www.cnblogs.com/myx12345/p/9842977.html D:https://www.cnblogs.com/myx12345/p/9852909.html E:https://www.cnblogs.com/myx12345/p/9932309.html…
Codeforces Round #518 (Div. 2) [Thanks, Mail.Ru!] https://codeforces.com/contest/1068 A #include<bits/stdc++.h> using namespace std; #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 #define sqr(x) ((x)*(x)) #define pb push_back #def…
[题目链接]:http://codeforces.com/contest/821/problem/C [题意] 给你2*n个操作; 包括把1..n中的某一个数压入栈顶,以及把栈顶元素弹出; 保证压入和弹出操作都恰好各n个; 且压入的n个数字都各不相同; 在弹出栈的时候你可以把栈中的元素重新排列; 要求弹出的数形成的数列恰好组成1..n; 问你最少需要重新排列多少次; [题解] 对于每一个remove操作,其实已经能确定接下来要输出的是几了; 在进行重新排操作的时候; 你可以假定自己"很聪明&qu…
[题目链接]:http://codeforces.com/contest/821/problem/B [题意] 当(x,y)这个坐标中,x和y都为整数的时候; 这个坐标上会有x+y根香蕉; 然后给你一条直线的方程y=1mx+b 给你m和b; 让你在这条直线以下选一个长方形; (长方形的边都要和坐标轴平行,见样例图); 然后你可以把整个长方形内的所有点上的香蕉都拿走; 问你最多能拿走多少个香蕉; [题解] 枚举长方形的右竖边的x轴坐标; 可以得到上边的y坐标(当然取最大了); 左竖边当然是x=0了…
[题目链接]:http://codeforces.com/contest/821/problem/A [题意] 给你一个n*n的数组; 然后问你,是不是每个位置(x,y); 都能找到一个同一行的元素q和同一列的元素w; 使得q+w=a[x][y] [题解] O(N4)模拟 [Number Of WA] 0 [反思] 不用考虑会选到a[x][y]本身. [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,rt…
[Link]:http://codeforces.com/contest/828/problem/C [Description] 让你猜一个字符串原来是什么; 你知道这个字符串的n个子串; 且知道第i个字符t[i],在k[i]个位置出现过; 且告诉你这k[i]个位置在哪里; 数据不会产生矛盾; 让你输出最终的字符串,输出字典序最小的那个; [Solution] 对于输入的n个子串; 对于每个位置; 看看那个位置有没有子串之前出现过,没有的话,就放在那个位置; 否则,如果当前这个子串ti的长度比原…
[Link]:http://codeforces.com/contest/828/problem/B [Description] 给你一个n*m的格子; 里面包含B和W两种颜色的格子; 让你在这个格子中画一个正方形; (大小,位置自己选但要求覆盖到所有现有的黑棋子); 然后,把里面的白棋子,染成黑棋子; 问你最少需要染多少个白棋子; [Solution] 先得到一个矩形(这个矩形覆盖所有的黑棋子); 然后枚举所需要的正方形的左上角的位置; 这个正方形必然要覆盖这个矩形; 则这个左上角只能在这个正…
[Link]:http://codeforces.com/contest/828/problem/A [Description] 有n个组按照时间顺序来餐馆; 每个组由一个人或两个人组成; 每当有一个组来餐馆的时候; 按照如下优先顺序安排; ①组内只有一个人的情况 先看有没有空的单人桌,再看有没有空的双人桌,最后看已经有一个人的双人桌 ②组内有两个人的情况 只看双人桌; 如果不能找到符合要求的; 直接拒绝他们的请求; 问:有多少人会被拒绝; [Solution] 注意那里的顺序就好; 另外开一个…
[题目链接]:http://codeforces.com/contest/822/problem/D [题意] 有n个人参加选美比赛; 要求把这n个人分成若干个相同大小的组; 每个组内的人数是相同的; 然后每个组内的人,两两比较; 每个组得出最美的人; 然后每个组中最美的人再重复上述步骤; 直到只剩一个人; 问你如何选定每个阶段的分组; 使得比较的次数最少; [题解] 只考虑一轮的情况; 设x是分组后每个组的人数; 然后一共有n个人; 则这一轮比较的次数就为 nx∗x∗(x−1)2 ->n∗(x…
[题目链接]:http://codeforces.com/contest/822/problem/C [题意] 有n个旅行计划, 每个旅行计划以开始日期li,结束日期ri,以及花费金钱costi描述; 让你在这n个旅行计划中选出两个计划; 要求这两个计划的日期没有相交的部分; 且这两个日期的总时间长度恰好为x; 让你求最小花费 [题解] 先把每个计划按照左端点第一优先级,右端点第二优先级升序排序; 然后定义一个dp[x]数组,表示在前i个计划中,时长为x,且右端点的位置< a[i].l的一个旅行…
[题目链接]:http://codeforces.com/contest/822/problem/B [题意] 让你用s去匹配t,问你最少需要修改s中的多少个字符; 才能在t中匹配到s; [题解] O(n2)的暴力搞就好; [Number Of WA] 1 [反思] 一开始判断的时候脑抽了; 写成只有s[1]==t[1]的时候才枚举; hack点是: 很多人两重for循环,没有给j层循环加限制; 直接两层循环1..n和1..m [完整代码] #include <bits/stdc++.h> u…
[题目链接]:http://codeforces.com/contest/822/problem/A [题意] 让你求a!和b!的gcd min(a,b)<=12 [题解] 哪个小就输出那个数的阶乘 [Number Of WA] 0 [反思] [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define L…
[题目链接]:http://codeforces.com/contest/820/problem/B [题意] 给你一个正n边形; 然后让你在这正n边行中选3个点,组成一个角; 找出角的大小和所给的角最接近的角; [题解] 同弧所对应的圆周角都是相同的; 而且每个正多边行都能作出一个外接圆; 所以随便选两个相邻的点;然后再选其他 n-2个点中的一个点组成角; 就能覆盖到所有的情况了; 顺序增加角的大小就好(一份一份地加); [Number Of WA] 0 [反思] 想说是B题; 就没往复杂的地…
[题目链接]:http://codeforces.com/contest/820/problem/A [题意] 每天看书能看v页; 且这个v每天能增加a; 但是v有上限v1; 然后每天还必须往回看t页; 问你最少多少天能看完; 一共有c页; [题解] 傻逼题. [Number Of WA] 1 [反思] 在处理超过v1的时候没搞好. [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,rt<<1…
[Link]:http://codeforces.com/contest/831/problem/A [Description] 让你判断一个数列是不是这样一个数列: 一开始是严格上升 然后开始全都是一个数字 然后又开始严格下降 [Solution] 枚举中间全部相同的是哪个数字; 假设是i..j这一段 则看看1..i是不是严格上升,以及j+1..n是不是严格下降; 如果所有的这样的i..j都不满足则无解; 找到一组则有解; [NumberOf WA] 0 [Reviw] 找到最特殊的地方: 抓…
[Link]:http://codeforces.com/contest/831/problem/B [Description] 两个键盘的字母的位置不一样; 数字键的位置一样; 告诉你第一个键盘按某个键,在第二个键盘上对应哪个键(大写.小写字母) 然后给你一段由第一个键盘输入的文本,问如果用第二个键盘输入,会输出什么. [Solution] 用map一一对应就好; [NumberOf WA] 0 [Reviw] 这种对应关系的题,map无敌; [Code] #include <bits/std…
[Link]:http://codeforces.com/contest/831/problem/C [Description] 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对这个人评分; 依照时间顺序依次给出这k个人的评分(可能为负数,负数的时候,表示分数会降低,而如果为正,则分数增加); 然后有一个人记得这k次评分中的n次评分过后这个人的评分; (即知道其中k个评委评完分之后,那个人的k个即时分数) (这k个分数各不相同); 问你x有多少种不同可能; [Solutio…
[Link]:http://codeforces.com/contest/832/problem/D [Description] 给你一棵树; 然后给你3个点 让你把这3个点和点s,t,f对应; 然后s先从s走到f; 之后t再从t走到f; 求这两条路径的公共路径的长度; [Solution] 答案为 dis(s,f)+dis(t,f)−dis(s,t)2 树上最短路径做一下就好; LCA! [NumberOf WA] 0 [Reviw] 想得太慢了 [Code] #include <cstdio…
[Link]:http://codeforces.com/contest/832/problem/B [Description] *能代替一个字符串(由坏字母组成); ?能代替单个字符(由好字母组成); 问你每个串能不能被匹配 [Solution] 对于没有*的情况; 先判断长度是否相同,不相同则不行; 否则看看问号所在的位置是不是?且,看看?对应的字母是不是好字母; 对于有*的情况; 先把左边和右边的字符和母串的对应位置对应起来; 左对齐比较和右对齐比较 然后中间部分就是用坏字母组成的字符串了…
[Link]:http://codeforces.com/contest/839/problem/B [Description] 给你n排的如题目所示的位置; 同一排中(1,2) 算相邻; (3,4),(4,5),(5,6)算相邻,然后(7,8)算相邻; 这里的(x,y)表示某个人坐在x,另外一个人坐在y的话. 问你够不够安排k组的人; 使得相邻座位的人都是相同组的人; 是则输出YES-. [Solution] 中间的那4个位置; 是没办法用来放不同组的成对的. 也即 xxyy不能放在中间那4个…
[Link]:http://codeforces.com/contest/835/problem/D [Description] 给你一个字符串; 让你在其中找到1..k阶的回文子串; 并统计它们的数量 如果一个字符串是一个回文串,则它可以是1阶子串; k阶字符串,要求它的左边和右边都是k-1阶子串; [Solution] bo[i][j]表示i..j这一段是否为回文; 可以用O(n2)的复杂度处理出整个bo数组; 然后O(n2)枚举每一段区间; 算出这个区间的字符串最大可以是一个几阶字符串记为…