CF--A. Tricky Sum

【AI应用实战-WorkBuddy】WorkBuddy 能帮你做什么(一) 文章摘要: WorkBuddy是一款AI工作助手,专为提升效率而设计,适用于经常处理文档、代码、数据分析等重复性任务的职场人士。它能通过自然语言交互快速完成五大核心场景任务: 周报撰写:输入工作要点,10分钟生成专业周报; 代码调试:解析报错信息,3分钟提供解决方案; Excel分析:自动计算数据趋势并生成图表和结论; 自动化脚本:将重复流程转为脚本,节省98%时间; 文档生成:根据代码自动补充README、API文档和注释。 效果对比:传统手动操作耗时1-3小时的任务,WorkBuddy可将时间缩短至10 阅读详情

A. Tricky Sum
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

In this problem you are to calculate the sum of all integers from 1 to n, but you should take all powers of two with minus in the sum.

For example, for n = 4 the sum is equal to - 1 - 2 + 3 - 4 =  - 4, because 1, 2 and 4 are20,21 and22 respectively.

Calculate the answer for t values of n.

Input

The first line of the input contains a single integer t (1 ≤ t ≤ 100) — the number of values ofn to be processed.

Each of next t lines contains a single integern (1 ≤ n ≤ 109).

Output

Print the requested sum for each of t integersn given in the input.

Sample test(s)
Input
2
4
1000000000
Output
-4
499999998352516354


题意:给出一个数n,计算1--n的和,但2的所有次方的数(如2^0,2^1...2^k<=n)需看成负数,即减去该数,最后的出结果。

思路:没必要用等比数列公式求,还是直接暴力好。求出负数和的绝对值minus,再用1--n的和sum减去minus,就得到需要累加的正数positive,

     用positive-minus即得到结果。

代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
typedef long long ll;
using namespace std;
int main()
{
#ifdef OFFLINE
	freopen("t.txt","r", stdin);
#endif
	ll t, i, n, sum, minus, positive;
	scanf("%lld", &t);
	while(t--){
		scanf("%lld", &n);
		sum=n*(n+1)/2;//1--n的和
		minus=1;//2^0
		for(i=2;i<=n;i*=2){
			minus+=i;
		}
		positive=sum-minus;//正数
		printf("%lld\n", positive-minus);
	}
	return 0;
}

lwip-2.0.3 lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。 立即下载

相关推荐

Seafile搭建以及onlyoffice在线办公

部署seafile docker-compose.yml 如下: 参考此篇文章 version: '2.0' services: db: image: mariadb:10.1 container_name: seafile-mysql environment: - MYSQL_ROOT_PASSWORD=db_dev # mysql root的密码,同时修改 seafile的DB_ROOT_PASSWD与这个一致 - MYSQL_LOG_CONSOLE

dwdcth的专栏 4656

A - Tricky Sum(等比等差+容斥思想)

题意很简单,就是把[1,n]中能用2的幂的形式表示的变成负数,然后再相加; 很显然 1.1–n等差数列求和; 2.用等比数列求出公比为2,首项为1的和; 一看1e9次方,枚举爆表,所以巧妙枚举,利pow(2,i)<=n来找出其中的值; 这里用快速幂加速: #include<bits/stdc++.h> using namespace std; typedef long long...

qq_44555205的博客 245

MAC M1用户必看:UTM虚拟机安装Win11全流程避坑指南(附驱动下载)

本文为MAC M1用户提供UTM虚拟机安装Win11的完整指南,涵盖镜像准备、驱动优化及性能调优等关键步骤。特别针对TPM 2.0验证、网络连接等常见问题提供解决方案,帮助用户高效运行Windows 11 ARM版。

weixin_29204205的博客 338

CodeForces - 598A Tricky Sum (数学,快速幂的运用)

传送门: http://codeforces.com/problemset/problem/598/A A. Tricky Sum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output In this problem...

Y先森0.0 240

Unity WebGL发布避坑指南:从内存设置到字体打包,一次搞定所有常见问题

