【牛客 - 125A】灰魔法师(打表,暴力)
题干:
给出长度为n的序列a, 求有多少对数对 (i, j) (1 <= i < j <= n) 满足 ai + aj 为完全平方数。
输入描述:
第一行一个整数 n (1 <= n <= 105)
第二行 n 个整数 ai (1 <= ai <= 105)
输出描述:
输出一个整数,表示满足上述条件的数对个数。
示例1
输入
复制
3
1 3 6
输出
复制
2
说明
满足条件的有 (1, 2), (2, 3) 两对。
解题报告:
这题不算难,但是我想知道为啥带个log就wa?
AC代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 3e5 + 5;
int box[MAX];
int main()
{int n;scanf("%d",&n);ll ans=0;for(int i=1; i<=n; i++) {int t;scanf("%d",&t);for(int j=2; j<=500; j++) {if(j*j>t) ans+=box[j*j-t];}box[t]++;}printf("%lld",ans);return 0;
}
WA代码:(还是说这种做法就不对?)
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
int n,tot;
ll biao[505000];
ll a[100005];
int main()
{cin>>n;for(ll i = 1; i*i<=(ll)7e5; i++) {biao[++tot] = i*i;
// printf("%d\n",biao[i]);}for(int i = 1; i<=n; i++) {scanf("%lld",a+i);}sort(a+1,a+n+1);ll ans = 0;for(int i = 1; i<=n; i++) {for(int j = 1; j<=tot; j++) {if(biao[j]-a[i] < a[1] || biao[j]-a[i] > a[n]) continue;if(binary_search(a+1,a+n+1,biao[j]-a[i])) {ans += upper_bound(a+1,a+n+1,biao[j]-a[i]) - lower_bound(a+1,a+n+1,biao[j]-a[i]);}}}printf("%lld\n",ans/2);return 0 ;
}
【牛客 - 125A】灰魔法师(打表,暴力)相关推荐
- 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)
牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...
- 牛客网+紫魔法师+染色问题
题目描述 "サーヴァント.キャスター.Medea."--紫魔法师 给出一棵仙人掌(每条边最多被包含于一个环,无自环,无重边,保证连通),要求用最少的颜色对其顶点染色,满足每条边两个 ...
- 题解-牛客网-SQL-(SQL15)查找employees表所有emp_no为奇数
文章目录 1. 题目描述 1.1 输入 1.2 输出 2. 题目分析及解答 2.1 题目分析 2.2 详细解答 1. 题目描述 1.1 输入 有一个员工表employees简况如下: 建表语句如下: ...
- 白魔法师--图的连通块问题(牛客小白月赛25)
链接:题目链接 来源:牛客网 白魔法师 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 你 ...
- 2023牛客寒假算法基础集训营4_20230130「向上取整」「夹逼dp」「lowbit科学+树状数组性质」「搜索」「倍增跳表」「莫队」
6/13 教育场是有被教育到.(预计会鸽几题. 已过非太水的题们 //B //https://ac.nowcoder.com/acm/contest/46812/B//小构造小数学#include & ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
- 【牛客OI周赛7-普及组ABCD 非官方题解】暴力,二分,KMP,尺取(STL或Hash)
A: 链接:https://ac.nowcoder.com/acm/contest/372/A 来源:牛客网 某天,一只可爱的肥橘喵在路上走,突然遇到了一个怪人,那怪人自称PM6,"小肥喵, ...
- 【牛客 - 371牛客OI周赛7-提高组B】小睿睿的询问(RMQ,ST表维护下标)
题干: 链接:https://ac.nowcoder.com/acm/contest/371/B 来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小 ...
- 【牛客 - 371牛客OI周赛7-提高组A】小睿睿的等式(dp,暴力 )
题干: 链接:https://ac.nowcoder.com/acm/contest/371/A 来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如"A+B=n"的等 ...
最新文章
- The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.0 and higher.
- 【微信小程序之画布】终:手指触摸画板实现
- 2019 年,19 种方法让自己成为更好的 Node.js 工程师
- Spark算子:RDD基本转换操作–coalesce、repartition
- ejb能调用另一个ejb吗_异步EJB只是一个Gi头吗?
- php入门速成(2),PHP入门速成(1)
- jenkins安装环境搭建(3)
- Linux为什么受欢迎?
- (转)Spring Boot(五):Spring Boot Jpa 的使用
- php redis高并发秒杀超卖解决测试
- CentOS7安装Oracle11.2.0.4
- RH850中断使用方法
- 【实战应用】后端返回支付宝HTML,如何使用.H5端调用支付宝支付
- 本周最新文献速递20211128
- 利用GitHub搭建个人网站
- azw3怎么在iphone上打开?
- 华为matebook13安装折腾Debian11全过程
- 联想Y430P CentOS 7.3 无线网络的配置
- Nvidia TX2+rplidar+autolabor pro1实现自主导航机器人
- dialogue怎么读_dialogue是什么意思_dialogue怎么读_dialogue翻译_用法_发音_词组_同反义词_对话-新东方在线英语词典...
热门文章
- Java学习笔记12——JVM入门
- keeplive linux平台下,Linux下搭建keepalive+nginx
- 哈佛大学计算机科学专,哈佛大学计算机科学专业
- php设置cookie值,PHP如何设置和取得Cookie值
- 3493. 最大的和
- java 事物_java事务
- android开源系统brvah,Android Jetpack之通用Adapter(Databinding+BRVAH)
- sql backup database备份d盘_ClickHouse 备份与恢复
- 手写tomcat socket closed_【消费电子】:重在阅读,新增手写 BOOX Nova Pro 体验评测...
- 北方股份无人驾驶矿卡_踏歌智行完成B轮2亿元融资,无人驾驶矿山赛道爆发在即...