P2893 [USACO08FEB]修路】的更多相关文章

P2893 [USACO08FEB]修路Making the Grade 题目描述 A straight dirt road connects two fields on FJ's farm, but it changes elevation more than FJ would like. His cows do not mind climbing up or down a single slope, but they are not fond of an alternating succes…
    正常的没想到的DP和玄学贪心. 题目描述 A straight dirt road connects two fields on FJ's farm, but it changes elevation more than FJ would like. His cows do not mind climbing up or down a single slope, but they are not fond of an alternating succession of hills and…
直入主题. 农夫约翰想改造一条路,原来的路的每一段海拔是Ai,修理后是Bi花费|A_i–B_i|.我们要求修好的路是单调不升或者单调不降的.求最小花费. 数据范围:n<=2000,0≤ Ai ≤ 1,000,000,000 (说真的,时隔几个月,发现这题其实挺简单的) 最一开始,就打了一个贪心. #include<bits/stdc++.h>//本人打题目时很喜欢万能头 using namespace std; ; long long n,ans1,ans2; long long a[m…
[USACO08FEB]修路Making the Grade比较难的dp,比赛时打的找LIS,然后其他的尽可能靠近,40分.先举个例子61 2 3 1 4 561 2 3 3 4 5第4个1要么改成3,要么改成4,反正是数列中的数.所以最优情况下,答案中的数都是原数列中有的.b[]是a[]由小到大排序之后的数组令f[i][j]表示使前i个数成为不减的最小花费,而且第i个的高度为b[j].f[i][j]=min(f[i-1][k])+abs(a[i]-b[j]);1<=k<=nk从1~n递增,一…
ref #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> using namespace std; typedef long long ll; int n, m, a[2005], b[2005]; ll dp[2005][2005]; ll f(){ memset(dp, 0x3f, sizeof(dp)); dp[0][1] = 0; for(int…
对的\(n^3\)的程序调了一个月了,惊了... HSZ学oi\(\Longleftrightarrow\)闭眼学oi 要不是翻旧账还看不见.. 这是有\(n^2\)做法的. 参见LYD的书P244 #include<iostream> #include<algorithm> #include<cstring> #include<cstdlib> #include<cmath> #include<cstdio> #define abs…
洛谷 P2893 [USACO08FEB]修路Making the Grade https://www.luogu.org/problemnew/show/P2893 JDOJ 2566: USACO 2008 Feb Gold 1.Making the Grade https://neooj.com:8082/oldoj/problem.php?id=2566 POJ Making the Grade http://poj.org/problem?id=3666 Description A s…
贪心的经典套路:替换思想:有点抽象 Description FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也 就是说,高度上升与高度下降的路段不能同时出现在修好的路中. 整条路被分成了N段,N个整数A_1, ... , A_N  (1 <= N <= 2,000)依次描述了每一段路的高度(0 <= A_i <= 1,000,000,000).FJ希望找到一个恰好含N个元素的 不上升或不下降序列B_1, ... , B_N,作为修…
Slope Trick 算法存在十余载了,但是我没有找到多少拍手叫好的讲解 blog,所以凭借本人粗拙的理解来写这篇文章. 本文除标明外所有图片均为本人手绘(若丑见谅),画图真的不容易啊 qwq(无耻求赞). Slope Trick 是啥? 凸代价函数DP优化. 具体哪种题目? AcWing273. 分级 CF713C Sonya and Problem Wihtout a Legend CF13C Sequence P2893 [USACO08FEB]Making the Grade G P4…
题目链接:http://vjudge.net/contest/144221#problem/A 题意: 秦朝有n个城市,需要修建一些道路使得任意两个城市之间都可以连通.道士徐福声称他可以用法术修路,不花钱,也不用劳动力,但只能修一条路,因此需要慎重选择用法术修哪一条路.秦始皇不仅希望其他道路的总长度B尽量短(这样可以节省劳动力),还希望法术连接的两个城市的人口之和A尽量大,因此下令寻找一个使得A/B最大的方案.你的任务是找到这个方案. 任意两个城市之间都可以修路,长度为两个城市之间的欧几里德距离…