rnqoj-15-采药--压缩区间
来源:互联网 发布:数码大师2016软件下载 编辑:程序博客网 时间:2024/06/05 03:14
当s==t的时候,比较容易求。
当s<t 的时候,压缩相邻的两个石子之间的距离。任何距离大于150的石子间距都可以缩短到150.
这样dp求解就可以了
还有,一定要注意,石子不一定是有序的,在这里卡了很久,囧~~~
#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>using namespace std;int l,s,t,m,ans;int a[151];int b[151];int dp[210000];void dos(){ int i,j,k; sort(a+1,a+m+1); for(i=1;i<=m;i++) { b[i]=b[i-1]+min(a[i]-a[i-1],150); } for(i=0;i<b[m]+150;i++)dp[i]=150; dp[0]=0; for(i=0;i<b[m]+150;i++) { for(j=s;j<=t;j++) { for(k=1;k<=m;k++) { if(i+j==b[k]) { dp[i+j]=min(dp[i+j],dp[i]+1); break; } } if(k>m)dp[i+j]=min(dp[i+j],dp[i]); } } ans=151; for(i=b[m]+1;i<b[m]+150;i++) { ans=min(ans,dp[i]); } cout<<ans<<endl;}int main(){ int i; cin>>l; cin>>s>>t>>m; for(i=1;i<=m;i++) { cin>>a[i]; } ans=0; if(s==t) { for(i=1;i<=m;i++) { if(a[i]%s==0)ans++; } cout<<ans<<endl; } else { dos(); } return 0;}
- rnqoj-15-采药--压缩区间
- RNQOJ-328(POJ-1185)-状态压缩DP
- 采药-rqnoj-15
- rqnoj 15 采药
- 采药
- 采药
- 采药
- 采药
- 采药
- 采药!
- 采药
- 采药
- 采药
- 采药
- 采药
- 采药
- 采药
- 采药
- HDOJ, 杭电1465, 不容易系列之一, 排列组合错排题。。
- ios7兼容
- SQL Server 2008编程入门经典笔记(第七章:更复杂的查询)
- Mysql基础问题:切换用户
- 大腕出手看门道,谈BAT的投资战略差异 三家战略投资的思考原点并不相同虎嗅网)
- rnqoj-15-采药--压缩区间
- ehcache
- 透明度设置(1) Auto CAD .NET二次开发
- hdu1285 确定比赛名次
- hdu - 1083 - Courses
- Java面向对象基础--实现单向链表
- We7务实性电子政务与‘云’
- iOS中对文件的操作
- RAID卡命令集锦