国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[CSP-J 2022] 解密

這篇具有很好參考價值的文章主要介紹了[CSP-J 2022] 解密。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

大家好,今天我來解題[CSP-J 2022] 解密
題目來源鏈接

1.讀題

[CSP-J 2022] 解密(民間數(shù)據(jù))

題目描述

給定一個正整數(shù) k k k,有 k k k 次詢問,每次給定三個正整數(shù) n i , e i , d i n_i, e_i, d_i ni?,ei?,di?,求兩個正整數(shù) p i , q i p_i, q_i pi?,qi?,使 n i = p i × q i n_i = p_i \times q_i ni?=pi?×qi?、 e i × d i = ( p i ? 1 ) ( q i ? 1 ) + 1 e_i \times d_i = (p_i - 1)(q_i - 1) + 1 ei?×di?=(pi??1)(qi??1)+1。

輸入格式

第一行一個正整數(shù) k k k,表示有 k k k 次詢問。

接下來 k k k 行,第 i i i 行三個正整數(shù) n i , d i , e i n_i, d_i, e_i ni?,di?,ei?。

輸出格式

輸出 k k k 行,每行兩個正整數(shù) p i , q i p_i, q_i pi?,qi? 表示答案。

為使輸出統(tǒng)一,你應(yīng)當(dāng)保證 p i ≤ q i p_i \leq q_i pi?qi?。

如果無解,請輸出 NO。

樣例 #1

樣例輸入 #1
10
770 77 5
633 1 211
545 1 499
683 3 227
858 3 257
723 37 13
572 26 11
867 17 17
829 3 263
528 4 109
樣例輸出 #1
2 385
NO
NO
NO
11 78
3 241
2 286
NO
NO
6 88

提示

【樣例 #2】

見附件中的 decode/decode2.indecode/decode2.ans。

【樣例 #3】

見附件中的 decode/decode3.indecode/decode3.ans

【樣例 #4】

見附件中的 decode/decode4.indecode/decode4.ans。

【數(shù)據(jù)范圍】

以下記 m = n ? e × d + 2 m = n - e \times d + 2 m=n?e×d+2

保證對于 100 % 100\% 100% 的數(shù)據(jù), 1 ≤ k ≤ 10 5 1 \leq k \leq {10}^5 1k105,對于任意的 1 ≤ i ≤ k 1 \leq i \leq k 1ik, 1 ≤ n i ≤ 10 18 1 \leq n_i \leq {10}^{18} 1ni?1018, 1 ≤ e i × d i ≤ 10 18 1 \leq e_i \times d_i \leq {10}^{18} 1ei?×di?1018
1 ≤ m ≤ 10 9 1 \leq m \leq {10}^9 1m109。

測試點編號 k ≤ k \leq k n ≤ n \leq n m ≤ m \leq m 特殊性質(zhì)
1 1 1 1 0 3 10^3 103 1 0 3 10^3 103 1 0 3 10^3 103 保證有解
2 2 2 1 0 3 10^3 103 1 0 3 10^3 103 1 0 3 10^3 103
3 3 3 1 0 3 10^3 103 1 0 9 10^9 109 6 × 1 0 4 6\times 10^4 6×104 保證有解
4 4 4 1 0 3 10^3 103 1 0 9 10^9 109 6 × 1 0 4 6\times 10^4 6×104
5 5 5 1 0 3 10^3 103 1 0 9 10^9 109 1 0 9 10^9 109 保證有解
6 6 6 1 0 3 10^3 103 1 0 9 10^9 109 1 0 9 10^9 109
7 7 7 1 0 5 10^5 105 1 0 18 10^{18} 1018 1 0 9 10^9 109 保證若有解則 p = q p=q p=q
8 8 8 1 0 5 10^5 105 1 0 18 10^{18} 1018 1 0 9 10^9 109 保證有解
9 9 9 1 0 5 10^5 105 1 0 18 10^{18} 1018 1 0 9 10^9 109
10 10 10 1 0 5 10^5 105 1 0 18 10^{18} 1018 1 0 9 10^9 109

做法:

1.暴力窮舉(TLE)

