HDU1597【二分瞎搞】
2024-09-07 03:29:50
题意:
求第n个数;
思路:
可以看到一种序列:
1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567891
12345678912
123456789123
...
那么我可以计算前 i 行数的个数(i+1)*i/2;
直接二分到离n最近的那一层,然后n-(i+1)*i/2;%9就是答案,注意还有9,9%9是0;
#include <bits/stdc++.h>
using namespace std;
typedef long long LL; LL cal(LL n)
{
return n*(n+1)/2;
} LL binary_find(LL x)
{
LL left=1;
LL right=100000;
while(left<right)
{
int mid=left+(right-left+1)/2;
if(cal(mid)<x)
left=mid;
else
right=mid-1;
}
// printf("left=%d\n",left);
return cal(left);
} int main()
{
int T;
scanf("%d",&T);
while(T--)
{
LL n;
scanf("%lld",&n);
if(n==1)
{
puts("1");
continue;
}
LL ans=binary_find(n);
// printf("ans=%lld\n",ans);
ans=n-ans;
ans=ans%9;
if(ans)
printf("%lld\n",ans);
else
puts("9");
}
return 0;
}
/*
n*(n+1)/2;二分<=x的那个n;
二分类型
*/
最新文章
- 发布两款JQ小插件(图片查看器 + 分类选择器),开源
- spring的事务操作
- mysql 如何判断 ";字符串"; 是否为 ";数字";
- Java多线程(一) 多线程的基本使用
- Zabbix探索:模板中发现规则的使用
- VS2010+WINDBG+VMWARE9.0和fatal error RC1106: invalid option: -ologo错误
- Oracle Outline总结
- adb找不到设备
- Atitit.hibernate体系结构大总结
- 使用padding-top实现自适应背景图片
- Ubuntu学习-简单指令
- linux脚本:shell, 判断输入参数的个数(命令行)
- PHP关于foreach使用引用变量的坑
- Java基础——封装
- inputClient.js
- php5.4使用dblib扩展,连接sqlserver中文乱码问题
- React动画组件——React-Transitio-group动画实现
- php向数据库插入数据
- Tomcat 访问页面或服务器异常,请检查这些方面
- Mac 自带的Apache php 狼神的
热门文章
- POJ 2263 Heavy Cargo(ZOJ 1952)
- 在XP上安装VS2002
- Js 模拟鼠标点击事件
- Hibernate基础知识介绍
- 九度OJ 1101:计算表达式 (DP)
- 使用MSSQL同步&;发布数据库快照遇到错误:对路径“xxxxx”访问被拒绝的解决方法
- java创建文件夹以及文件
- 【转】hibernate懒加载的问题,failed to lazily initialize a collection of role
- 使用grunt js进行js的链接和压缩
- 未公开函数MessageBoxTimeOut 实现定时消息(ZT) MFC实现MessageBox自动消失