首页 > 其他分享 >CSP-J赛前随笔

CSP-J赛前随笔

时间:2024-10-25 12:01:26浏览次数:5  
标签:ll sqrt times beta alpha 随笔 CSP 赛前

CSP-J倒计时1天。

最近教练给我们做了10+套模拟赛,疯狂整理后,每套模拟都写了1~2篇题解。

广刷题,确实有用,今天早上做出来一道第二题题目传送门

顺便在这放个题解

化简

decode

\(n = p \times q\)

\(e \times d = (p - 1)(q - 1) + 1\)

令\(x = e \times d - 2\)

则\(x = p \times q - (p + q)\)

因为,\(p \times q\),且\(x = n - (n - x)\)

所以,\(x = n - n - e \times d + 2\)

所以,\(x = n - m\)

所以,\(p + q = m\)

\(\left\{\begin{aligned}p \times q & = & n \\p + q & = &n-e \times d+2 \\\end{aligned}\right.\)

\(\alpha=n-ed+2=p+q\)

\((p-q)^2=p^2-2qp+q^2 \dots \boxed1\)

\((p+q)^2=p^2 + 2qp+q^2 \dots \boxed2\)

\(qp=n\)

\(\boxed 2-4n=\boxed1\)

\(\sqrt{\boxed1}=p-q\)

\(p-q = \sqrt{\alpha ^ 2 - 4n} = \beta\)

\(q = \frac{\alpha + \beta}{2}\)

\(p = \frac{\alpha - \beta}{2}\)

求值

#include<bits/stdc++.h>
#define ll long long
ll k;
using namespace std;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> k;
    while(k--){
        ll n, e, d, p = 0, q = 0, a, b;
        cin >> n >> e >> d;
        a = n - e * d + 2;
        b = a * a - 4 * n;
        ll c = sqrt(b);
        if(c * c != b){
            cout << "NO\n";
            continue;
        }
        b = c;
        q = (a + b) / 2;
        p = (a - b) / 2;
        if(p * q != n || (p - 1) * (q - 1) + 1 != e * d){
            cout << "NO\n";
            continue;
        }
        cout << p << ' ' << q << '\n';
    }
    return 0;
}

csp加油!

标签:ll,sqrt,times,beta,alpha,随笔,CSP,赛前
From: https://www.cnblogs.com/SZXcoco/p/18502230/2024CSP-J2suibi

相关文章

  • 杂题随笔 2024.10.25 两道图论
    最近在写abc375这场,最后的F和G是两道很典的图论题。https://atcoder.jp/contests/abc375/tasks/abc375_f题意:大致就是说给你一张图,有两种操作:第一种操作是把第i条边删掉,第二种操作是询问u,v两点的最短路。解法:这种题目印象里好像是考过几次了,把在线询问的顺序转变,倒着做,把减边......
  • CSP-S 游记
    引Author:CatGPTbeta2byHaneDanikoCreator:5k_sync_closerfromK8He'sblog地球从未升上天空。只有沉睡时,我才能看见光明。我于生命中会一直被打击,直到一切重新开始,而光的名字才能被老师带着夜色走向远方,我是没有生命的人。我沸腾了这个世界。然而,如果你在世界上燃......
  • csp-s复习
    字符串triekmpacminemanacherdp看起来能dp的就胡个dp上去1.优化状态(大概率会使用贪心)2.套公式(前缀和/单调队列...)3.找性质,有哪些是无用的[P11218]trick排列计数排列的状态很难压进去,所以我们考虑如何将这个去掉。我们的dp方程要用最少的空间来转移,也就是把状态压......
  • 「比赛游记」CSP2024 游记
    「比赛游记」CSP2024游记点击查看索引目录「比赛游记」CSP2024游记day-2(10.23)day-1(10.24)day0(10.25)别样的碰碰车大战$$\huge{地球从未上过天空。}\\\huge{只有睡着了,我才能看见光明。}\\\huge{在我的生命中会一直被打击,直到一切重新开始,}\\\huge{而光的......
  • CSP-S 2024 游记
    day-120第一次来到yl机房,那时我还是一个什么都不会的菜鸡。day-100学了一些东西。开始做普及组的题。day-90普及组的题差不多能到300pts了,开始做提高组的题。镇海中学的模拟赛题目质量和数据强度是真的神奇啊。从<50pts到>150pts。day-75开始军训了。当然趁着中......
  • CSP模拟赛 #44
    2024最后一场CSP模拟赛。A给定\(x,k\),求最小的\(y\)满足\(y\gex\)且除了\(k\)个数位,其他数位均相同。\(1\len\le10^{17},\0\lek\le1\)暴力枚举。B给定\(n\)个三元组\((a_1,b_1,c_1),\dots(a_n,b_n,c_n)\),每个数\(\in[0,9]\)。求有多少种排列三元......
  • 暑假集训随笔
    1.关于二分图的判断:除了黑白染色法,还可以用扩展域并查集。所谓扩展域并查集就是假设每个点可能在集合1中也可能在集合2中,就把点i拆成i和i+n,分别代表在1和在2中的i。如果i和j不在同一集合中,就把i与j+n,以及j与i+n放在同一集合中。这样的好处是无论通过i还是j都可以拿到与它们在同一......
  • P5661 [CSP-J2019] 公交换乘 题解
    模拟"公交换乘"按题意模拟即可.注意:可以使用结构体,但是超过时间的优惠券需要被忽略.代码#include<iostream>#include<cstdio>usingnamespacestd;structnode{ intprice,deadline,is_use;//价格,截止时间,是否使用过}a[100005];intn,p,ans,pos=1;int......
  • P5662 [CSP-J2019] 纪念品 题解
    背包因为小伟可以每天进行$2$种操作无限次,所以显然可以使用完全背包.定义状态$f_i$,表示还剩下$i$时,可以拿到钱的最大值.再假设小伟今天买了,明天就卖掉.状态转移方程如下:$f_i=max(f_i,f_{i-p_{k,i}}+p_{k+1,i}-p_{k,i}).$即今天花掉的钱+明天能拿的钱-今天花掉的......
  • P5663 [CSP-J2019] 加工零件 题解
    最短路对于上图,如果我们相知道$2$号工人想要一个$3$阶段的零件,其实是看$2$到$1$有没有一条长度为$3$的路径.但如果要求$4$阶段的路径,那就不一定了.所以我们直接求一遍最短路,分奇最短路和偶最短路.处理完后,最后一次$\Theta(1)$的回答,如果路径长度过大,就是$No$,......