csp 模測(cè)4

A

image.png

image.png

分析

其實(shí)。害淤。這題很迷惑扇雕。k的數(shù)據(jù)范圍。不過也不影響窥摄,只是判斷每個(gè)數(shù)字的每一位的值在0-9中占幾個(gè)镶奉。
上代碼

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<string.h>
using namespace std;
bool mm[10];
int main()
{
    int n;
    long long int k;cin>>n>>k;
    int ans=0;
    long long int a;
    while(n--)
    {
        memset(mm,0,sizeof(mm));
        scanf("%lld",&a);
        int as=0;
        int c;
        while(a>0)
        {
            if(as==10) break;
            c=a%10;
            if(mm[c]!=1) mm[c]=1,as++;
            a/=10;//123
        }
        if(as<k) ans++;
    }
    cout<<ans<<endl;
    return 0;
 } 

B

image.png

image.png

分析:多開一個(gè)根號(hào),失去一百分系列崭放。哨苛。。

這個(gè)題其實(shí)很簡(jiǎn)單币砂,每次都找一個(gè)點(diǎn)到其他點(diǎn)的最大距離建峭,最后找到這個(gè)最大值最小的點(diǎn)。
代碼

#include<iostream>
#include<algorithm>
#include <iomanip>
#include<cmath>
using namespace std;
struct zuob
{
    double x;double y;
    double m;
};
bool cmp(zuob& a,zuob& b)
{
    if(a.m==b.m)
    {
        if(a.x==b.x)
        {
            return a.y<b.y;
        }
        else
        {
            return a.x<b.x;
        }
    }
    else return a.m<b.m;
}
zuob s[1010];
int main()
{
    int n;cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>s[i].x>>s[i].y;
    }
    for(int i=0;i<n;i++)
    {
        s[i].m=0;
        double m1;
        for(int j=0;j<n;j++)
        {
            if(j==i) continue;
            m1=(s[i].x-s[j].x)*(s[i].x-s[j].x)+(s[i].y-s[j].y)*(s[i].y-s[j].y);
            if(m1>s[i].m) s[i].m=m1;
        }
    }
    sort(s,s+n,cmp);
    cout << setiosflags(ios::fixed) << setprecision(2) << s[0].x << " " << s[0].y << endl;
    cout << setiosflags(ios::fixed) << setprecision(2) << s[0].m << endl;
    //a1=s[0].x;b1=s[0].y;c1=s[0].m;
//  printf("%lld.00 %lld.00\n%lld.00",s[0].x,s[0].y,s[0].m);
    return 0;
}
image.png

image.png

image.png

分析:

其實(shí)開始真的沒意識(shí)到這是一道dp决摧,學(xué)長說錢幾個(gè)點(diǎn)數(shù)據(jù)很小亿蒸,所以寫了個(gè)N!復(fù)雜度的模擬掌桩。边锁。果然前幾個(gè)點(diǎn)都沒全過。

**區(qū)間dp的思想借鑒了其他的博客
先把i j之間是不是gcd計(jì)算出來波岛。茅坛。然后確定狀態(tài)
t[i][j][0] 表示以i為根,[j][i-1]為左子樹
t[i][j][1] 表示以i為根则拷,[i+1][j]為右子樹
狀態(tài)轉(zhuǎn)移方程
對(duì)于區(qū)間[i贡蓖,j],分別判斷i-1與j+1能否加入二叉搜索樹(和對(duì)應(yīng)邊集求或)煌茬,其中k屬于[i斥铺,j]
t[i-1][j][1] |= e[i-1][k]
t[j+1][i][0] |= e[j+1][k]
最后根據(jù)t,判斷以各個(gè)數(shù)為根能否組成二叉搜索樹
然后上代碼:在這個(gè)思想指導(dǎo)下比較簡(jiǎn)單的寫出來代碼

#include <iostream>
#include <cstring>
#include<cstdio>
using namespace std;
int a[720];
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a%b); }
int t[720][720][2];
bool gong[720][720];


int main()
{
    int t1; cin>>t1; 
    int n;
    bool ok;
    while (t1--) 
    {
        
        memset(t, 0, sizeof(t));
        ok=0;
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
        //  cout<<"?";
            scanf("%d",&a[i]);
        //  cin>>a[i];
        }
        for(int i=1;i<=n;i++)
        {
            for (int j = 1; j <= n; j++) 
            {
                if (i == j) gong[i][j] = 0;
                else
                {
                    if(gcd(a[i], a[j]) > 1) gong[i][j]=1;
                    else gong[i][j]=0;
                } 
            }

        }
        

        for (int i = 1; i <= n; i++)
        {
            t[i][i][0] = t[i][i][1] = 1;
        }
            
        //區(qū)間dp 
        for(int j=1;j<=n;j++)
        {
            for(int i=j;i>=1;i--)
            {
                for (int k = i; k <= j; k++) 
                {
                    if (t[k][i][0] && t[k][j][1]) 
                    {
                        if(gong[i -1 ][k]) t[i - 1][j][1]=1;
                        if(gong[j + 1][k]) t[j + 1][i][0]=1;
                    }
                }
            }
        }
        
        for (int i = 1; i <= n; i++) 
        {
            if (t[i][1][0] && t[i][n][1])
            {
                printf("Yes\n");
                ok=1;
                break;
            }
        }
        if (!ok) printf("No\n");
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宣旱,一起剝皮案震驚了整個(gè)濱河市仅父,隨后出現(xiàn)的幾起案子叛薯,更是在濱河造成了極大的恐慌,老刑警劉巖笙纤,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耗溜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡省容,警方通過查閱死者的電腦和手機(jī)抖拴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腥椒,“玉大人阿宅,你說我怎么就攤上這事×耄” “怎么了洒放?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長滨砍。 經(jīng)常有香客問我往湿,道長,這世上最難降的妖魔是什么惋戏? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任领追,我火速辦了婚禮,結(jié)果婚禮上响逢,老公的妹妹穿的比我還像新娘绒窑。我一直安慰自己,他們只是感情好舔亭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布些膨。 她就那樣靜靜地躺著,像睡著了一般分歇。 火紅的嫁衣襯著肌膚如雪傀蓉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天职抡,我揣著相機(jī)與錄音,去河邊找鬼误甚。 笑死缚甩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窑邦。 我是一名探鬼主播擅威,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼冈钦!你這毒婦竟也來了郊丛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厉熟,沒想到半個(gè)月后导盅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揍瑟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年白翻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绢片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡滤馍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出底循,到底是詐尸還是另有隱情巢株,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布熙涤,位于F島的核電站阁苞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏灭袁。R本人自食惡果不足惜猬错,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茸歧。 院中可真熱鬧倦炒,春花似錦、人聲如沸软瞎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涤浇。三九已至鳖藕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間只锭,已是汗流浹背著恩。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喉誊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓伍茄,卻偏偏與公主長得像施逾,于是被迫代替她去往敵國和親敷矫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子例获,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355