本文详细解析Unity WebGL发布的完整流程,从内存设置到字体打包,提供全面的避坑指南。涵盖关键检查清单、内存与性能优化配置、资源处理专项优化及平台适配技巧,帮助开发者高效解决常见问题,确保项目顺利发布。

weixin_28693309的博客 147

Mimics 21.0软件学习笔记(一)基本操作

Materialise Mimics 21.0打开工程窗口化Thresholding 二值化Region growing区域增长创建一个3D表示,并显示股骨头从髋臼中区分出来,并单独为股骨头建立3D模型 打开工程 Opening the Project 窗口化 Windowing 二值化 Thresholding 区域增长 Region Growing 建立 3D 表示 Creating a 3D representation 显示 3D 表示 Displaying a 3D representation

qq_35495464的博客 4万+

CodeForces 598A:Tricky Sum【数学】

Tricky Sum Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 598A Description In this problem you are to calculate the s

所谓梦想,就是永不停息的疯狂。。。。。 610

Android 10.0 SystemUI下拉状态栏点击设置跳转设置时白屏修改

在10.0的系统rom定制化开发中,在SystemUI下拉状态栏下方点击设置图标跳转设置的过程中,发现 有白屏显示挡住设置界面,显示白屏,接下来分析下相关原因来解决这个问题

安卓兼职framework和app工程师的博客 80

A. Tricky Sum

time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output In this problem you are to calculate the sum of all integers from

无知的我 1573

PostgreSQL核心原理:数据库崩溃恢复的唯一真相详解

PostgreSQL崩溃恢复机制通过WAL日志确保数据一致性和持久性。核心流程包括:触发恢复(非正常关闭时)、读取控制文件获取检查点LSN、顺序扫描WAL日志进行Redo阶段重做已提交事务、利用MVCC标记未提交事务为ABORTED实现逻辑撤销,最后执行检查点完成恢复。该机制依赖WAL原子性、检查点锚点和无Undo的可见性模型三大支柱,保证即使系统崩溃也能恢复到逻辑一致状态。关键设计包括延迟写入、LSN顺序控制和FPW防部分写,最终通过确定性重放实现ACID特性。

数据知道的博客 2660

编写python脚本调用ordinals以及BRC20的接口

1、钱包地址生成walletreceive,对应ord命令:ord wallet receive。6、测试手动出块generate,这个只在regtest链节点用得上。所有接口都是post请求,采用postman进行测试。4、测试bitcoin转币sendtoaddress。7、测试其他的wallet方法wallet。2、钱包币种铭刻inscription,对应bitcoin-cli命令。对应bitcoin-cli命令。对应bitcoin-cli命令。fee.json文本模板。还可以加很多根据需要加减。

云深海阔专栏 1047

CF 598A Tricky Sum【规律】

A. Tricky Sum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output In this problem you are to calculate the sum o

平平淡淡才是真 582

Android 15.0 app进程保活白名单功能实现

在15.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能

安卓兼职framework和app工程师的博客 638

cf 598A Tricky Sum

#include using namespace std; #define LL long long const LL MAXN=1000000000; LL a[30]={1}; LL b[30]={1}; int main() { for(int i=1;i<=30;i++) a[i]=2*a[i-1]; for(int i=1;i<30;i++)

Stool_Monster的专栏 758

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

CF598A Tricky Sum

题意: 该题目有多组数据,每组数据给出一个n,让你求出从1到n的和,但是其中每当遇到一个数是2的次幂时,就要变加为减。例如输入n=4,那么计算算式为-1-2+3-4=-4,因为1是2^0,2是2^1,4是2^2。共有t组数据。   其实做法很简单,把从1到n的和用等差数列算出来,然后用log2n计算出不大于n的2的幂次共有多少个,用等比数列求和公式求出它们的和,减去两倍的它即可。 但是我发现...

weixin_30323961的博客 183

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Coderforce 598A Tricky Sum (数学)

题意:求数字之和,但是要减去2的倍数 思路:直接求... #include #include #include #include #include #include using namespace std; int main () { long long sum,n,t,x; int i; scanf("%lld",&t); while(t--) {

围巾的ACM博客 991

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

