Codeforces Round #375 (Div. 2) A B C D F

A 数轴上有三个人要到一个点去过年 使三个人走路距离的和最小  让两边的人都走到中间那个点即可

B 给出一个字符串 其中有_ ( ) 三种字符和英文字母 连续的英文字母是一个单词 括号对中不会套括号对 求 括号外最长的单词长度 括号内有多少单词

维护一个bool变量表示当前单词在不在括号内 res表示当前单词的长度 可见 _() 都是分隔符

C 给出一个节目表 其中有n个曲目 每一个ai 代表这个曲目由ai乐队演奏 但是某人只喜欢标号是1-m的乐队 现在他可以对每个节目的乐队进行更换 问 最少更换多少次之后 在这个节目单上 他喜欢的1-m个乐队中 演奏曲目最少的乐队 演奏曲目能达到最高

可以看出 n/m 就是能达到的最大值 优先级最高 由于我们只要求最小值 所以 对于每一位进行check 如果这个位置是不喜欢的乐队 就找是否还有喜欢的乐队没有达到最低限度 如果这个位置是喜欢的 就看这个乐队是否超过了最低限度 然后决定是否枚举其他喜欢的乐队进行替换

有个trick是 节目单上允许不喜欢的乐队出现

D 给出一个地图 上面.表示水 *表示地 相连的.是湖泊 现在要求把一些湖泊填满 使剩余湖泊为k个 地图被大海包围 所以 在地图边缘的湖泊不能被填满(即使蓝翔一直推行“东部挖坑 西部填海”) 输出地图

先把地图的边缘扫一遍 把这些和大海相连的湖泊标记 再遍历地图 把所有没有被标记的.进行bfs 标号并推进数组 最后sort数组 选择一定量的最小湖泊填了 记录标号 对其进行标记 在输出原地图的时候判断这个点是否被标记决定输出什么

F 给出一个图 给定st两个点 再给出ds dt 表示st两个点分别能具有的最大度数 给这个图求一个生成树 使st的度数不超过dsdt

将除了st之外的所有点求连通分量 在这个的进行途中 如果bfs到了st 就记录下这个连通分量和st的关系 最后会得出一群连通分量和st的关系

5种关系

st可以直接相连

一个联通分量可以连s

      可以连t

      可以连s又可以连t

      st都不可以

经过思考 可以发现 如果存在1 4 当然选择4 如果没有4 就退而求1  有5 当然不可以 23最后考虑 能连就连

最后checkddsddt和dsdt之间的关系 决定输出不可行或者答案

我想和你永远在一起

时间: 2024-10-11 12:27:28

Codeforces Round #375 (Div. 2) A B C D F的相关文章

Codeforces Round #375 (Div. 2) D. Lakes in Berland DFS

D. Lakes in Berland 链接: http://codeforces.com/problemset/problem/723/D 题意 给你一个n/*m的矩阵,然后你们有不少于k条湖泊,然后你需要使得一些湖泊变成陆地,使得湖泊的数量恰好等于k,问你至少填多少个水. 湖泊不与外界相邻. 题解: 直接dfs搜出每一条湖泊,然后放在优先队列里,从小到大去填满就好了. 代码: 1 #include<iostream> 2 #include<queue> 3 #include&l

Codeforces Round #375 (Div. 2) A

Description There are three friend living on the straight line Ox in Lineland. The first friend lives at the point x1, the second friend lives at the point x2, and the third friend lives at the point x3. They plan to celebrate the New Year together,

Codeforces Round #375 (Div. 2)

这是我打的第一场现场CF,才涨了4分= =,太菜啦.. 第一题,超级大水题,不说了.. 第二题,也挺水的,要注意的是,最后一个字符如果不是下划线或者括号结束的话,仍然要判断那个单词.因为这点WA了好多次. 第三题,rejudge的时候错了= =..题目意思有点晦涩,其实还是比较水的题,题目要求前m个组合唱的歌的数目的最小值要最大,那么这个最大值很显然是n/m,向下取整,然后从1遍历到n,如果数字大于m的或者小于等于m但是其出现的次数过多的(大于n/m)都把它变成不足n/m次的数字,然后我当时因为

Codeforces Round #375 (Div. 2) B

Description Modern text editors usually show some information regarding the document being edited. For example, the number of words, the number of pages, or the number of characters. In this problem you should implement the similar functionality. You

Codeforces Round #375 (Div. 2) C

Description Polycarp is a music editor at the radio station. He received a playlist for tomorrow, that can be represented as a sequence a1, a2, ..., an, where ai is a band, which performs the i-th song. Polycarp likes bands with the numbers from 1 to

Codeforces Round #375 (Div. 2)E. One-Way Reform

题目链接:传送门 题目大意:一副无向图,要求你给边定向(变为有向图),使出度等于入度的点最多,输出有多少 个点,并且输出定向后的边(前为起点,后为终点) 题目思路:欧拉路 我们这样考虑,先考虑无向图的点的度数,如果为奇数则一定无法变为题目要求的点,ans-1 对于度为偶数的点则一定可以通过调整满足. 处理方法:新建一个虚拟节点0,使所有度为奇数的点向其连一条边,那么最终图中的点的度数都为偶数. 这样就满足欧拉路的条件了.我们只需要跑欧拉路并且将走过的路径保留下来即可. 注意将与虚拟节点连的边删去

Codeforces Round #375 (Div. 2) ABCDE

A - The New Year: Meeting Friends 水 #include<iostream> #include<algorithm> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; cout<<max(a,max(b,c)) - min(a,min(b,c)) <<endl; return 0; } B - Text Document A

Codeforces Round #604 (Div. 2) D、E、F题解

Beautiful Sequence \[ Time Limit: 1000 ms\quad Memory Limit: 256 MB \] 首先我们可以考虑到 \(0\) 只能 和 \(1\) 放在一起.\(3\) 只能和 \(2\) 放在一起,那么我们想办法先把 \(0\) 和 \(3\) 凑出来,最后就剩下 \(1\) 和 \(2\) 了,我们只要把他们放在一起就可以了. 所以我们可以贪心考虑三个 \(string\),分别长成 \(0101...0101\).\(2323...2323\

Codeforces Round #279 (Div. 2) ABCD

Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name     A Team Olympiad standard input/output 1 s, 256 MB  x2377 B Queue standard input/output 2 s, 256 MB  x1250 C Hacking Cypher standard input/output 1 s, 256 MB  x740 D Chocolate standard input/