USACO 2006 Mar SkiLift
来源:互联网 发布:点位图软件 brd 编辑:程序博客网 时间:2024/04/30 22:37
首先定义dp[i]为从1到i 最小的柱子数(i 也必须有柱子),我们还是用刷表法……(根本不会填表)
dp[i] 可以刷到的区域为[i+1,i+l],而且也要满足题意,即缆线不能触碰山,即Hi与Hi+j连线不能与山接触,所以我们在向前for的同时记录现在需要的最小斜率(有坑),然后判断此时斜率是否大于这个斜率就好了.
dp[i] 可以刷到的区域为[i+1,i+l],而且也要满足题意,即缆线不能触碰山,即Hi与Hi+j连线不能与山接触,所以我们在向前for的同时记录现在需要的最小斜率(有坑),然后判断此时斜率是否大于这个斜率就好了.
之前说斜率有坑是因为斜率的范围是[-1e9,1e9],然而又会有小数,为了精度的问题,难受的我又放出了些奇怪的东西(Fra),然后在错了两次之后A了
#include<cstdio>#include<cstring>#include<cstdlib>#define M 5005int H[M],dp[M];void check(int &x,int y){ if(x==-1||x>y)x=y;}int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}struct Fra{ int son,mom; void cl(){ int ll=gcd(abs(son),abs(mom)); son/=ll,mom/=ll; } bool operator <(const Fra &a)const{ return 1LL*son*a.mom<1LL*a.son*mom; }};Fra max(Fra x,Fra y){ return x<y?y:x;}int main(){ int n,k; scanf("%d %d",&n,&k); for(int i=1;i<=n;i++)scanf("%d",&H[i]); memset(dp,-1,sizeof(dp)); dp[1]=1; for(int i=1;i<=n;i++) if(dp[i]!=-1){ Fra now=(Fra){-1e9-5,1}; for(int l=1;l<=k&&i+l<=n;l++){ Fra ll=(Fra){H[i+l]-H[i],l}; now=max(now,ll); if(!(ll<now))check(dp[i+l],dp[i]+1); } } printf("%d\n",dp[n]); return 0;}
0 0
- USACO 2006 Mar SkiLift
- 【usaco 2013 Mar Bronze】
- USACO 2009 Mar CleaningUp
- USACO 2009 Mar CowFrisbeeTeam
- USACO MAR 2006 Milk Team Select(产奶比赛)
- [USACO 2014 Mar Silver]irrigation
- [USACO 2014 Mar Silver]mooomoo
- USACO MAR 2008 【土地并购】
- USACO 2012 Mar Haybale Restacking 重排干草
- USACO 2009 Mar Look Up 向右看齐
- [USACO 2014 Mar Silver]Fair Photography
- Cow Frisbee Team, 2009 Mar,usaco
- bzoj1597【USACO 2008 Mar】土地购买
- 【usaco 2013 Mar Bronze】种类分配
- 【usaco 2013 Mar Bronze】种类分配
- 【USACO】2004 Mar finance 赞助学费
- USACO 2004 Mar 赞助学费 finance 堆
- Usaco Financial Aid,2004 Mar 赞助学费
- 【NOIP提高模拟】奇洛金卡达
- Java基础-IO学习之内存操作流,打印流 ...(下)
- css画空心箭头
- 求乘法逆元的三种写法
- Android开发之Android studio中的Theme Editor的简单使用
- USACO 2006 Mar SkiLift
- hdu5527 Too Rich(贪心)
- Kotlin开发AndroidStudio,IDEA配置/java转换Kotlin
- Windows环境jira 7.1.2安装破解
- pop到指定Controller的三个方法
- 宝马在华召回部分进口宝马M5和M6汽车
- PKCS1签名、PKCS7签名、PKCS数字信封
- application-specific permission settings do not grant Local Activation permission for the COM Server
- EasyDarwin开源流媒体服务器Work-stealing优化方案