CF912A Tricky Alchemy

CF912A Tricky Alchemy 题意翻译 Grisha有一些水晶,可以用这些水晶造出一些水晶球。现在他有A个黄水晶,B个蓝水晶。现在他要造出x个黄水晶球,y个绿水晶球,z个蓝水晶球。请问他还额外需要几个水晶(不需要就输出0)才能完成任务。 2个黄水晶可造出1个黄水晶球 1个黄水晶加上1个蓝水晶可造出1个绿水晶球 3个蓝水晶可造出1...

HJ921004的博客 155

洛谷 CF429D Tricky Function

洛谷 CF429D Tricky Function 题目: 英文。转链接 题解: 人话题意: 给定序列 a[1], a[2], …, a[n] 函数 f(i, j) = (i - j) ^ 2 + (a[i+1] + a[i+2] + … + a[j]) ^ 2 求 f 的最小值。n ≤ 100000 设sum[]为a[]的前缀和数组。 那么f(i, j)可以改写为f(i, ...

aochongbi5356的博客 411

CF598

CF EDU 1 A Tricky Sum 题目链接 思路 首先如果2的次幂是减号的话, 我们可以将2的次幂这个等比数列求出来。 根据等比数列求和公式a1(1−qn)1−q\frac{a1(1 - q^n)}{1-q}1−qa1(1−qn)​, 将公比2代入, 将a1为1 代入, 可得∑i=0n2i=2n+1−1\sum_{i=0}^{n}2^i = 2^{n+1} - 1∑i=0n​2i=2n+1−1。那么, 原题我们就可以将答案减去这个2的次幂和了 再来考虑剩下的: 原题中剩下的都是正的, 为1到n中不

chenboshuai的博客 301

【codeforces】-598A-Tricky Sum(数列求和,2的幂为负)

A. Tricky Sum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output In this problem you are to calculate the sum o

Bear1998的博客 733

CF429D Tricky Function(求解公式、经分析转为求平面最近点对、思维)

整理的算法模板合集: ACM模板 目录 CF429D Tricky Function 题意实际上就是给定长度为 nnn 的一串序列a1,a2,...,ana_1, a_2,...,a_na1​,a2​,...,an​,找到两个正整数i,j∈[1,n]i,j\in[1,n]i,j∈[1,n],求(i−j)2+(∑k=i+1jak)2(i-j)^2+(\sum_{k=i+1}^{j}a_k)^2(i−j)2+(∑k=i+1j​ak​)2 的最小值 分析 将原式中的∑k=i+1jak\sum_{k=i+1}

繁凡さん的博客 661

codeforces 429D Tricky Function

这道就是相当于i表示x轴,sum[i]表示y轴,sum[i]表示前i个数的和           那么计算最小两点之间的距离           所谓的就是看了题解恍然大悟的题,就是算的时候先算的j->i的距离,        #include #include #include #include using namespace std; typedef long long ll;

wuhulala的休息室 1455

Codefoces 429 D. Tricky Function

裸的最近点对.... D. Tricky Function time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Iahub and Sori

码代码的猿猿 1718

Codeforces 429D Tricky Function 最近点对

题目链接:点击打开链接 暴力出奇迹。 正解应该是最近点对,以i点为x轴,sum[i](前缀和)为y轴,求任意两点间的距离。 先来个科学的暴力代码: #include #include #include #include #include #include using namespace std; #define N 100050 #define ll __int64 ll a[N], su

九野的博客 2184

Codeforces(429D - Tricky Function)最近点对问题

D. Tricky Function time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Iahub and Sorin are the best competitive

xiefubao的专栏 1559

【CodeForces 429D】Tricky Function 【思维转化+分治求最近点对】

D. Tricky Function Time Limit: 20 SecMemory Limit: 256 MB题目连接 codeforces.com/problemset/problem/429/DDescription Iahub and Sorin are the best competitive programmers in their town. However, they can

lzs_lazy 610
上一篇: HDU 1087 Super Jumping! Jumping! Jumping!
下一篇: CF--B - Queries on a String
yibin94
博客等级 码龄11年 78粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值