尺取(很不错的题)--poj2566
来源:互联网 发布:linux重新分区 编辑:程序博客网 时间:2024/05/17 07:30
题意:给你一段序列,让你判断跟某个数最近的区间。
二分应该也可以做
#include<iostream>#include<algorithm>#include<cstdio>#include<climits>using namespace std;const int maxn=100005;const int INF=INT_MAX;int n,m;pair<int,int>p[maxn];inline int fab(int x){return x>0?x:-x;}void query(int t){ int i=0,j=1,k,ans=INF,v,l,r,tmp; while(j<n&&ans) { tmp=p[j].first-p[i].first; k=abs(t-tmp); if(k<ans) { ans=k; v=tmp; l=p[i].second; r=p[j].second; } if(tmp<t)j++; if(tmp>t)i++; if(i==j)j++; } if(l>r){k=l;l=r;r=k;} printf("%d %d %d\n",v,l+1,r); }int main(){ int i,j,k,sum,x,t; while(scanf("%d%d",&n,&m)!=EOF) { if(n==0&&m==0)break; p[0]=make_pair(0,0); sum=0; for(i=1;i<=n;i++) { scanf("%d",&x); sum+=x; p[i]=make_pair(sum,i); } n++; sort(p,p+n); while(m--) { scanf("%d",&t); query(t); } } return 0; }
- 尺取(很不错的题)--poj2566
- poj2566(尺取模型)
- poj2566
- POJ2566--Bound Found(尺取法)
- POJ2566-Bound Found【尺取法】
- poj2566 Bound Found 尺取法
- POJ2566 尺取法巧解
- 一道很不错的字符分割题
- 真的很不错,
- 很不错的桌面主题
- 很不错的早上
- 很不错的网站
- 很不错的文章
- 很不错的网站
- 很不错的网站
- 很不错的插入
- 很不错的效果
- 很不错的博客
- 使用maven一步一步构建spring mvc项目
- 【CC6】Thank you, toastmasters! Thank you, EF Phoenixes!
- LAMP环境的详细搭建
- 计算机领域10大热门技术2011
- nodejs express模版引擎ejs的使用
- 尺取(很不错的题)--poj2566
- 行列式求值
- PHP中的符号 ->、=> 和 :: 分别表示什么意思?
- Java学习系列(十八)Java面向对象之基于UDP协议的网络通信
- CODE 141: Binary Tree Preorder Traversal
- 单元测试报表以及覆盖率报表
- 呵呵,好有趣(一)
- oracle 11g透明网关访问ms sqlserver的心得
- 设计模式总结