Codeforces Round #542(Div. 2) B.Two Cakes】的更多相关文章

链接:https://codeforces.com/contest/1130/problem/B 题意: 给定n和 2 * n个数,表示i位置卖ai层蛋糕, 有两个人在1号,必须严格按照1-n的顺序买蛋糕,同时每个店只买一个蛋糕 . 求所需的最短时间. 思路: 将每种蛋糕对应位置记录在二维数组. 从1-n挨个买,根据上一次的位置算出消耗. 代码: #include <bits/stdc++.h> using namespace std; typedef long long LL; const…
layout: post title: Codeforces Round 542 (Div. 2) author: "luowentaoaa" catalog: true tags: mathjax: true - codeforces - 并查集 --- 传送门 前三题太简单不写 D.Toy Train (贪心) 题意 有n个车站,按照环前进,有m条要求从x送到y,每次从x最多能拿一个糖,输出在第i个车站出发最少需要多少时间完成所有要求 (注意车的容量无穷) 思路 所以我们直接枚举每…
C https://codeforces.com/contest/1130/problem/C 题意 给你一个\(n*m\)(n,m<=50)的矩阵,每个格子代表海或者陆地,给出在陆地上的起点终点,只允许挖一条穿越海的隧道,假设隧道连接的两个陆地分别为(x1,y1),(x2,y2),则挖隧道的花费为\((y1-x1)*(y1-x1)+(y2-x2)*(y2-x2)\) 题解 分别找出和起点,和终点连接的陆地(找联通块),枚举两个点维护最小值 代码 #include<bits/stdc++.h&…
链接:https://codeforces.com/contest/1130/problem/A 题意: 给n个数,找出一个非0整数d,使所有n个数除以整数d后,数组中正数的数量>= n/2. 如果不存在d,输出0. 思路: 记录正数和负数的数量,只有有一个满足就输出1或-1,否则为0. 代码: #include <bits/stdc++.h> using namespace std; typedef long long LL; int main() { int n, a; cin &g…
链接:https://codeforces.com/contest/1130/problem/D1 题意: 给n个车站练成圈,给m个糖果,在车站上,要被运往某个位置,每到一个车站只能装一个糖果. 求从每个位置开车的最小的时间. 思路: vector记录每个位置运送完拥有糖果的时间消耗,为糖果数-1 * n 加上消耗最少时间的糖果. 对每个起点进行运算,取所有点中的最大值. 代码: #include <bits/stdc++.h> using namespace std; typedef lon…
链接:https://codeforces.com/contest/1130/problem/C 题意: 给一个n*n的图,0表示地面,1表示水,给出起点和终点, 现要从起点到达终点,有一次在两个坐标间创立隧道的机会,消耗为(x1 - x2)^2 + (y1 - y1)^2. 求出最小的消耗,如果直接能走到,则消耗为0. 思路: bfs求出起点和终点分别能到达的点,枚举每一种情况,取最小值即可. 代码: #include <bits/stdc++.h> using namespace std;…
开学了住校了打不了深夜场 好难受啊QwQ A 显然对于每个起点,我们只需要贪心记录这个起点出发出去的糖果数量以及离自己最近的糖果 因为这个起点最后一次装载糖果一定是装载终点离自己最近的那个糖果 $ O(n^2)$暴力贪心即可 有线性做法懒得写了 #include<ctime> #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algo…
A:显然对于起点相同的糖果,应该按终点距离从大到小运.排个序对每个起点取max即可.读题花了一年还wa一发,自闭了. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define N…
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题目链接:https://codeforces.com/contest/1130 A. Be Positive 题意: 给出n个数,看是否正数的个数过半或者负数的个数过半. 题解:水题,代码如下: #include <bits/stdc++.h> using namespace std; ; int n; double a[N]; int main(){ ios::sync_…
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate it n = int(raw_input()) s = "" a = ["I hate that ","I love that ", "I hate it","I love it"] for i in ran…