【代码源每日一题Div1】平方计数「nlogn巧妙枚举倍数优化」
创始人
2024-02-10 05:13:49
0

平方计数

题目描述:

给你n个数字,求存在多少对(i, j),满足 ai2+aja_i^2+a_jai2​+aj​是一个完全平方数

思路:

假设 ai2+aj=x2a_i^2+a_j=x^2ai2​+aj​=x2

则 aj=(x+ai)∗(x−aj)a_j=(x+a_i)*(x-a_j)aj​=(x+ai​)∗(x−aj​)

即存在aj的因子p,qp*q=a[j]p-q = 2*a[i]

显然一个简单的思路是去枚举a[j]的所有因数,看存在多少个满足条件的,但是复杂度是 O(nn)O(n\sqrt{n})O(nn​),会超时

我们需要考虑进行一下优化

可以发现,其实就是利用了两个因数,而且这两个因数的乘积不超过1e6

所以我们可以通过枚举每个数字i的倍数的方法去优化,即

for(int i = 1; i <= 1000000; ++i){for(int j = i; j <= 1000000; j += i){//j是其中的一个因数,j/i是另一个因数int mi = min(i, j/i), ma = max(i, j/i);int d = ma - mi;if(d%2==0){ans += tr[j]*tr[d/2];}}}

最后输出ans/2就行

#include
using namespace std;
#define int long long
#define endl '\n'
#define io ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define m_p(a, b) make_pair(a, b)typedef long long ll;
typedef pair pii;#define MAX 1000050int n, m, x;
int tr[MAX];void work(){cin >> n;ll ans = 0;for(int i = 1; i <= n; ++i){cin >> x;++tr[x];	}for(int i = 1; i <= 1000000; ++i){for(int j = i; j <= 1000000; j += i){int mi = min(i, j/i), ma = max(i, j/i);int d = ma - mi;if(d%2==0){ans += tr[j]*tr[d/2];}}}cout << ans/2 << endl;
}signed main(){io;work();return 0;
}

相关内容

热门资讯

东方电子跌2.04%,成交额7... 5月14日,东方电子盘中下跌2.04%,截至11:00,报9.59元/股,成交7109.97万元,换...
龙利得涨2.30%,成交额24... 5月14日,龙利得盘中上涨2.30%,截至10:59,报5.79元/股,成交2494.39万元,换手...
国台办回应民进党当局加紧采购爱... 转自:财联社【国台办回应民进党当局加紧采购爱国者导弹】财联社5月14日电,国台办举行例行新闻发布会。...
格林精密跌2.04%,成交额5... 5月14日,格林精密盘中下跌2.04%,截至11:00,报14.92元/股,成交5458.96万元,...
晶华微跌2.06%,成交额17... 5月14日,晶华微(维权)盘中下跌2.06%,截至10:50,报25.66元/股,成交1777.62...
必得科技跌2.05%,成交额1... 5月14日,必得科技盘中下跌2.05%,截至10:56,报12.90元/股,成交1339.76万元,...
立方制药涨2.02%,成交额9... 5月14日,立方制药盘中上涨2.02%,截至10:57,报23.77元/股,成交9439.78万元,...
兰州市城关区首次开展公共服务政... 城关区首次开展公共服务政策健康影响评估  5月13日,兰州市城关区召开公共服务政策健康影响评估会议暨...
哪吒汽车关联公司超10亿人民币...   5月14日上午消息,天眼风险信息显示,哪吒汽车关联公司合众新能源汽车股份有限公司有10亿人民币、...
瀚川智能跌2.05%,成交额1... 5月14日,瀚川智能盘中下跌2.05%,截至10:51,报13.88元/股,成交1667.10万元,...
2024年上海宝山绿色低碳产业... 5月14日,界面新闻从上海宝山获悉,2024年宝山区绿色低碳产业规模已达1003.69亿元,首次突破...
美股三大指数涨跌不一 标普50... 来源:环球网 【环球网财经综合报道】当地时间周二,美股市场呈现分化走势,三大指数收盘涨跌互现。其中,...
瑞凌股份跌2.05%,成交额2... 5月14日,瑞凌股份盘中下跌2.05%,截至10:58,报10.03元/股,成交2729.60万元,...
研究称中国痴呆人数激增 【#研究称中国痴呆人数激增#】最近,上海复旦大学的一项研究显示,过去30年间,中国痴呆患者数量从19...
青少年阅读,筑就生命基石——来... 青少年红色阅读接力活动。 主办方供图当人工智能(AI)的浪潮扑面而来,全民阅读迎来变革之年,如何让阅...
技能之星丨赵慧仪:破茧成蝶的舞... 转自:邯郸网络广播电视台2025年河北省职业院校技能大赛舞蹈表演(中职组)现场,邯郸科实中等专业学校...
【研报推荐】华润微:25Q1盈... 转自:新华财经华润微季报点评_25Q1盈利同比高增,汽车和AI应用持续带来需求增量.pdf
费高云卸任安徽副省长,此前已任... 转自:长安街知事据安徽日报消息,5月14日上午,安徽省十四届人大常委会第十六次会议通过人事任免案,决...
电子烟概念股集体上扬 华宝国际... .ct_hqimg {margin: 10px 0;} .hqimg_wrapper {text-a...
中自科技跌2.03%,成交额4... 5月14日,中自科技盘中下跌2.03%,截至10:51,报22.64元/股,成交4916.13万元,...