Cool Pomelo

Per aspera ad astra. 循此苦旅,以达天际。

Problem E

\(T\) 组询问,给两个数 \(a,b\),询问 \(|a^2-b^2|\) 的值在集合 \(C\) 中为第几小,\(C=\{|x^2-y^2|\mid x,y\in N^*,x\not=y\}\)。例如 \(3,5,7,8,9\in C\),且为前五小。

\(1≤T≤10^4,1≤a,b≤10^9,a\not=b\)

点击查看题解

\(a>b\)\(a^2-b^2=(a+b)(a-b)\)。则 \(a+b\)\(a-b\) 同奇偶。可推出 \(a^2-b^2\bmod 4 \not=2\)

\(\forall\text{ }m_1\ge 1,\exists\text{ }x_1,y_1\in N^*\),满足 \(x_1-y_1=m_1\)\(\forall\text{ }m_2\ge 3,\exists\text{ }x_2,y_2\in N^*\),满足 \(x_2+y_2=m_2\)

\(C=\{n\mid n\ge3,n\not=4,n\bmod4\not=2\}\)。据此可计算排名。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define PII pair<ll,ll>

int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll T, a, b;
cin >> T;
while (T--) {
cin >> a >> b;
a = abs(a * a - b * b);
if (a == 3)
cout << 1 << endl;
else if (a % 4 == 0)
cout << (a / 4 - 1) * 3 + 1 << endl;
else if (a % 4 == 1)
cout << (a / 4 - 1) * 3 + 2 << endl;
else if (a % 4 == 3)
cout << (a / 4 - 1) * 3 + 3 << endl;
}
return 0;
}



在学习圆锥曲线的过程中,我们必然会遇到诸多有关焦点这个特殊点的题目。比如下面这道:

\[ \text{设}F_1,F_2\text{分别为椭圆}\frac{x^2}{3}+y^2=1\text{的左、右焦点,点}A,B \] \[ \text{在椭圆上,若}\overrightarrow{F_1A}=5\overrightarrow{F_2B},\text{则点A的坐标是}() \]

阅读全文 »


本文被加密了,请点击“阅读全文”后输入密码查看。
阅读全文 »


注:上一次写题解是 2022-03-26,那是退役前的最后一篇题解。

虽然我已经退役了,但是我还是要把这个神奇的题搞一搞!

CCF 用以造数据的脚恐怖如斯,如同加工老坛酸菜。

阅读全文 »

这是 Pomelorin 讲课用的讲义。因为是用 Markdown 写的,所以可以直接复制在这里。

P5659 [CSP-S2019] 树上的数

闲话

  • 既然我们又分到了一个黑题,自然要创新一下讲课形式——不用 PPT,而是用讲义!

    或者说,因为这个题兼具思维难度性和代码复杂性,而 PPT 的形式不方便展示代码,所以就用了这个形式。

  • 然后除非大佬们开了防火墙,“文件接收柜”里面应该已经有了今天讲课的资源包。

  • 本讲义有很多提问环节,如果大佬们同步看的话,请不要偷看答案哦!

  • 由于讲课的人水平所限,可能有不清楚或者错误的地方,欢迎指出!

  • 插一嘴,Typora 这个 Markdown 编辑器真好用!

阅读全文 »

0%