Codeforces Beta Round #14 (Div. 2)【未完结】
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Beta Round #14 (Div. 2)【未完结】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2022.3.8
題單地址:https://codeforces.com/contest/14
目錄
- A. Letter
- B. Young Photographer【差分】
- C. Four Segments【模擬】
- D. Two Paths【直徑】
- E. Camels【未完成 DP】
A. Letter
求一下左上角的下標,和右下角的下標就好了。
B. Young Photographer【差分】
找共同覆蓋的部分
C. Four Segments【模擬】
#include<bits/stdc++.h> using namespace std; struct node{int x,y,xx,yy;}; set<pair<int,int>>st; vector<pair<int,int>>a; map<vector<pair<int,int>>,int>mp; int main(void) {bool flag=1;for(int i=0;i<4;i++){vector< pair<int,int> >temp;int x,y,xx,yy; cin>>x>>y>>xx>>yy;temp.push_back({x,y});temp.push_back({xx,yy});sort(temp.begin(),temp.end());mp[temp]++;if(x!=xx&&y!=yy) flag=0;//不是一條線if(x==xx&&y==yy) flag=0;//是一個點st.insert({x,y});st.insert({xx,yy});}if(st.size()!=4) flag=0;//點的個數if(mp.size()!=4) flag=0;//不同的線段個數for(auto i=st.begin();i!=st.end();i++) a.push_back(*i);sort(a.begin(),a.end());if(a.size()==4){if(a[0].first!=a[1].first) flag=0;if(a[2].first!=a[3].first) flag=0;if(a[0].second!=a[2].second) flag=0;if(a[1].second!=a[3].second) flag=0;}if(flag) puts("YES");else puts("NO");return 0; }D. Two Paths【直徑】
題目的意思就是,一個樹,將其分成倆連通塊,求倆連通塊的直徑的乘積的最大值。
枚舉每一條邊,求去掉這條邊后的倆連通塊的直徑,求一個max即可。
E. Camels【未完成 DP】
總結
以上是生活随笔為你收集整理的Codeforces Beta Round #14 (Div. 2)【未完结】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces Beta Roun
- 下一篇: 2016年蓝桥杯省赛题解