BestCoder Round #64 (div.2) HDOJ5587 Array(dfs)

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

Array

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 490    Accepted Submission(s): 235


Problem Description
Vicky is a magician who loves math. She has great power in copying and creating.
One day she gets an array {1}。 After that, every day she copies all the numbers in the arrays she has, and puts them into the tail of the array, with a signle '0' to separat.
Vicky wants to make difference. So every number which is made today (include the 0) will be plused by one.
Vicky wonders after 100 days, what is the sum of the first M numbers.
 

Input
There are multiple test cases.
First line contains a single integer T, means the number of test cases. (1≤T≤2∗103)
Next T line contains, each line contains one interger M.  (1≤M≤1016)
 

Output
For each test case,output the answer in a line.
 

Sample Input
  
3 1 3 5
 



题目链接:点击打开链接

a[i]为i的二进制表示下1的个数, 预处理得到f, g数组, 对每次读入的m进行dfs即可.

AC代码:

#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
#include "queue"
#include "stack"
#include "cmath"
#include "utility"
#include "map"
#include "set"
#include "vector"
#include "list"
using namespace std;
typedef long long ll;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
const int MAXN = 105;
ll m, f[MAXN], g[MAXN];
void magic()
{
    f[1] = 1, g[1] = 1;
    for(int i = 2; i <= 63; ++i)
        f[i] = f[i - 1] * 2 + 1;
    for(int i = 2; i <= 63; ++i)
        g[i] = g[i - 1] * 2 + f[i - 1] + 1;
}
ll dfs(ll x)
{
    if(x <= 1) return x;
    int y = lower_bound(f + 1, f + 63, x) - f;
    if(f[y] == x) return g[y];
    return g[y - 1] + dfs(x - f[y - 1] - 1) - f[y - 1] + x;
}
int main(int argc, char const *argv[])
{
    magic();
    int t;
    scanf("%d", &t);
    while(t--) {
        scanf("%lld", &m);
        printf("%lld\n", dfs(m));
    }
    return 0;
}


PotPlayer自用皮肤 自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。 立即下载

相关推荐

实战分享:如何用Dify和MaxKb实现文档智能切分与高效检索(附代码解析)

本文详细介绍了如何结合Dify和MaxKB构建文档智能切分与高效检索系统。针对传统全文检索的不足,提出了结构感知的文档切分方案,通过解析文档层级关系并构建标题链,实现了精准的章节级检索。文章包含完整的代码实现,涵盖文档解析、智能切分、向量化策略及双索引优化,并分享了性能调优和生产环境实践经验。

qsc90123456的博客 546

BestCoder Round #81 (div.2) 1004 String(动态规划)

题目链接:BestCoder Round #81 (div.2) 1003 String题意 中文题,上有链接,就不贴了。 思路 枚举起点i,计算可以达到k个不同字母的最小下标j,则此时有子串len-j个。 将所有起点的值加起来即是结果。 代码#include<iostream> #include<algorithm> #include<vector> using namespac

YiShi's Blog 2547

移动通信基础(13)TDL、CDL、信道相关性

参考《U型槽无线信道多径传播特性测量与建模方法的研究》、《5G信号源中的信道模拟与仿真研究》衰落衰落理解为信号幅度在时间和频率上的不断波动,是无线信道一个重要的恶化特性。信道幅度恶化的两个主要来源分别是加性噪声和信号衰落,高斯白噪声信道模型就是典型的加性噪声,信号衰落引起的是乘性的信号扰动,与加性噪声从原理上完全不同。信道的频率选择性衰落组为无线信道的重要特征之一,是人们进行无线系统设计考虑的重要因素,决定了导频隔间的大小。...

tybAly的博客 2万+

BestCoder Round #64 (div.2)

