自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Educational Codeforces Round 81 (Rated for Div. 2)

题目链接 D. Same GCDs 题意: You are given two integers a and m. Calculate the number of integers x such that 0≤x<m and gcd(a,m)=gcd(a+x,m). 思路: gcd(a,m) = gcd(a+x, m) so if gcd(a, m) = k then gcd(a,m) /...

2020-01-31 19:51:48 116

原创 Educational Codeforces Round 80 (Rated for Div. 2) D. Minimax Problem

题目链接 题目意思: n*m的数组, 选取两行,两行合并成一行,取对应位置上的最大值,然后再取这行的最小值。使这个最小值最大,问这两行的行号。 每行的数字最多八个, 思路: 看到每行最多八个数, 就要想到二进制位优化。 首先要二分出来最大的数 x , 对于这个数,我们进行check。 然后对于每一行, 这一行中如果大于 x, 就设为1, 否则就设为 0, 这样每行就可以组成一个数 y 。vis[...

2020-01-26 20:03:28 154

原创 Codeforces Round #605 (Div. 3) E. Nearest Opposite Parity

题目链接 题意: N 个数, 每个数a[i], 从 i 这个位置 只可以走到 i + a[i], i - a[i], 前提是走到的位置在 1 - n 之间, 问从 i 这个位置最少走几步走到j,a[i] 和 a[j] 的奇偶不一样 思路: 我一开始的思路就是用记忆化搜索, f 数组代表当前位 i 的答案, 如果搜到了 j 这个位置 且 j 这个位置的 f[j] 有值, 那么就直接返回就可以了, 但...

2020-01-24 13:47:05 195

原创 Educational Codeforces Round 78 (Rated for Div. 2) D. Segment Tree

题目链接 题意: n 个点, 每个点有一个区间,任意两个区间的值都不一样, 值从 1 - 2*n, 如果两个区间有交,那么代表这两个点有边,问这n个点是不是一棵树 思路: 刚看完题就会有一个简单的思路: 那就是先排序, 然后判断两个点的区间是不是交, 如果是交的话那么就用 并查集 并起来。 简单的思路就是这样, 但是实现起来的时候,时间复杂度会很大, 所以我们要想一种优化的方法,优化时间复杂度。 ...

2020-01-22 21:32:37 231

原创 Codeforces Round #352 (Div. 2)

C. Recycling Bottles 题意: 在网格上有n个瓶子,现在有两个人A和B,他们有自己的起始位置,还有一个垃圾桶的位置,求捡完瓶子之后两个人走的最短距离是多少。捡瓶子的步骤是:先去捡瓶子,然后扔到垃圾桶。 思路: 我们先假设把所有的瓶子都捡了,记录一个答案 ans, 代表要走多少路, 然后我们找出来从 A 的出发点走会减少多少距离, 从 B 的出发点走会减少多少距离。 所以我们只需要...

2020-01-20 20:02:23 149

原创 Hello 2020 D. New Year and Conference

题目链接 题意: 有 n 个事件,在 A 会议室开会的时间段是 abegin aend, 在 B 会议室开会的时间段是bbegin bend。 现在的要求是在 A 会议室中任意事件相交,那么在 B 会议室中这些事件也要相交, 同理,在 B 会议室中任意事件相交,那么在 A 会议室中这些事件也要相交, 如果满足条件 输出 YES , 否则输出 NO。 思路: 对于所有的事件, 我们按照在 A 会议室...

2020-01-20 15:58:22 152

原创 Codeforces Round #613 (Div. 2) D. Dr. Evil Underscores

题意: 给你一些数, 找一个数x, 使得与所有数的亦或最大的那个值 最小 x 思路: 亦或的话, 肯定是位数是从大到小来枚举, 如果所有的数中,当前位上的值是一样的,那么 x 在这个位上就一定是 0, 如果这个位既有0也有1, 那么就要分两种情况来考虑,填 1 会怎么样, 填 0 会怎么样,然后把数分成两拨,一波是当前位是1 的, 一波是当前位是0的。 然后不断递归下去。 所以dfs 转移的时候...

2020-01-18 18:25:31 144

原创 Codeforces Round #612 (Div. 2) B. Numbers on Tree

题意: 给你一棵树, 还原树上每个节点的价值, 首先树上的每个节点都有一个数,代表这个节点子树中有多少个节点的价值小于当前节点。 思路: 对于每一个节点,我们维护一个数组,然后数组中的值就是当前节点和当前节点子树的编号, 然后数组中的下标就代表每个节点的价值。 dfs 回溯之后,我们就可以知道当前节点插入到数组的哪一个位置。 对于怎么维护一个数组, 我们就可以用 vector 。vector 支...

2020-01-18 17:29:41 129

原创 Codeforces Round #350 (Div. 2) F. Restore a Number

题意: 小明写了一个大数字 n ,然后再这个数字后面又加了一个数字 k , k 是 n 的位数 现在小明把完整的数字传给了小红, 但是在传输的过程中出现了意外,小红收到的数字的内容是打乱的, 现在知道的是小明还记得 大数字 n 的一部分,也就是他的字串,让你还原这个数字 n, 且让这个数字 n 尽可能的小。 记住,不能又前导零, 一个单个的 零 是允许的。 输入是小红收到的数 还有小明记住的数 思...

2020-01-14 11:39:40 112

原创 dij + spfa + Tarjan

Dij #include<bits/stdc++.h> using namespace std; typedef pair<long long,int> P; // const int N = 2e5+100; int a[N],n,m,k,t; int Head[N],Next[N*2],To[N*2],cnt = 0,val[N*2]; long long dis...

2020-01-13 15:52:04 206 1

原创 Codeforces Round #567 (Div. 2)

A. Chunga-Changa 简单题 B. Split a Number 题意: 给你一串数字,要你把这串数字分成两部分,然后把两部分加起来的和最少。 要分成的两部分有一个原则, 就是分成的两部分不能有前导零。 思路: 一个大体的思路肯定就是把串分成相同长度的两个串,这样才能最小。 所以就找中间位置就可以了。 如果中间位置上是0, 那就向前或者向后找第一个不为零的位置。 C. Flag 题意:...

2020-01-12 15:41:49 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除