經(jīng)過讀題,可知輸入一個整數(shù) k k k, k k k帶表詢問次數(shù),應(yīng)有一層while 循環(huán)while (i--){}控制,循環(huán)內(nèi)輸入三個數(shù) n i , e i , d i n_i, e_i, d_i ni?,ei?,di?,窮舉 p i , q i p_i, q_i pi?,qi?,使 p i × q i = n i p_i\times q_i=n_i pi?×qi?=ni? e i × d i = ( p i ? 1 ) ( q i ? 1 ) + 1 e_i \times d_i = (p_i - 1)(q_i - 1) + 1 ei?×di?=(pi??1)(qi??1)+1,所以此處用for循環(huán)窮舉,以下為了方便演示,用帶碼塊。

1.窮舉1(40分)

#include<bits/stdc++.h>
using namespace std;
int k,n,d,e;//其名即其意
int main ( )
{
    ios::sync_with_stdio(false);//關(guān)閉同步流(cin,cout scanf化),可以省時間
    cin>>k;//輸入k
    while (k--)//k次
    {
    	bool key=0;//控制NO與p,q輸出
        cin>>n>>d>>e;//輸入n,d,e
        for (int p=1;p*p<=n;p++)
        {
        	if ((p-1)*(n/p-1)+1==e*d)//滿足上加粗部分
        	{
        		key=1;//找到了
        		cout<<p<<" "<<n/p<<endl;//輸出
        		break;//不跳循環(huán)會出現(xiàn)多組答案
			}
		}
		if (key==0)//沒找到
			cout<<"NO"<<endl;//輸出NO
    }
    return 0;//結(jié)束程序
}

1.窮舉2(60分)

其實不然,細(xì)心可以讓人出先20分的差距

測試點編號 k ≤ k \leq k n ≤ n \leq n m ≤ m \leq m 特殊性質(zhì)
5 5 5 1 0 3 10^3 103 1 0 9 10^9 109 1 0 9 10^9 109 保證有解
6 6 6 1 0 3 10^3 103 1 0 9 10^9 109 1 0 9 10^9 109

如上表, 1 0 9 10^9 109int型可存儲2的31次方-1,也就是 2147483647 , 2.1 × 1 0 9 2147483647,2.1\times10^9 2147483647,2.1×109, n × m n \times m n×m遠(yuǎn)遠(yuǎn)大于INT_MAX,故開long long。

#include<bits/stdc++.h>
using namespace std;
long long k,n,d,e;//開long lnog
int main ( )
{
    ios::sync_with_stdio(false);
    cin>>k;
    while (k--)
    {
    	bool key=0;
        cin>>n>>d>>e;
        for (int p=1;p*p<=n;p++)
        {
        	if ((p-1)*(n/p-1)+1==e*d)
        	{
        		key=1;
        		cout<<p<<" "<<n/p<<endl;
        		break;
			}
		}
		if (key==0)
			cout<<"NO"<<endl;
    }
    return 0;
}
十年OJ一場空,不開long long 見祖宗。

2.數(shù)學(xué)思維(AC)

首先讓我們分解 ( p i ? 1 ) ( q i ? 1 ) + 1 (p_i - 1)(q_i - 1) + 1 (pi??1)(qi??1)+1,解的 e i × d i = ( p i ? 1 ) ( q i ? 1 ) + 1 = p i q i ? p i ? q i + 2 e_i \times d_i = (p_i - 1)(q_i - 1) + 1=p_iq_i-p_i-q_i+2 ei?×di?=(pi??1)(qi??1)+1=pi?qi??pi??qi?+2因為 e i × d i = ( p i ? 1 ) ( q i ? 1 ) + 1 e_i \times d_i =(p_i - 1)(q_i - 1) + 1 ei?×di?=(pi??1)(qi??1)+1 n i = p i × q i n_i=p_i \times q_i ni?=pi?×qi?,所以 p i + q i = e i × d i = p i q i ? p i ? q i + 2 = n i ? p i ? q i + 2 p_i + q_i=e_i \times d_i=p_iq_i-p_i-q_i+2=n_i-p_i-q_i+2 pi?+qi?=ei?×di?=pi?qi??pi??qi?+2=ni??pi??qi?+2,所以$ 眾所周知平方和公式 眾所周知平方和公式 眾所周知平方和公式(a+b)2=a2+2ab+b2$,平方差公式$(a-b)2,將二公式相加 a 2 + 2 a b + b 2 + a 2 ? 2 a b + b 2 = 2 a 2 + 2 b 2 a^2+2ab+b^2+a^2-2ab+b^2=2a^2+2b^2 a2+2ab+b2+a2?2ab+b2=2a2+2b2,將 p i , q i p_i,q_i pi?,qi?帶入,為 2 p i 2 + 2 q i 2 = p i 2 + 2 p i q i + q i 2 + p i 2 ? 2 p i q i + q i 2 2p_i^2+2q_i^2=p_i^2+2p_iq_i+q_i^2+p_i^2-2p_iq_i+q_i^2 2pi2?+2qi2?=pi2?+2pi?qi?+qi2?+pi2??2pi?qi?+qi2?,若在此基礎(chǔ)上,,可得 p i ? q i ( p i > q i ) p_i-q_i(p_i>q_i) pi??qi?(pi?>qi?),那可解,

