首页 > 大吉大利
头像 __Aurora__
发表于 2020-03-27 22:18:12
本蒟蒻由于明天要考试和太水了,所以只做了A题首先解释一下A题是什么意思。 这个符号用于求和,通俗的说题目中的两个 就是for (int i=1; i<=n; i++) 和 for (int j=1; i<=n; i++) 那么题目就变得通俗易懂了,即最朴素的写法就是: int ans = 展开全文
头像 回归梦想
发表于 2020-03-28 00:03:36
传送 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K64bit IO Format:%lld 题目描述输入描述: 第一行一个整数n.第二行n个整数ai. 输出描述: 一个整数表示上述求和式的答案.示例1输入 5 1 2 3 4 5 展开全文
头像 段三园的小迷弟
发表于 2020-03-28 22:24:22
把所有的数转成二进制,然后统计每一位1的个数,然后每一位内部组合,注意组合a&b==b&a且视为2组 最后再加上每个数自己和自己组合,即累和 如1,10,11,100,101(1-5),20位累计3(C(3,2)*2*20),21位累计2(C(2,2)*2*21),22累 展开全文
头像 健康快乐最重要
发表于 2020-03-28 15:39:31
首先暴力相与是过不去的(即便是优化的也不过去,因为1s大概只能执行9位数的循环,而1e5*1e5要10位数了)。 int main(){ scanf("%lld",&n); ll t=n; while(n--){ scanf("%lld",&i 展开全文
头像 LDU_何海钊
发表于 2020-03-31 11:20:46
位运算 【考察点】位运算&运算就要想到位运算,然后两个for循环。需要把一个数拆分所有的二进制,然后统计二进制位上的次数。每次遇到的时候就直接+多少个即可。 #include<cstdio> #include<cstring> #include<iostream 展开全文
头像 白菜茄子
发表于 2020-03-28 23:05:09
网址:https://ac.nowcoder.com/acm/contest/4853/A 题目描述 给定n个整数,依次为a_1,a_2,...,a_n。求sum=a_i&a_j(i从一到n,j从一到n)“&”是二进制的与运算符。 输入描述: 第一行一个整数n.第二行n个整数a_i. 展开全文