题目链接:https://daniu.luogu.org/problem/show?pid=2901 Astar的方程$f(n)=g(n)+h(n)$,在这道题中我们可以反向最短路处理出$h(n)$的精确值.然后跑Astar找K次最短路就好了. #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; int inline readi…
题目描述 Bessie has taken heed of the evils of sloth and has decided to get fit by jogging from the barn to the pond several times a week. She doesn't want to work too hard, of course, so she only plans to jog downhill to the pond and then amble back to…
P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver 题目描述 The cows are out exercising their hooves again! There are N cows jogging on an infinitely-long single-lane track (1 <= N <= 100,000). Each cow starts at a distinct position on the track, and some cows jog at…
Description Bessie准备用从牛棚跑到池塘的方法来锻炼. 但是因为她懒,她只准备沿着下坡的路跑到池塘,然后走回牛棚. Bessie也不想跑得太远,所以她想走最短的路经. 农场上一共有M(1<=M<=10,000)条路,每条路连接两个用1..N(1<=N<=1000)标号的地点. 更方便的是,如果X>Y,则地点X的高度大于地点Y的高度. 地点N是Bessie的牛棚;地点1是池塘. 很快, Bessie厌倦了一直走同一条路.所以她想走不同的路,更明确地讲,她想找出K…
题目大意 有N (1 <= N <= 100,000)头奶牛在一个单人的超长跑道上慢跑,每头牛的起点位置都不同.由于是单人跑道,所有他们之间不能相互超越.当一头速度快的奶牛追上另外一头奶牛的时候,他必须降速成同等速度.我们把这些跑走同一个位置而且同等速度的牛看成一个小组. 请计算T (1 <= T <= 1,000,000,000)时间后,奶牛们将分为多少小组. 题解 定义两头牛"能单独追上"为:若跑道上只有这两头牛,则它们能否追上.牛i和牛j(j>i)将…
有N (1 <= N <= 100,000)头奶牛在一个单人的超长跑道上慢跑,每头牛的起点位置都不同.由于是单人跑道,所有他们之间不能相互超越.当一头速度快的奶牛追上另外一头奶牛的时候,他必须降速成同等速度.我们把这些跑走同一个位置而且同等速度的牛看成一个小组. 请计算T (1 <= T <= 1,000,000,000)时间后,奶牛们将分为多少小组. #include<queue> #include<cstdio> #include<cstring&…
传送门 题目大意:n头牛在单行道n个位置,开始用不同的速度跑步. 当后面的牛追上前面的牛,后面的牛会和前面的牛以一样的速度 跑,称为一个小团体.问:ts后有多少个小团体. 题解:模拟 倒着扫一遍,因为某头牛后面的牛对这头牛的速度没影响. 计算出ts后牛的终点,如果能撞上前面最慢的牛,那么小团体数+1 注意开long long 一开始不理解为什么倒着扫, 因为如果正着扫,看第i头牛能否撞上i+1头, 我们不确定第i+1头牛的速度,可能第i+1头牛 速度很快,追上i+2头牛速度减缓,从而被第i头牛追…
本蒟蒻又来发题解了, 一道较水的模拟题. 题意不过多解释, 思路如下: 在最开始的时候求出每头牛在t秒的位置(最终位置 然后,如果后一头牛追上了前一头牛,那就无视它, 把它们看成一个整体. else 就++ ans: 上代码: #include<bits/stdc++.h> using namespace std; //要开long long long long n, t, ans = 1, last[100010]; struct node { long long s, p; }a[1000…
传送门 解题思路 比较简单的一道思路题,首先假设他们没有前面牛的限制,算出每只牛最远能跑多远.然后按照初位置从大到小扫一遍,如果末位置大于等于前面的牛,那么就说明这两头牛连一块了. 代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; const int MAXN = 100005; typedef long long LL;…
Code: #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn = 1000000 + 233; const long long N = 1000000000000000000; long long pos[maxn], speed[maxn], T , dest[maxn]; int A[maxn], n; int cmp(int i,in…