Numbers  题意: 给一个数N,如果N是2、3或者5的倍数,输出"YES",否则输出"NO". (0范围没注意,WA了2发 题解:判断是否是2或者5的倍数只看最后一位,判断3时统计十进制下每一位之和是否是3的倍数。 代码: #include #include #include #include #include #include #include using name

01的世界 410

一起学习Avalonia(十三)

Avalonia 前面已经简单介绍了一下相关开发,有一个系统的了解。 到今天Avalonia已经基本成熟,但是扩展支持的还是不可能达到大企业的,我估计这也不可能。考虑了下,微软的MAUI框架可能会普及性更高,Avalonia也是我无意间知道的。 微软毕竟是会宣讲的全球。并且微软全球研发投入很大,全部专职开发,这种速度当然大。但是MAUI根据计划,可能还要很长时间,而且是社区支持Linux,估计时间更久。这不能适应现在的国产化开发。 预计一段时间还是需要Avalonia作为优先。当前Avalonia使

jinyuttt的专栏 4086

NMOS管和PMOS管做开关控制电路

NMOS管和PMOS管做开关控制电路

while(1) 3万+

BestCoder Round #64 (div.2) Sum

问题描述 给n个数A1,A2....An{A}_{1},{A}_{2}....{A}_{n}A​1​​,A​2​​....A​n​​,你可以选择一个区间(也可以不选),区间里每个数x变成f(x),其中f(x)=(1890x+143)mod10007f(x)=(1890x+143) mod 10007f(x)=(1890x+143)mod10007。问最后n个数之和最大可能为多少。 输入描述

人生如梦,浮华一瞬间的专栏 466

FDTD材料nk值拟合优化指南:利用材料资源管理器提升光学模型精度

本文详细介绍了如何利用FDTD仿真软件中的材料资源管理器,对材料nk值进行精确拟合与优化,从而提升光学模型的仿真精度。文章通过实战案例,解析了拟合参数调整、报告解读以及针对varFDTD求解器的特殊注意事项,帮助用户从根本上解决仿真结果不准的常见问题。

weixin_29196891的博客 352

HDOJ1717 小数化分数2(模拟)

小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3923    Accepted Submission(s): 1592 Problem Description Ray 在数学课上听老师说,任何小数都

GKHack's Blog 3647

【WRF模拟】如何查看 WPS 的输入静态地理数据(二进制格式)?

如何查看 WPS 的输入静态地理数据(二进制格式)?

WW、forever的博客 633

uniapp - 最新微信小程序手机号一键登录功能效果,uniapp小程序实现手机号码一键登录,uniapp微信小程序端通过手机号授权完成立即登录操作(详细示例源码,新手小白一键复制开箱即用)

uniapp,微信小程序,uniapp小程序平台,uniApp手机号一键登录,uniapp小程序端手机号一键登录功能,实现微信小程序手机号一键登录,在uniapp中实现获取手机一键登录功能,uniapp手机号快捷登录,uniapp微信小程序授权登录并获取手机号,微信小程序手机号快速验证组件调用方式,uniapp小程序怎么用手机号一键登录,uniapp一键登录流程及代码,如何获取手机号一键登录到小程序,微信小程序获取本机手机号一键登录功能,新手详细教程,详细手机一键登录完整示例代码,uni-app微信unia

✅ 精选推荐文章 1万+

HDOJ1495 非常可乐(bfs)

题目链接:点击打开链接 定义结构体保存当前状态的m, n, s杯中的可乐,t表示倒可乐次数。读入m, n, s后保证m bfs结束的条件是m杯中无可乐,也就是当前n杯的可乐与当前s杯的可乐相等,且n杯的可乐为总可乐体积的一半。接下来就是s倒入 m,s倒入n,m倒入n,n倒入m,m倒入s,n倒入s的6种情况,如果不满足题意最后则输出NO。 AC代码: #include "

GKHack's Blog 2005

基于Python的专利数据爬虫开发指南:从入门到实战

本文将详细介绍如何使用Python开发一个高效的专利数据爬虫系统,涵盖最新技术栈如Playwright、异步IO、反反爬策略等。文章包含完整代码实现、性能优化技巧及法律合规建议,帮助读者构建可投入生产的专利数据采集解决方案。专利数据是技术创新的重要指标,包含技术细节、申请人信息、法律状态等宝贵信息。企业竞争情报分析技术趋势预测研发方向决策知识产权战略制定。

2201_76125261的博客 1588

HDOJ1215 七夕节(暴力 & 筛选法)

七夕节 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 35637    Accepted Submission(s): 11170 Problem Description 七夕节那天,月老来到数字王国,他在城门上

GKHack's Blog 1887

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

POJ2250 Compromise(dp)

题目链接:点击打开链接 给出两段字符串数组, 每段以"#"结尾,  要求输出两段字符串数组最长的公共字符串. lcs题目, 增加了一个flag数组保存字符串比较结果, 用于最后递归数据答案. AC代码: #include "iostream" #include "cstdio" #include "cstring" #include "algorithm" using na

GKHack's Blog 1459

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

BestCoder Round #62 (div.2) HDOJ5564 Clarke and digits(dp + 快速幂)

Clarke and digits Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 88    Accepted Submission(s): 44 Problem Description Clarke is a

GKHack's Blog 1434

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

POJ1368 & HDOJ1116 Play on Words(欧拉回路 + 并查集)

Play on Words Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 10844   Accepted: 3695 Description Some of the secret doors contain a very interesting word p

GKHack's Blog 1363

BestCoder Round #65 HDOJ5592 ZYB's Premutation(树状数组+二分)

ZYB's Premutation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 638    Accepted Submission(s): 302 Problem Description ZYB has

GKHack's Blog 1348

BestCoder Round #54 (div.2) HDOJ 5429 Geometric Progression(模拟)

Geometric Progression Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 316    Accepted Submission(s): 86 Problem Description Determi

GKHack's Blog 1259

HDOJ066 一个人的旅行(dijkstra)

Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大

GKHack's Blog 1234

HDOJ5455 Fang Fang(模拟)

Fang Fang Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 159    Accepted Submission(s): 81 Problem Description Fang Fang says she

GKHack's Blog 1196

HDOJ1003 Max Sum(脑洞)

题目链接: t组样例,每组样例开始是n,后n个数字组成一个数组。问你连续的哪些数之和最大。 每读入一个数字加到tmp上,代表当前数之和,若tmp比ans大则更新ans,同时更新起始和结束的点。若tmp为负则更新起点为j+1, 且tmp重置为0。保证了ans能取得最大。 AC代码: #include "iostream" #include "cstdio" #inc

GKHack's Blog 1196

HDOJ3018 Ant Trip(欧拉回路 + 并查集)

Ant Trip Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2055    Accepted Submission(s): 796 Problem Description Ant Country consis

GKHack's Blog 1192

BestCoder Round #54 (div.2) HDOJ 5427 A problem of sorting(模拟)

A problem of sorting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 240    Accepted Submission(s): 115 Problem Description There a

GKHack's Blog 1185

HDOJ1829 A Bug's Life(并查集)

Problem Description Background  Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with b

GKHack's Blog 1178

BestCoder Round #61 HDOJ5522 5523 5524题解

题目链接: 点击打开链接 A: 直接无脑暴力枚举三个数, 或者枚举前两个数, 第三个数二分, 我用了stl的lower_bound() AC代码: #include "iostream" #include "cstdio" #include "cstring" #include "algorithm" using namespace std; const int MAXN = 105

GKHack's Blog 1175
上一篇: BestCoder Round #64 (div.2) HDOJ5586 Sum(脑洞)
下一篇: 图的邻接矩阵实现_MGraph
GKHack
博客等级 码龄11年 48粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值