题解 P4753 【River Jumping】】的更多相关文章

P4753 River Jumping 题目描述 有一条宽度为 NN 的河上,小D位于坐标为 00 的河岸上,他想到达坐标为 NN 的河岸上后再回到坐标为 00 的位置.在到达坐标为 NN 的河岸之前小D只能向坐标更大的位置跳跃,在到达坐标为 NN 的河岸之后小D只能向坐标更小的位置跳跃.在河的中间有 MM 个岩石,小D希望能跳到每个岩石上恰好一次.由于小D的跳跃能力太强,小D的跳跃长度有个下限 SS ,但没有上限.现在请你判断他是否能够完成他的目标. 输入输出格式 输入格式: 第一行输入两个整…
这道神奇的模拟题,带一点贪心,其实蛮水的,仔细思考就能ac. 首先我们模拟一下样例2 发现其实答案0 1 2 3也可以,仔细观察题目,我们发现了一句有意思的话:允许输出任意一组答案. 所以就可使用xjb算法,复杂度为O(玄学)(逃 我们假装有两个小D:一个从0开始跳:一个从n开始跳: 只要距离大于s且没被跳过就跳,之所以说是贪心是因为 我们尽可能让小D1号多跳一点石头,小D2号少跳一点(当然可以反过来),最后扫一遍,如果有石头没跳,就输出“NO”,反之就输出“YES”,然后再按小D1号再到小D2…
Description 有一条宽度为 N 的河上,小D位于坐标为 0 的河岸上,他想到达坐标为 N 的河岸上后再回到坐标为 0 的位置.在到达坐标为 N 的河岸之前小D只能向坐标更大的位置跳跃,在到达坐标为 N 的河岸之后小D只能向坐标更小的位置跳跃.在河的中间有 M 个岩石,小D希望能跳到每个岩石上恰好一次.由于小D的跳跃能力太强,小D的跳跃长度有个下限 S ,但没有上限.现在请你判断他是否能够完成他的目标. Input 第一行输入两个整数 N,M,S,分别表示河的宽度,岩石的数量和跳跃长度的…
Preface Luogu八月月赛都结束了我才来补七月月赛 这次月赛还是很狗的,在绍一的晚上恰逢刮台风,然后直接打到一半断网了 结果都没有交上去GG 感觉这次难度适中,解法也比较清新自然吧,十分给个九分一分因为没的打 好了下面开始看题. A Divided Prime 目的:送分,坑罚时 一道比较SB的题目,尤其注意题目中一个信息: 保证对于一个数字,其在\(b_i\)中出现的次数不多于在\(a_i\)中出现的次数. 然后我们发现这个式子的本质就是一些数的乘积,我们讨论一下最后的结果: 由两个及…
Problem Description Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.The game can be played by two or more than tw…
题目描述 几个人过河,每次过两人一人回,速度由慢者决定,问过河所需最短时间. 输入格式 输入t组数据,每组数据第1行输入n,第2行输入n个数,表示每个人过河的时间. 输出格式 输出t行数据,每行1个数,表示每组过河最少时间. 输入样例 1 4 1 2 5 10 输出样例 17 题解 容易想到,我们要尽可能利用速度快的人,且尽可能先把慢的人送走. 据此可以想到贪心策略:设$n$个人的时间升序排列为$a_{1}$到$a_{n}$,那么我们就让第$n$个人把第$1$个人运到对岸,再让第$1$个人自己回…
[题意] 牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离, 现在去掉M块石头,要求去掉M块石头后,剩下的石头之间以及石头与河岸的最小距离的最大值. [解法] 用二分做,但是开始写了三个版本的二分,全都wa. 无赖看了别人的二分,还是不理解,为什么他们写的就能过. 反复思索后,终于明白了:关键在于题目求的是什么. 做题思想:二分所求的最小距离的最大值mid,记录可以去掉的石头块数cnt(注意:当相邻的石头的距离小于等于mid,就可以去掉),…
题目链接 题目大意 t组数据(t<=20) 给你n个人(n<=1000)过河,每个人都有权值,一条船,每次船最多运2个人,每次的花费为两个人的较大花费 求所有人都过河需要的最小花费 题目思路 经典的过河问题,记录一下 先将权值从小到大排序一下 每次运两个人显然有两种最优的方法 1:先运(a[1],a[2])过去,a[1]回来,再运(a[n],a[n-1])过去,a[2]回来 cost1=a[n]+2*a[2]+a[1] 2:先运(a[n],a[1])过去,a[1]回来,再运(a[n-1],a[…
题目链接 题目大意 一只青蛙在长度为N的字符串上跳跃,"R"可以跳上去,"P"不可以跳上去. 字符串是环形的,N-1和0相连. 青蛙的跳跃距离K的取值范围是[1, N-1],选定K之后不可改变. 要求青蛙最后能跳回起点(起点可以是0-N-1的任意一个位置),问K的取值有多少种选择. \(3≤N≤{10}^5\). 题目思路 主要是要发现每一次走的步数一定是gcd(i,n) 然后发现gcd只有log(n)(可能多一些,但是没多太大) 然后O(n) check 代码 #…
Content 在一个数轴上有一个动点,初始时在 \(0\) 这个位置上,接下来有若干次操作,对于第 \(i\) 次操作: 如果 \(i\) 是奇数,那么动点往右移 \(a\) 个单位. 如果 \(i\) 是偶数,那么动点往左移 \(b\) 个单位. 现在有 \(t\) 次询问,每次给定 \(a,b,k\) 三个数(其中 \(a,b\) 含义如上所述),求经过 \(k\) 次操作后动点所在的位置. 数据范围:\(1\leqslant t\leqslant 10^3,1\leqslant a,b,…