老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

PTA天梯賽day2-創新互聯

Day2
  • 2-1 L1-009 N個數求和
    • 題目描述
    • 解題思路
  • 2-2 L1-011 A-B
    • 題目描述
    • 解題思路
  • 2-3 L2-005 集合相似度
    • 題目描述
    • 解題思路
  • 2-4 L2-006 樹的遍歷
    • 題目描述
    • 解題思路
  • 2-5 L2-007 家庭房產
    • 題目描述
    • 解題思路

創新互聯公司是一家網站設計公司,集創意、互聯網應用、軟件技術為一體的創意網站建設服務商,主營產品:成都響應式網站建設公司成都品牌網站建設營銷型網站。我們專注企業品牌在網站中的整體樹立,網絡互動的體驗,以及在手機等移動端的優質呈現。成都做網站、成都網站制作、移動互聯產品、網絡運營、VI設計、云產品.運維為核心業務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網站的價值服務。2-1 L1-009 N個數求和 題目描述

在這里插入圖片描述
在這里插入圖片描述

解題思路

對于兩個數,先通分分母,再將分子乘上相應的倍數。
可通過__gcd(a,b)求出a與b的大公因數,再用a*b/__gcd(a,b)求出a與b的最小公倍數。

注意: 每兩個數運算完后,就要立刻化簡,否則過程數會超long long;存在數字為0的情況,注意這時候的讀入和處理方式。

