D2. Toy Train】的更多相关文章

D2. Toy Train time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Alice received a set of Toy Train™ from Bob. It consists of one train and a connected railway network of nn stations, enumerat…
D Toy Train 开始时,对于一个点 \(x\) ,若没有糖果需要运走,则不考虑; 否则,若点上有 \(k\) 颗糖果需要运走,火车每次只能搭上 \(1\) 个,显然经过这个点至少 \(k\) 次. 至少 \(k\) 次,说明一定转完了完整的 \(k-1\) 圈,则这个点先上车的 \(k-1\) 颗糖果一定都被送到了该送的位置. 最后只需要送剩下的那个糖果 \(i\) .若出发点为 \(st\) ,则总时间为 \(S_x=dist(st,x)+n(k-1)+dist(a_i,b_i)\)…
D1. Toy Train (Simplified) time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output This is a simplified version of the task Toy Train. These two versions differ only in the constraints. Hacks for…
链接:https://codeforces.com/contest/1130/problem/D1 题意: 给n个车站练成圈,给m个糖果,在车站上,要被运往某个位置,每到一个车站只能装一个糖果. 求从每个位置开车的最小的时间. 思路: vector记录每个位置运送完拥有糖果的时间消耗,为糖果数-1 * n 加上消耗最少时间的糖果. 对每个起点进行运算,取所有点中的最大值. 代码: #include <bits/stdc++.h> using namespace std; typedef lon…
<题目链接> 题目大意: 有一个的环形火车站,其中有$[1,n] n$个站台,站台上能够放糖果,火车只能朝一个方向移动,如果火车在站台$i$,那么下一秒就会在$i+1$站(如果$i=n$,则下一站为1),现在有$m$ 个运输糖果的方案,$s  e$表示站台$s$有一个糖果,现在需要将其运往站台$e$.火车容量不限,但是每次只能从站台上取出一颗糖果,火车可以卸载任意数量的糖果.现在求出火车从每个站台出发,完成所有糖果运输任务的最短时间. #include <bits/stdc++.h>…
题目链接:http://codeforces.com/contest/1130/problem/D1 题目大意:给你n个点,然后m条运输任务,然后问你从每个点作为起点是,完成这些运输任务的最小花费?每一次运输必须是1,2,3按照这个方向来进行的,当到达n的时候,会直接到达1,这是一个圆形回路. 具体思路:枚举每一个点,对于每一个点,判断一下从这个点开始运送完的花费,然后从这个花费里面找到一个花费最大的就可以了,这样就能保证其余的任务也都能完成. AC代码: #include<bits/stdc+…
传送:https://dmoj.ca/problem/ioi17p3 参考:https://blog.csdn.net/qq_27327327/article/details/80711824 妙啊--首先题意就是走到一个包含充电点的环里就能赢 因为出度至少是1,所以如果所有点都能到充电点那么全部是先手必胜:否则,不能到充点电的点以及一定能到这些点的点就一定是先手必败(能到的不是先手必胜,因为可能到了之后再出去进入别的环) 能到充点电的点是A支配并且能到至少一个充点电的点或B支配只能到充电点的点…
[链接] 我是链接,点我呀:) [题意] 火车从1,2,3...n->1的方式绕圈走.(即每次从i走到i+1) 有一些点有货物需要装载,但是每个点只能装上去一个货物. 每个货物都有目标点卸货点(卸货的时候不限量) 问你假设火车起点为s(s=1,2,3...n)时,完成所有点的装货卸货任务需要的最小时间. [题解] 会发现其实每个点出去的任务都是互相独立的. 某个点在做运载任务的时候,其他人也可以同时进行运载任务(路过了就捎上它的运载物就行,反正装运不需要时间). 那么现在的问题仅仅是,让每个点完…
A. Be Positive 链接:http://codeforces.com/contest/1130/problem/A 题意: 给一段序列,这段序列每个数都除一个d(−1e3≤d≤1e3)除完后,如果正数的个数可以大于序列长度的一半输出这个d,否则输出0 思路: 直接找正数和负数的个数,正数个数大于一半输出1,负数个数大于一半输出-1,都不大于一半长度输出0就好了 代码: #include<bits/stdc++.h> using namespace std; int main() {…
A. Be Positive 题意:给出一个数组 每个树去除以d(d!=0)使得数组中大于0的数 大于ceil(n/2) 求任意d 思路:数据小 直接暴力就完事了 #include<bits/stdc++.h> using namespace std; ; double a[maxn]; int main(){ int n; scanf("%d",&n); ;i<n;i++){ scanf("%lf",&a[i]); } ); fo…