#include<bits/stdc++.h>
using namespace std;
long long k,n,d,e;
long long m; 
int main ( )
{
    ios::sync_with_stdio(false);
    cin>>k;
    while (k--)
    {
        cin>>e>>n>>d;
        m=e-n*d+2;
        double p=(m-1.0*sqrt(m*m-4*e))/2.0;
        long long p1=p;
        long long q=m-p;
        if (m*m-4*e<0||p1!=p||p1*q!=e)
            cout<<"NO"<<endl;
        else 
            cout<<p1<<" "<<q<<endl;
    }
}

最后,一首小詩xian給大家

十年OJ一場空,不開long long 見祖宗。
閑來無事學(xué)數(shù)學(xué),莫要考試看窮舉 。文章來源地址http://www.zghlxwxcb.cn/news/detail-718051.html

到了這里,關(guān)于[CSP-J 2022] 解密的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 2022 CSP-J1 CSP-S1 初賽 第1輪 真題講評 真題解析

    CSP-J/S 2022初賽講評 CSP-J/S 2022初賽講評_嗶哩嗶哩_bilibili CSP-J2022 初賽第一輪解析 選擇題 CSP-J2022 初賽第一輪解析 選擇題_嗶哩嗶哩_bilibili 2022csp j初賽解析-單項選擇題 2022csp j初賽解析-單項選擇題_嗶哩嗶哩_bilibili CSP-J2022 初賽第一輪 解析 閱讀程序1 CSP-J2022 初賽第一輪 解析 閱讀

    2024年02月12日
    瀏覽(25)
  • CSP-J 2022 入門級 第一輪 閱讀程序(2) 第22-27題

    CSP-J 2022 入門級 第一輪 閱讀程序(2) 第22-27題 閱讀程序 假設(shè)輸入的 n 、 m 均是不超過 100 的正整數(shù),完成下面的判斷題和單選題: 判斷題 22. 當(dāng)輸入為“ 7 3 ”時,第 19 行用來取最小值的 min 函數(shù)執(zhí)行了 449 次。( ) 23. 輸出的兩行整數(shù)總是相同的。( ) 24. 當(dāng) m 為 1 時,輸

    2024年02月12日
    瀏覽(11)
  • 2022 CSP-J CSP-S 第1輪 初賽 第2輪 復(fù)賽 分?jǐn)?shù)線 晉級率 獲獎名單 匯總 整體成績分析解讀

    2022年CSP-JS初賽北京及全國各省市分?jǐn)?shù)線匯總! 2022年CSP-JS初賽北京及全國各省市分?jǐn)?shù)線匯總! - 知乎 CSP-J/S 2022第一輪認(rèn)證評級全國分?jǐn)?shù)線各省分?jǐn)?shù)線和晉級率 CSP-J/S 2022第一輪認(rèn)證評級全國分?jǐn)?shù)線各省分?jǐn)?shù)線和晉級率-童程童美少兒編程招生網(wǎng) 2022 CSP-S1 提高組 第1輪 初賽 視頻

    2024年02月12日
    瀏覽(15)
  • 備考CSP-J—貪心

    額……既然是備考,那么一定要動腦筋,一共5題,大家好好思考一下。 一:P1250 種樹 - 洛谷 | 計算機(jī)科學(xué)教育新生態(tài) (luogu.com.cn) 二:P1020 [NOIP1999 提高組] 導(dǎo)彈攔截 - 洛谷 | 計算機(jī)科學(xué)教育新生態(tài) (luogu.com.cn)? 三:P1230 智力大沖浪 - 洛谷 | 計算機(jī)科學(xué)教育新生態(tài) (luogu.com.cn)?

    2024年01月25日
    瀏覽(23)
  • 2023CSP-J題解

    煩死了,這次CSP考的真的垃圾,犯了好多低級錯誤。 小 Y 的桌子上放著 n n n 個蘋果從左到右排成一列,編號為從 1 1 1 到 n n n 。 小苞是小 Y 的好朋友,每天她都會從中拿走一些蘋果。 每天在拿的時候,小苞都是從左側(cè)第 1 1 1 個蘋果開始、每隔 2 2 2 個蘋果拿走 1 1 1 個蘋果。

    2024年02月08日
    瀏覽(19)
  • CSP-J/S——初賽復(fù)習(xí)(未完)

    CSP-J/S——初賽復(fù)習(xí)(未完)

    廢話不多說,馬上開始。 還是說一點吧:個人認(rèn)為《信息學(xué)奧賽一本通——初賽篇》里有些廢話,不夠精煉,CSP-J/S重點不夠突出, 本人想將知識整理起來,并總結(jié)提煉 ,以便備考以及復(fù)習(xí)。 本文參考了《信息學(xué)奧賽一本通——初賽篇》,是對它一個整理、總結(jié)與簡化。

    2024年02月10日
    瀏覽(19)
  • 2019 CSP-J 真題 題目、答案以及解析

    2019 CSP-J 真題 題目、答案以及解析

    最近快要CSP了,為了幫助大家[zì jǐ]更好的復(fù)習(xí)歷年真題特地作此題解一篇。 我寫完之后看了一遍,感覺有點啰嗦,大家看不看隨意。 還有,有沒有大佬講講閱讀程序最后一題的倒數(shù)第二問? 蒟蒻我看不懂???????????????????? 洛谷版 CCF版 建議使用CCF版。因為洛谷

    2024年02月11日
    瀏覽(28)
  • CSP-J 計算機(jī)結(jié)構(gòu)與組成

    CSP-J 計算機(jī)結(jié)構(gòu)與組成

    CSP-J 計算機(jī)結(jié)構(gòu)與組成(一) dllglvzhenfeng的個人空間-dllglvzhenfeng個人主頁-嗶哩嗶哩視頻 CSP-J 計算機(jī)結(jié)構(gòu)與組成(二) dllglvzhenfeng的個人空間-dllglvzhenfeng個人主頁-嗶哩嗶哩視頻 計算機(jī)等級考試一級模擬題(選擇題) dllglvzhenfeng的個人空間-dllglvzhenfeng個人主頁-嗶哩嗶哩視頻 計算

    2024年02月16日
    瀏覽(35)
  • CSP-J初賽模擬試題及答案

    CSP-J初賽模擬試題及答案

    一、單項選擇題(共15題,每題2分,共計30分;每題有且僅有一個正確選項) 1.以下關(guān)于CSP-J/S的描述錯誤的是() A.參加CSP-S/J兩組兩輪認(rèn)證均須在網(wǎng)上注冊報名。未注冊者,無認(rèn)證成績 B.CSP-J/S是中國計算機(jī)學(xué)會舉辦的程序設(shè)計競賽 C.CSP-JS第二輪實行網(wǎng)上注冊、報名,未通過網(wǎng)上

    2023年04月10日
    瀏覽(17)
  • csp-j/s模擬題詳細(xì)題解

    題目描述 一天小理買了N個容量可以認(rèn)為是無限大的瓶子,開始時每個瓶子里有1升水。接著小理發(fā)現(xiàn)瓶子實在太多了,于是他決定保留不超過K個瓶子,每次他選擇兩個當(dāng)前含水量相同的瓶子合并。(即把一個瓶子的水全部倒進(jìn)另一個里然后把空瓶丟棄) (注:不能丟棄有水

    2024年02月10日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包