#includeusing namespace std;
typedef long long ll;
ll a[105],b[105];
int main(){int n;
	cin>>n;
	char c;
	ll k=1;
	ll sum=0;
	cin>>a[1];
	if (a[1]) cin>>c>>b[1];
	else b[1]=1;
	for (int i=2; i<=n; i++){cin>>a[i];
		if (a[i]) cin>>c>>b[i];
		else b[i]=1;
		k=b[i]*b[i-1]/__gcd(b[i],b[i-1]);
		ll r1=k/b[i-1];
		a[i-1]*=r1;
		ll r2=k/b[i];
		a[i]*=r2;
		a[i]=a[i]+a[i-1];
		b[i]=k;

		ll gcd=-1;
		while (gcd!=1){	gcd=__gcd(a[i],b[i]);
			a[i]/=gcd;
			b[i]/=gcd;
		}
	}


	sum=a[n];
	k=b[n];
	if (sum==0){cout<<0;
		return 0;
	}

	if (sum%k==0){cout<gcd=__gcd(xiao,k);
		xiao/=gcd;
		k/=gcd;
	}
	cout<

由于PTA會卡空格,如果沒有if (sum%k==0)的特殊輸出處理,則執行if (zheng) cout<時會產生多余的一個空格,導致格式錯誤。

2-2 L1-011 A-B 題目描述

在這里插入圖片描述

解題思路

可定義c數組,記錄s2中某一個字符是否出現過即可。

#includeusing namespace std;
int c[100005];
int main(){string a,b,d;
	getline(cin,a);
	getline(cin,b);
	int l=b.size();
	for (int i=0; iif (!c[int(a[i])]){	d+=a[i];
		}
	}
	cout<
2-3 L2-005 集合相似度 題目描述

在這里插入圖片描述
在這里插入圖片描述

解題思路

set是一個內部自動有序且不含重復元素的容器,方便處理此題。對于兩個集合,可通過a集合中元素數量、b集合中元素數量和ab中交集元素數量,可直接求出ab的并集元素數量。

#includeusing namespace std;

const int maxn=55,maxm=1e4+5;

seta[maxm];
int n,m,k;

int main(){cin>>n;
    for (int i=1; i<=n; i++){cin>>m;
        for (int j=1; j<=m; j++){int tmp;
            scanf("%d",&tmp);
            a[i].insert(tmp);
        }
    }
    cin>>k;
    for (int l=1; l<=k; l++){int q,p;
        scanf("%d%d",&q,&p);
        int s=0,s1=a[q].size(),s2=a[p].size();
        for (auto i=a[q].begin(); i!=a[q].end(); i++){if (a[p].find(*i)!=a[p].end()){s++;
            }
        }
        printf("%.2lf%\n",double(s*100)/(s1+s2-s));
    }
    return 0;
}

set用法
參考題解

2-4 L2-006 樹的遍歷 題目描述

在這里插入圖片描述

解題思路

在這里插入圖片描述
b為中序遍歷數組,c為后序遍歷數組。
對于每一次遞歸,參數 l1,l2,r1,r2 分別表示中序遍歷的左右端點和后序遍歷的左右端點。顯然,每次后序遍歷中,c[r2]即為該區間中的父節點,我們同時在b數組中找到父結點的下標,就可以通過b數組種 l1 和父節點坐標的差值算出左子樹中結點個數 lnum,同理可以得到右子樹中節點個數。這樣就可以將當前大區間拆分成左右子樹兩個區間了。
doit(l1,l1+lnum-1,l2,l2+lnum-1);
doit(l1+lnum+1,r1,l2+lnum);
如果求先序遍歷,則在拆分區間前,將父節點push到a中。
如果求層序遍歷,則定義a為優先隊列,每次父節點push時,同時把該層的層數也push進即可。因為有些結點的層數會相等,我們同時再去定義nu去記錄該節點是當前層數的第幾個。重載優先隊列運算符:return (a.w

#includeusing namespace std;

int n;
vectorb,c;

struct node{int v,w,nu;
    bool operator<(const node a) const {return (a.wa;

void doit(int l1,int r1,int l2,int r2,int flo,int nu){if (l1>r1 || l2>r2) return;

    a.push({c[r2],flo,nu});

    // vector::iterator mid=find(b.begin(),b.end(),c[r]);
    
    int lnum=find(b.begin(),b.end(),c[r2])-find(b.begin(),b.end(),b[l1]);
    Floor[flo+1]++;
    doit(l1,l1+lnum-1,l2,l2+lnum-1,flo+1,Floor[flo+1]);
    Floor[flo+1]++;
    doit(l1+lnum+1,r1,l2+lnum,r2-1,flo+1,Floor[flo+1]);

}

int main(){cin>>n;
    for (int i=0; iint tmp;
        scanf("%d",&tmp);
        c.push_back(tmp);
    }
    for (int i=0; iint tmp;
        scanf("%d",&tmp);
        b.push_back(tmp);
    }
    Floor[1]=1;
    doit(0,n-1,0,n-1,1,1);
    while (!a.empty()){if (a.size()!=1) cout<

vector中如何查找元素的下標
查找vector元素下標
vector的find

2-5 L2-007 家庭房產 題目描述

在這里插入圖片描述
在這里插入圖片描述

解題思路

并查集,每個人所記錄的父節點是當前集合中最小的編號數。用book數組記錄當前的人,是否統計到了集合的總人數中,并且每次將所含的房子數和面積數累加到父節點中。

#includeusing namespace std;

const int maxn=1e4+1;

struct node{int a; //父節點編號
    int f[3];
    int s[6];
    int s_num;
    int num; //家庭人數
    double cnt; //家庭房子數
    double sum; //家庭房子面積
};

int n;

node a[maxn];

node ans[maxn],trans[maxn];
bool cmp(node i,node j){return ((i.sum/i.num)>(j.sum/j.num) || (i.sum/i.num==j.sum/j.num && i.aif (k==f[k]) return k;
    return f[k]=find(f[k]);
}

void doit(int ID,int id){int f1,f2;
    f1=find(ID);
    f2=find(id);
    if (f1==f2) return;
    else if (f1>f2) f[f1]=f2;
    else f[f2]=f1;
}

int main(){for (int i=1; i<=maxn; i++) f[i]=i;
    
    cin>>n;
    for (int i=1; i<=n; i++){int id;
        cin>>id;
        int ID;
        for (int j=1; j<=2; j++){cin>>ID;
            a[i].f[j]=ID;
            if (ID==-1) continue;
            doit(ID,id);
        }
        int k;
        cin>>k;
        a[i].s_num=k;
        for (int j=1; j<=k; j++){cin>>ID;
            a[i].s[j]=ID;
            doit(ID,id);
        }
        
        a[i].a=id;
        cin>>a[i].cnt>>a[i].sum;
    }

    for (int i=1; i<=n; i++){int fa=find(a[i].a);
        
        int to;
        to=a[i].a;
        if (!book[to]){ans[fa].num++;
            book[to]=1;

        }
        for (int j=1; j<=2; j++){to=a[i].f[j];
            if (!book[to] && to!=-1){ans[fa].num++;
                book[to]=1;

            }            
        }
        for (int j=1; j<=a[i].s_num; j++){to=a[i].s[j];
            if (!book[to]){ans[fa].num++;
                book[to]=1;

            }            
        }
        ans[fa].cnt+=a[i].cnt;
        ans[fa].sum+=a[i].sum;       


    }

    for (int i=0; i<=9999; i++)
        ans[i].a=i;
    int cntt=0;
    for (int i=0; i<=9999; i++){if (ans[i].num) cntt++,trans[cntt]=ans[i];
    }
    cout<printf("%04d",trans[i].a);
            cout<<" "<

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧


新聞標題:PTA天梯賽day2-創新互聯
網頁網址:http://www.xueling.net.cn/article/gdpes.html
主站蜘蛛池模板: 亚洲欧美洲成人一区二区 | 日日摸夜夜添夜夜无码区 | jzjzz成人免费视频 | 亚洲A∨国产AV综合AV网站 | av无码一区二区三区午夜 | 日韩免费va | 国产免费av吧 | 日本高清www色视频总站免费 | 久久网站视频 | 天堂色情无码WWW视频无码 | 新婚少妇在线观看一区 | 国产黄片视频在线看 | 在厨房被C到高潮A毛片奶水 | 五十路熟妇强烈无码 | www.日本高清视频 | 91超碰导航| 成人免费视屏 | 国产一精品一AV一免费 | 亚洲另类激情综合偷自拍图 | 欧美一级毛片免费看 | 好男人在在线社区WWW在线影院 | 91视视频在线观看入口直接观看 | 一级片网站视频 | 在线亚洲+欧美+日本专区 | 风流老太婆大BBWBBWHD视频 | aaaaaaaaa在线观看 | 国产精品久久免费看 | 亚洲天堂岛国片 | CHINESE性内射高清国产 | 伊人中文| 亚洲熟妇色XXXXX欧美老妇Y | 久久被窝亚洲精品爽爽爽 | 中国亚州女人69内射少妇 | 久久国产精品一国产精品 | 亚洲人和日本人hd | 中文字幕被公侵犯的漂亮人妻 | 黄a大片 | 国产欧美一区在线观看 | 黄色免费观看视频 | 亚色成人 | 国产综合99 |