E - ∙ (Bullet) 不能同池子的限制,计数

...

主要是他这个-1 。。。因为 x y是并 。。比如 x 有0123 y也有012 就两种0 。。有-1 。

然后同号 异号 ? 同号 异号 就是分两类。。

的处理。。和计算。

cpp 复制代码
void solve() {
	cin >> n;
	map<ar, ar>mp;
	int cnt = 0;
	for (int i = 1; i <= n; ++i) {
		int x, y; cin >> x >> y;
		if (x == 0 && y == 0)
			cnt++;
		else if (x == 0)mp[ {0, 0}][0]++;
		else if (y == 0)mp[ {0, 0}][1]++;
		else {
			int t = gcd(x, y);
			x /= t, y /= t;
			if (x < 0 && y < 0)mp[ { -x, -y}][0]++;
			else if (x < 0)mp[ {y, -x}][1]++;
			else if (y < 0)mp[ { -y, x}][1]++;
			else mp[ {x, y}][0]++;
		}
	}
	Z ans = 1;
	for (auto[_, t] : mp) {
		auto[x, y] = t;
		ans *= qpow(2, x) + qpow(2, y) - 1;
	}
	ans += Z(cnt - 1);

	cout << ans;
};


//我们可以提出最大公约数之后 用map<ar,int>cnt
// 那就是联通分量。。相乘不行吗
// https://www.cnblogs.com/myrcella/p/12913733.html
相关推荐
To_OC3 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎4 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC5 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn6 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹6 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术6 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
CV-Climber9 小时前
检索技术的实际应用
人工智能·算法
hhzz10 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_10 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法