hdu 2446(二分查找)
来源:互联网 发布:五线谱翻译成简谱软件 编辑:程序博客网 时间:2024/06/06 11:45
题解:第n个球在第几堆第几行第几个
思路:a[i]保存第i堆个数,b[i]表示前i堆个数,再二分查找对应位置.
#include<stdio.h>#include<string.h>#define MAX 2000000long long a[MAX];long long b[MAX];long long n,x;void Init(){int i;a[1]=1;b[1]=1;for(i=2;i<MAX;i++){a[i]=a[i-1]+i;b[i]=a[i]+b[i-1];}return ;}int main(){int i,j,t;long long s,m,e;Init();scanf("%d",&t);while(t--){scanf("%lld",&n);s=0;e=MAX;m=(s+e)/2;while(1){if(b[m]>=n&&b[m-1]<n)break;if(b[m]>=n){if(m==e)m--;e=m;m=(s+e)/2;}else{if(s==m)m++;s=m;m=(s+e)/2;}}printf("%lld ",m);x=n-b[m-1];s=0;e=m;m=(s+e)/2;while(1){if(a[m]>=x&&a[m-1]<x)break;if(a[m]>=x){if(e==m)m--;e=m;m=(s+e)/2;}else{if(s==m)m++;s=m;m=(s+e)/2;}}printf("%lld %lld\n",m,x-a[m-1]);}return 0;}
0 0
- hdu 2446(二分查找)
- HDU 2446 Shell Pyramid 二分查找
- hdu 2141 二分查找
- hdu 1969 二分查找
- HDU-2199 二分查找
- hdu 2141 二分查找
- 二分查找 hdu 4004
- hdu 1597 二分查找
- hdu 5178 二分查找
- hdu 5178 二分查找
- HDU 2199 二分查找
- HDU pie (二分查找)
- HDU 2141 二分查找
- HDU 2141 二分查找
- HDU 4430 二分查找
- HDU 2289 二分查找
- HDU 2141 二分查找
- 【二分查找】-HDU-1969-Pie
- dnw2的使用
- 菜鸟猿大战Java之异常处理初接触
- hybridapp进阶篇:你需要知道的开源代码库
- 黑马程序员—UI学记笔记—— 图片查看器
- 周期
- hdu 2446(二分查找)
- thinkphp 如何去除url中的index.php
- csdn公开课--小伙伴围观了
- 求两个数的最大公约数和最小公倍数
- Markdown基础教程
- 【HDU5540 2015 CCPC 南阳国赛A】【水题】Secrete Master Plan 矩形旋转
- hdu 1016(dfs+dp)
- 如何实现跨应用绑定Service的通信
- 【HDU5542 2015 CCPC 南阳国赛C】【DP】The Battle of Chibi n个数中恰好长度为m的单升子序列数