groundhog专题

牛客多校第九场 The Flee Plan of Groundhog(dfs)

题意: A在点1,B在点n。A先一直往B走t秒,每秒走1m,一条边1m。 t秒后A可以任意走,且B速度为2m/s。A先走一秒B再走一秒,问最迟多久A可以被B抓住。 思路: 只需要考虑A到一个点的时间和B到一个点的时间,只要在这个点A早于B,那就可以算出A被抓住的时间了。 d 2 [ i ] ∗ 2 < = d 3 [ i ] d2[i] * 2 <= d3[i] d2[i]∗2<=d3[i]也

The Crime-solving Plan of Groundhog(大整数乘法)

题意: 0~9每个数字都给你一些,要求配成两个没有前导0的数字,使得乘积最小。 思路: 第二个数字为一个的时候乘积最小,所以直接模拟乘法。 #include <cstdio>#include <cstring>#include <algorithm>#include <map>#include <vector>using namespace std;typedef long long

牛客多校第九场 Groundhog Looking Dowdy(双指针,卡常)

题意: 每天有一些衣服和其价格。 一共n天,你可以从其中选m天,每天指定一个衣服。要求m天中指定衣服的最大值与最小值差最小。 思路: 特别卡常。只能将所有衣服按照价格和日期存下来,再从小到大排序,算出每个衣服第一个离他m天数的衣服,这就对应最小价格。 这个过程可以双指针维护。 #include <cstdio>#include <cstring>#include <algorithm>

2020牛客暑期多校训练营(第九场)C Groundhog and Gaming Time —— 期望+线段树,长度平方期望的求法,有丶东西

This way 题意: 现在有n个线段,每个线段有1/2的可能会被选中,问你被选中的这些线段的交集的长度的平方的期望是多少。 题解: 对于求这种期望我是一窍不通,理解别人的代码也理解了好久才恍恍惚惚好像知道了的样子,难受 首先我们可以将所有的线段分成一个一个小段,然后去做每个小段的贡献: 比如说这三个黑色线段我们就可以将他们分成一个一个红色的小段。 然后对于每一个小段p的贡献: 假设

2020牛客暑期多校训练营(第九场)B Groundhog and Apple Tree —— 贪心,树形DP思想

This way 题意: 现在有一棵树,你要从1开始跳一遍所有的点并且每条边只能走两次,再回到1,每条边都有一个边权,你走过这条边会先消耗wi点HP,每个点都有一个果子,吃掉这个果子会上升ai点HP,你在任何时候的HP不能小于0.并且你如果休息一秒钟会恢复1点HP。问你最少要休息多少时间才能走完这棵树。 题解: 赛场上还想着二分,二分个毛线。还有情况把自己绕晕了,我果然不适合做模拟题。

HDU 3932 Groundhog Build Home(最小圆覆盖)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3932 直接上模拟退火,不过我好像无法精准的掌握到精度啊?老是wa 代码: #include<bits/stdc++.h>using namespace std;//hdu 3007 最小圆覆盖namespace SA{const double Lim=0.999999;//exp