最新要闻
- “读心术”即将成为现实?人工智能正在攻克最复杂、最困难的研究领域
- 今日讯!迪士尼回应充电宝能借不能还:甩锅第三方公司
- 西南证券给予平高电气持有评级 Q2业绩预告超预期 受益电网建设加速
- 跟比亚迪海豚拼了!大众ID.3低至12万冲量放价 美女销售:快买
- 拯救者系列最高颜值!联想预热拯救者Y9000X 2023 全球今热点
- 热头条丨冰箱为啥用磁性门?因为死过很多小孩
- 腾讯会议限制免费会议数:跨App加入会议改为付费功能|最新快讯
- 全球观察:王宝强哽咽 本人回应观众支持:都不容易 拿钱拿时间来支持我
- 手机耗电太快?这3个功能值得关注
- 天天视讯!老人发声感谢李玟生前帮助:一直记着李玟的恩情
- 骁龙8 Gen2香在哪儿?一张图让联发科/三星沉默了:最省电5G芯片|世界聚看点
- 谷歌Pixel Fold耐用性测试:屏幕容易损坏 防尘能力弱
- 库卡拉奇星人
- 很写实,比所谓的在古代整一夫一妻动漫强多了
- 全球高温纪录连续两天刷新历史!平均气温17.18℃
- iPhone 15系列将于8月量产:Pro Max或要涨价 成史上最贵
手机
光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯
搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注
- 光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯
- 搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注
- 视点!美国首位女总统即将诞生?拜登恐怕要提前下岗,美政坛迎来变局?
- 当前速递!用理想仪器实现更好的颗粒 德国新帕泰克亮相CPHI & PMEC China获好评
- 微粒贷怎么申请开通 开通方法如下
- 焦点简讯:心疼!这位40岁的云南缉毒警,已是满头白发
家电
P3089 [USACO13NOV] Pogo-Cow S 弹簧踩高跷
P3089 [USACO13NOV] Pogo-Cow S 弹簧踩高跷
洛谷题目传送门
目录- P3089 [USACO13NOV] Pogo-Cow S 弹簧踩高跷
- 题目描述
- 输入格式
- 输出格式
- 样例 #1
- 样例输入 #1
- 样例输出 #1
- 提示
- 题目大意
- 方法一(线段树维护dp)
- code
- 方法二 (单调队列维护dp)
- code
题目描述
In an ill-conceived attempt to enhance the mobility of his prize cow Bessie, Farmer John has attached a pogo stick to each of Bessie"s legs. Bessie can now hop around quickly throughout the farm, but she has not yet learned how to slow down.
【资料图】
To help train Bessie to hop with greater control, Farmer John sets up a practice course for her along a straight one-dimensional path across his farm. At various distinct positions on the path, he places N targets on which Bessie should try to land (1 <= N <= 1000). Target i is located at position x(i), and is worth p(i) points if Bessie lands on it. Bessie starts at the location of any target of her choosing and is allowed to move in only one direction, hopping from target to target. Each hop must cover at least as much distance as the previous hop, and must land on a target.
Bessie receives credit for every target she touches (including the initial target on which she starts). Please compute the maximum number of points she can obtain.
FJ给奶牛贝西的脚安装上了弹簧,使它可以在农场里快速地跳跃,但是它还没有学会如何降低速度。
FJ觉得让贝西在一条直线的一维线路上进行练习,他在不同的目标点放置了N (1 <= N <= 1000)个目标点,目标点i在目标点x(i),该点得分为p(i)。贝西开始时可以选择站在一个目标点上,只允许朝一个方向跳跃,从一目标点跳到另外一个目标点,每次跳跃的距离至少和上一次跳跃的距离相等,并且必须跳到一个目标点。
每跳到一个目标点,贝西可以拿到该点的得分,请计算他的最大可能得分。
输入格式
* Line 1: The integer N.
* Lines 2..1+N: Line i+1 contains x(i) and p(i), each an integer in the range 0..1,000,000.
输出格式
* Line 1: The maximum number of points Bessie can receive.
样例 #1
样例输入 #1
6 5 6 1 1 10 5 7 6 4 8 8 10
样例输出 #1
25
提示
There are 6 targets. The first is at position x=5 and is worth 6 points, and so on.
Bessie hops from position x=4 (8 points) to position x=5 (6 points) to position x=7 (6 points) to position x=10 (5 points).
题目大意
草场上有一条直线,直线上有若干个目标点。每个目标点都有一个分值和一个坐标。现在你可以选择其中任意一个目标点开始跳,只能沿一个方向跳,并且必须跳到另一个目标点。且每次跳的距离都不能少于上一次的距离。请问你能得到的最大分值是多少?、
方法一(线段树维护dp)
考试时就是想到了这个做法,但是改了时限100ms过不了
设 \(f_{i , j}\) 表示只通过 \(j\) 步到达点 \(i\) 的最大分值。
\(j\) 会炸空间?
\(j\) 其实最多只有 \(n^2\) 种可能,乱搞一下就好了
那么:
\[f_{i , j} = Max_{k = 1}^{i - 1}(Max_{l = 0}^jf_{k , l} + p_i)\]用线段树维护一下 \(f_{k , l}\) 就好了
code
#include #define fu(x, y, z) for (int x = y; x <= z; x++)#define fd(x, y, z) for (int x = y; x >= z; x--)#define LL long longusing namespace std;const int N = 1005, M = 1000005;struct node { int x, p;} t[N];LL ans;int n, cnt, flg[M], p[M], p1[M], K = 1000005, len, dis[N][N];struct Tr { LL val; int lp, rp;} tr[M * 8];bool cmp(node x, node y) { return x.x < y.x; }void glp(int x) { tr[x].lp = ++len; }void grp(int x) { tr[x].rp = ++len; }void updata(int x) { tr[x].val = max(tr[tr[x].lp].val, tr[tr[x].rp].val); }void change(int x, int l, int r, int pos, LL v) { if (l == r) tr[x].val = max(tr[x].val, v); else { int mid = l + r >> 1; if (pos <= mid) { if (!tr[x].lp) glp(x); change(tr[x].lp, l, mid, pos, v); } else { if (!tr[x].rp) grp(x); change(tr[x].rp, mid + 1, r, pos, v); } updata(x); }}int query(int x, int l, int r, int pos) { if (r <= pos) return tr[x].val; else { int mid = l + r >> 1, max1 = 0, max2 = 0; if (tr[x].lp) max1 = query(tr[x].lp, l, mid, pos); if (mid < pos && tr[x].rp) max2 = query(tr[x].rp, mid + 1, r, pos); return max(max1, max2); }}void clear(int x) { if (tr[x].lp) clear(tr[x].lp); if (tr[x].rp) clear(tr[x].rp); tr[x].val = tr[x].lp = tr[x].rp = 0;}void fans() { fu(i, 1, n) ans = max(ans, tr[i].val); }int main() { scanf("%d", &n); fu(i, 1, n) scanf("%d%d", &t[i].x, &t[i].p); sort(t + 1, t + n + 1, cmp); fu(i, 1, n) fu(j, 1, n) dis[i][j] = abs(t[i].x - t[j].x); fu(i, 1, n) fu(j, 1, n) { if (!flg[dis[i][j]]) { flg[dis[i][j]] = 1; p[++cnt] = dis[i][j]; K = max(K, dis[i][j]); } } sort(p + 1, p + cnt + 1); fu(i, 1, cnt) p1[p[i]] = i; len = n; fu(i, 1, n) { ans = max(ans, 1ll * t[i].p); change(i, 0, K, p1[0], 1ll * t[i].p); } int k, k2; fu(i, 1, n) { fu(j, 1, i - 1) { k = query(j, 0, K, p1[dis[i][j]]); k2 = query(i, 0, K, p1[dis[i][j]]); if (k + t[i].p > k2) change(i, 0, K, p1[dis[i][j]], k + t[i].p); } } fans(); fu(i, 1, n) clear(i); len = n; fu(i, 1, n) change(i, 0, K, p1[0], t[i].p); fd(i, n, 1) { fd(j, n, i + 1) { k = query(j, 0, K, p1[dis[i][j]]); k2 = query(i, 0, K, p1[dis[i][j]]); if (k + t[i].p > k2) change(i, 0, K, p1[dis[i][j]], k + t[i].p); } } fans(); printf("%lld", ans);}
然后因为查找函数没有加等号 , 就寄掉8分。
差点就AK了
方法二 (单调队列维护dp)
设 \(f_{i , j}\) 表示从 \(j\) 到 \(i\) 的最大分值 , 用单调队列维护
好像宏定义会慢一点?
code
#include #define LL long long#define fu(x , y , z) for(int x = y ; x <= z ; x ++)using namespace std;const int N = 2005;struct node { int x , p;} t[N];int n , k;LL ans , f[N][N];inline bool cmp (node x , node y) { return x.x < y.x; }inline bool cmp1 (node x , node y) { return x . x > y.x; }inline void fans (int flg) { memset (f , -0x3f , sizeof (f)); if (flg == 1) sort (t + 1 , t + n + 1 , cmp); else sort (t + 1 , t + n + 1 , cmp1); for (int j = 1 ; j <= n ; j ++) { f[j][j] = t[j].p; for (int i = j + 1 , k = j + 1 ; i <= n ; i ++) { f[i][j] = f[i - 1][j] - t[i - 1].p; while (k > 1 && (t[j].x - t[k - 1].x) * flg <= (t[i].x - t[j].x )* flg) f[i][j] = max (f[i][j] , f[j][--k]); f[i][j] += t[i].p; ans = max (ans , f[i][j]); } ans = max (ans , f[j][j]); }}int main () { scanf ("%d" , &n); fu (i , 1 , n) scanf ("%d%d" , &t[i].x , &t[i].p); sort (t + 1 , t + n + 1 , cmp); fans (1); fans (-1); printf ("%lld" , ans); return 0;}
关键词:
-
Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法_全球讯息
1 标准输入**input()、raw_input()**Python3 x中input()函数可以实
来源: P3089 [USACO13NOV] Pogo-Cow S 弹簧踩高跷
“读心术”即将成为现实?人工智能正在攻克最复杂、最困难的研究领域
今日讯!迪士尼回应充电宝能借不能还:甩锅第三方公司
Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法_全球讯息
Python中os.system()、subprocess.run()、call()、check_output()的用法_世界新消息
西南证券给予平高电气持有评级 Q2业绩预告超预期 受益电网建设加速
跟比亚迪海豚拼了!大众ID.3低至12万冲量放价 美女销售:快买
拯救者系列最高颜值!联想预热拯救者Y9000X 2023 全球今热点
热头条丨冰箱为啥用磁性门?因为死过很多小孩
腾讯会议限制免费会议数:跨App加入会议改为付费功能|最新快讯
Logistic Regression and its Maximum Likelihood Estimation
全球观察:王宝强哽咽 本人回应观众支持:都不容易 拿钱拿时间来支持我
手机耗电太快?这3个功能值得关注
天天视讯!老人发声感谢李玟生前帮助:一直记着李玟的恩情
骁龙8 Gen2香在哪儿?一张图让联发科/三星沉默了:最省电5G芯片|世界聚看点
谷歌Pixel Fold耐用性测试:屏幕容易损坏 防尘能力弱
库卡拉奇星人
很写实,比所谓的在古代整一夫一妻动漫强多了
全球高温纪录连续两天刷新历史!平均气温17.18℃
iPhone 15系列将于8月量产:Pro Max或要涨价 成史上最贵
加速发展纯电车型 大众宣布:将在2030年前推出30款电动汽车 观察
快讯:王宝强《八角笼中》豆瓣7.6分:瑕不掩瑜 值得一看!
iOS上架报错:无法添加以供审核
斗鱼鱼丸有什么用(斗鱼鱼丸多少钱)
阿尔法·罗密欧全新超跑预告,就是不玩电动车,好样的
丫丫收到解暑神器!冰块凉席安排上了_全球实时
被骗好多年?半数以上的三星电视都没用自家屏幕 热资讯
比坦克300还大!奇瑞捷途旅行者预计将于8月开启预售 将提供插混版本|当前速看
网约车司机20天碰瓷8次公交车:比拉客挣得多 撞车从来不修
环球讯息:男子中暑后突发狂躁神智不清:脑子已被高温烧坏了
有哪些相见恨晚的办公(word/Excel)神器?
全球热消息:MegEngine 使用小技巧:如何使用 MegCC 进行模型编译
女士小巧汽车3万左右手动挡(女士小巧汽车3万左右)
债市日报:7月6日
2023乌海市教育局官网中考专栏成绩查询入口
替代OLED!曝苹果研发MicroLED屏:2026年商用 环球速讯
集插排、氮化镓快充于一体!魅族PANDAER 120W GaN桌面充电站图赏
PANDAER 120W桌面超级充电站PRO评测:高颜值+多协议充电 跟凌乱桌面说拜拜
0蔗糖、0胆固醇椰香浓郁!轻上椰子汁4瓶4升:到手39.9元
王宝强新电影成了!拍《八角笼中》绝不将就、绝不凑合
全球快资讯:【技术积累】Mysql中的SQL语言【技术篇】【二】
第十八期 | 知名手游开启公测,大批游戏账号遭抢注倒卖 天天最新
13.字符串
VSCode如何通过Ctrl+P快速打开node_modules中的文件
js的中的函数(二) 全球焦点
詹姆斯二儿子全美排名 詹姆斯现身执教二儿子 基本情况讲解
转股价下修难破局 12家银行可转债转股率不足1%
【新华500】新华500指数(989001)6日跌0.67% 环球热消息
NASA帕克探测器第16次贴着太阳飞过:100万度高温下为啥不会融化?|当前关注
时讯:全新火车票来了:299元 一张票打卡三个城市
挑战马斯克“农民”弟弟!上海交大工科博导带队种菜:三个月出奇迹_观速讯
焦点速读:五星耐摔认证!荣耀X50图赏:十面抗摔的硬核曲屏
全员共赢20万!2023魅族王者荣耀冠军杯招募开启
温网第4日:中国金花4人出战,王欣瑜冲击32强!3位金花亮相女双
王一博的机场穿搭如同秀场,飞往上海参加戏剧节,有点期待
快播:植信投资首席经济学家连平:下半年宏观政策将加力提效 三季度稳增长政策或集中出台
当前焦点!越来越热不是错觉 2024年或成为最热一年
马斯克:未来地球上的机器人数量将超过人类 物质不再短缺
免费MMO也能不卖数值:《逆水寒》手游登顶AppStore畅销榜-天天快资讯
全球今日讯!如果重来你还愿意选我当你的导师吗?“杀马特”少年的成长
焦点精选!博主在呼伦贝尔拍下绝美照片:几乎和WinXP蓝天白云壁纸一模一样
香港立法会三读通过区议会修例草案|焦点关注
常用的生物医学科研工具合集 世界实时
哈工大回应网传抢教授话筒男生被录取:还没开始投档呢
RTX 4090无限逼近4GHz:逆天功耗1127W!_环球今热点
世界看热讯:“长江禁捕 打非断链”专项行动 湖北5集体、9人上榜
7月6日 13:18分 京基智农(000048)股价快速拉升-世界即时
环球观焦点:滨州市直机关工委到滨州中院调研机关党建工作
这届年轻人盯上了电动轮椅 通勤不带头盔不上牌不违规:专家痛批占用公共资源
40%果肉 层层爆浆!榴莲西施千层蛋糕400gx2盒+戚风蛋糕x1盒69元大促_天天热资讯
三亚海鲜店缺斤短两被网友曝光 官方通报:商户清退出场罚款30万元
全球新资讯:同级唯一!宝骏云朵全球首创“云朵沙发”座椅:直接把大沙发搬进车里
李玟遗嘱财产全部留给母亲 网友:妈妈想要的是女儿 天天滚动
中国三人女篮积分升至世界第1 至11月排名前3球队将直通巴黎奥运_环球关注
天天热头条丨直播软件开发知识:实现感知网络质量功能
女学生拒客服工作被HR攻击 别上班了去死:公司回应 网友吐槽太过分
华为轮值董事长胡厚崑:华为盘古大模型3.0将在7月7日发布-热点聚焦
弹力修身透气:361度男运动裤夏季薄款梭织长裤69元 世界热资讯
中石化出品:鸥露竹浆抑菌抽纸28包/29.9元抄底 天天热资讯
每日热闻!实现AI全球天气精准预报!华为成果登上顶级科研杂志《Nature》
环球滚动:资金流向(7月5日)丨华工科技、新易盛、北方稀土获融资资金买入排名前三
荣耀MagicBook X 16 2023笔记本发布 首发价3699元起
16-7系统启动和内核管理
全球速递!超达装备7月6日快速上涨
清明节吃什么传统食物英语(清明节吃什么传统食物)
环球快资讯:@毕业生,从求职到入职,这份避坑指南请收好→
世界上最小的相机问世!宽4cm 重17g 只要350元_当前聚焦
【天天快播报】曝iPhone 15全系将配备更大的电池:续航大大改善
电动车的底 让自己弄掉了 热讯
15万元珠宝被家人当垃圾丢了 网友:我想当门口那个垃圾桶-报道
每日速讯:马斯克称中国会有很强的AI能力:中国下定决心做一件事就一定能做好
中方呼吁国际社会采取行动让每一个儿童都远离战火硝烟 当前速看
当前时讯:为什么要使用消息队列
三大亮点提前打卡世界人工智能大会
5年超长保质期:碳性电池40节19.9元大促
手机被大妈捡走男子狂追100多公里:从平顶山追到白云山
全球球精选!真矿泉 含锶矿物离子!峨眉山N30古岩矿泉水大促 1.24元/瓶
天天观焦点:15万以内大五座纯电 宝骏云朵内饰官图发布:值得友商一学
环球即时看!被污名化要还其清白 教授呼吁别把玩游戏当不务正业:人性需要释放
女生毕业删除90%同学被骂有病 都是塑料感情:无效社交越来越多