
Codeforces
文章平均质量分 69
皓洲
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Educational Codeforces Round 98 (Rated for Div. 2) A-D题解
Educational Codeforces Round 98 (Rated for Div. 2) A-D题解 A 如果x和y差值小于等于1就直接输出x+y,否则最少需要走abs(x-y)-1步到达x和y差值小于等于1的位置。 #include<bits/stdc++.h> using namespace std; #define ll long long #define INF 0x3f3f3f3f #define mem(a,b) memset(a,b,sizeof(a)) #defin原创 2020-11-24 19:04:37 · 267 阅读 · 0 评论 -
Educational Codeforces Round 2 E. Lomsat gelral (权值线段树,动态开点+线段树启发式合并)
Educational Codeforces Round 2 E. Lomsat gelral (权值线段树,动态开点+线段树启发式合并) 题目 600 E. Lomsat gelral 题意 给你一个树(根节点为1),有n个节点,每个节点都有一种颜色,问你每个节点和其子节点一共有多少种颜色。(n<=1e5) 题解 最朴素的想法肯定是疯狂dfs,显然这是O(n2)的做法,不可取。 那么我们就要考虑到用树上启发式合并,这里我用的是权值线段树启发式合并。 思路是这样的: 从根节点开始dfs,为每一个叶子节原创 2020-11-14 20:51:23 · 193 阅读 · 0 评论 -
HDU 4815 Little Tiger vs. Deep Monkey(01背包求概率)
HDU 4815 Little Tiger vs. Deep Monkey(01背包) 题目 http://acm.hdu.edu.cn/showproblem.php?pid=4815 题意 给n道题,每题对应不同的得分,A,B两个人,B进行猜答案(每题答案只有两个),问,A至少要得多少分,才能有p的概率得分不低于B 题解 记dp[i][j]为前i道题,分数为j的做题方案,类似于01背包。 状态转移方程: dp[i][j] += dp[i-1][j]*0.5; if(j>=a[i]) dp[i][原创 2020-09-14 21:39:10 · 191 阅读 · 0 评论 -
Codeforces Round #670 (Div. 2) C. Link Cut Centroids(求树的重心)
题目 https://codeforces.com/contest/1406/problem/C 题意 让你删去一条边,再添加一条边,使得这个树的重心只有一个。 题解 首先我们要知道什么是重心,树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值。树可能存在多个重心。 具体可以看这篇文章:https://blog.csdn.net/weixin_43810158/article/details/88391828 题意 思路:如果找到只有一个重心,那么直接.原创 2020-09-14 21:28:21 · 184 阅读 · 0 评论 -
Educational Codeforces Round 94 (Rated for Div. 2) B - RPG Protagonist cf经典暴力思维
Educational Codeforces Round 94 (Rated for Div. 2) B - RPG Protagonist cf经典暴力思维 题目 https://codeforces.com/contest/1400/problem/B 题意 你和你的随从都有各自的最大携带空间。先店铺中有若干数量的剑和战斧,它们都有着各自的空间占量。问你们最多能带走多少把武器? 题解 优先拿完空间最小的,再去拿空间大的。 空间小的可以从0到tot遍历一遍,然后再拿空间大的。 这里要注意,先让P拿完空间原创 2020-09-10 22:30:46 · 281 阅读 · 0 评论 -
codeforces 暴力5e9 的秘密武器!
codeforces 暴力5e9 的秘密武器! 太激动了!我无意中发现了cf暴力5e9的秘密!我有一次比赛之后无意看了一份大佬的代码,发现他代码就是纯暴力,我以为是因为cf评测机真的太强了才能跑的5e9,结果自己的暴力就过不了,一直都想不明白,后来我无意研究了一下别人的代码,发现了一个神奇的东西… #pragma GCC optimize("Ofast") #pragma GCC target("avx,avx2,fma") #pragma GCC optimization ("unroll-loops")原创 2020-09-09 19:41:45 · 988 阅读 · 0 评论 -
Codeforces Round #665 (Div. 2) D - Maximum Distributed Tree(dfs记录子节点+贪心)
Codeforces Round #665 (Div. 2) D - Maximum Distributed Tree(dfs记录子节点+贪心) 题目 http://codeforces.com/contest/1401/problem/D 题意 给出一棵树和一个数k,请你给这棵树上的每条边分配一个边权,使得这棵树上的每两个节点之间的路径总和最大,同时边权中1的数量尽可能少,所有边权的乘积等于k。 题解 先记录出每个边被计算出来的次数,siz[i] = son[i]*(n-son[i]) 再给m个质数排序,原创 2020-09-08 10:44:16 · 132 阅读 · 0 评论 -
Codeforces Round #668 (Div. 2) D - Tree Tag(使用fa代替vis[]的dfs求树的直径+dfs求ab的距离)
Codeforces Round #668 (Div. 2) D - Tree Tag(使用fa代替vis[]的dfs求树的直径+dfs求ab的距离) 题目 http://codeforces.com/contest/1405/problem/D 题意 a和b都在树上,a要追到b的话a胜利,否则b胜利。 a先手,并且a最多走da步,b最多走db步。 题解 a胜利有两种情况,第一种情况是a第一步直接就可以碰到b,a直接胜利。 第二种情况是db<=2da,因为a可以把b逼到死胡同(树最远的子节点)此时b原创 2020-09-08 09:25:29 · 206 阅读 · 0 评论 -
Educational Codeforces Round 93 (Rated for Div. 2) A~C (暴力 5e9)
Educational Codeforces Round 93 (Rated for Div. 2) A~C (暴力 5e9) A - Bad Triangle 题意 找到是否有不符合三角形的三个边,有就输出,没有就输出-1 题解 找到前两个最小边,和一个最大的边判断a+b<=c,符合就输出。 代码 #include<iostream> #include<stdio.h> #include<string.h> #include<math.h> #incl原创 2020-08-17 21:32:39 · 633 阅读 · 0 评论 -
Codeforces Round #664 (Div. 2) A~D 思维+暴力
Codeforces Round #664 (Div. 2) A~D 思维+暴力 A - Boboniu Likes to Color Balls 比赛的时候比较暴力,就把所有情况讨论一下就好了。 在总数为偶数的情况下: 1、所有球都是奇数的,转换一次所有球就都是偶数了。 2、所有球都是偶数的,不用转换。 3、红蓝绿的球数量相同时,全部转为白就可以了。 总数为奇数的情况下: 1、红,绿,蓝,白其中有一个是奇数其他全是偶数,不用转换。 2、红,绿,蓝,白其中有一个是偶数其他全是奇数,转换一次就可以。 3、红蓝原创 2020-08-14 16:55:31 · 157 阅读 · 0 评论 -
Codeforces Round #663 (Div. 2) A ~ D 思维
Codeforces Round #663 (Div. 2) 题目: Codeforces Round #663 (Div. 2) A Suborrays 构造一个序列,满足以下式子 Pi一直按位取或到Pj >= j-i+1,随便构造以下就好了 #include<stdio.h> int a[1000]; int main() { int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); fo原创 2020-08-12 11:59:31 · 138 阅读 · 0 评论 -
Codeforces Round #588 (Div. 2) D. Marcin and Training Camp(set的储存和遍历)
题目 http://codeforces.com/contest/1230/problem/D 题意 一共有n个学生 它们用从1到n的整数进行索引。每个整数都可以用两个整数ai和bi来描述;bi等于第i个学生的技能水平(越高越好)。所以,有60个已知的算法,用0到59的整数进行编号。如果第i个学生知道第j个算法,那么第j个位(2j)设置在ai的二进制表示中。否则,此位不设置。 学生x认为他比学生y...原创 2019-09-26 20:33:56 · 136 阅读 · 0 评论 -
Codeforces Round #588 (Div. 2) C. Anadi and Domino
题目 http://codeforces.com/contest/1230/problem/C 题意 有如图所示的 21 个多米诺骨牌,给定一个无向图(无自环,无重边),一条边上可以放置一个或者不放置多米诺骨牌。要求是从一个顶点出发的边,如果放置两个多米诺骨牌的话,指向顶点的半个多米诺骨牌必须相同。(如图) 问给定的图中最多可以放多少个多米诺骨牌。 题解 如果n<=6的话,有多少条边就能...原创 2019-09-26 20:23:43 · 149 阅读 · 0 评论 -
Codeforces Round #587 (Div. 3) C. White Sheet
题目 http://codeforces.com/contest/1216/problem/C 题意 给你三个矩形的左下角坐标和右上角坐标。 第一个矩形为白矩形,第二第三个为黑矩形。 问两个黑矩形能不能将白矩形给覆盖住,可以输出NO,不能输出YES。 题解 分情况讨论: 第一二种是,单个黑矩形覆盖白矩形的情况。 第三种是两个黑矩形分别在左右覆盖白矩形的情况。 第四种是两个黑矩形分别在上下覆盖白矩形...原创 2019-09-22 10:13:46 · 150 阅读 · 0 评论 -
Codeforces Round #468 Div. 2 D. Peculiar apple-tree
题目 http://codeforces.com/problemset/problem/931/D 题意 给你一棵树,有n个节点,每个节点有一个苹果,在苹果成熟后,苹果会落下来,如果有两个苹果落到了同一个节点,那么这两个苹果会消失,问最后会有多少个苹果落到根节点。 题解 统计每个苹果落下来需要多少步,然后排序。sum统计相同步骤的个数,然后ans += sum%2 AC代码 #include<...原创 2019-09-21 14:58:58 · 170 阅读 · 0 评论 -
Codeforces Round #468 Div. 2 C. Laboratory Work
Codeforces Round #468 Div. 2 C. Laboratory Work 题目 http://codeforces.com/problemset/problem/931/C 题意 小明抄小红的作业,想尽可能的不被老师发现。意思就是小明和小红的作业数据必须尽少的相似,但是他们的平均数必须相同。 小红的作业,最大值和最小值之差不超过2,小明只能再这个[min,max]范围内抄数据...原创 2019-09-21 12:50:33 · 134 阅读 · 0 评论