中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

杭州手機(jī)申請(qǐng)網(wǎng)站登錄谷歌chrome

杭州手機(jī)申請(qǐng)網(wǎng)站登錄,谷歌chrome,建設(shè)信息網(wǎng)的網(wǎng)站或平臺(tái)登陸,三級(jí)分銷軟件系統(tǒng)題目鏈接 題目大意 平面上給定兩個(gè)點(diǎn)集,判定兩個(gè)點(diǎn)集分別形成的凸多邊形能否通過旋轉(zhuǎn)、平移重合。 點(diǎn)集大小 ≤ \leq ≤ 1 0 5 10^{5} 105,坐標(biāo)范圍 [0, 1 0 8 10^{8} 108 ]. 思路 題意很明顯,先求出凸包再判斷兩凸包是否同構(gòu)。這里用…

題目鏈接

題目大意

平面上給定兩個(gè)點(diǎn)集,判定兩個(gè)點(diǎn)集分別形成的凸多邊形能否通過旋轉(zhuǎn)、平移重合。

點(diǎn)集大小 ≤ \leq 1 0 5 10^{5} 105,坐標(biāo)范圍 [0, 1 0 8 10^{8} 108 ].

思路

題意很明顯,先求出凸包再判斷兩凸包是否同構(gòu)。這里用的 A n d r e w Andrew Andrew 算法求。判同構(gòu)的話,將倆凸包都轉(zhuǎn)化成字符串的形式,用 k m p kmp kmp 去匹配從而判斷該串中是否存在另外一個(gè)凸包所對(duì)應(yīng)的字符串。

code

#include <bits/stdc++.h>
#define int long long
#define ll long long
#define pii pair<int, int>using namespace std;
const int N = 1e5 + 100, M = 2e5 + 100;
int n, m, id;
int tmp1, tmp2, minx, ans;
pair<int, int> s[M];
pair<int, int> t[M];
int nxt[M];struct Point
{int x, y;
} tmp, st;
Point a[N];
vector<Point> v;
vector<Point> e[3];int dop(Point a, Point b)
{return a.x * b.x + a.y * b.y;
}
int crp(Point a, Point b)
{return a.x * b.y - a.y * b.x;
}
int len(Point a, Point b)
{return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
Point mins(Point a, Point b)
{Point c;c.x = b.x - a.x;c.y = b.y - a.y;return c;
}
bool cmp1(Point a, Point b)
{if (a.x == b.x){return a.y < b.y;}return a.x < b.x;
}
bool cmp(Point a, Point b)
{int sum1 = crp(mins(st, a), mins(st, b));if (sum1 == 0.0){if (a.x == b.x){return a.y < b.y;}return a.x < a.x;}return sum1 > 0.0;
}
void get_nxt()
{int i = 0, j = -1;nxt[0] = -1;while (i < 2 * e[1].size()){if (j == -1 || s[i] == s[j]){i++;j++;nxt[i] = j;}else{j = nxt[j];}}
}
bool kmp()
{int i = 0, j = 0;while (i < 2 * e[1].size()){if (j == -1 || s[i] == t[j]){i++;j++;}else if (j == e[2].size()){return true;}else{j = nxt[j];}}return false;
}void solve()
{cin >> n >> m;for (int id1 = 1; id1 <= 2; id1++){for (int i = 1; i <= n; i++){cin >> tmp1 >> tmp2;tmp.x = tmp1, tmp.y = tmp2;a[i] = tmp;}minx = 0x3f3f3f3f;sort(a + 1, a + n + 1, cmp1);st.x = a[1].x, st.y = a[1].y;id = 1;for (int i = 2; i <= n; i++){v.push_back(a[i]);}sort(v.begin(), v.end(), cmp);e[id1].push_back(a[id]);for (auto x : v){if (e[id1].size() <= 1){e[id1].push_back(x);continue;}bool fl = false;while (e[id1].size() >= 2){int sum1 = crp(mins(e[id1][e[id1].size() - 1], e[id1][e[id1].size() - 2]), mins(e[id1][e[id1].size() - 1], x));if (sum1 >= 0.0){e[id1].pop_back();}else{e[id1].push_back(x);fl = true;break;}}if (!fl){e[id1].push_back(x);}}n = m;v.clear();}if (e[1].size() != e[2].size()){cout << "NO\n";return;}for (int i = 0; i < e[1].size(); i++){s[i] = {(e[1][i].x - e[1][(i + 1) % e[1].size()].x) * (e[1][i].x - e[1][(i + 1) % e[1].size()].x) + (e[1][i].y - e[1][(i + 1) % e[1].size()].y) * (e[1][i].y - e[1][(i + 1) % e[1].size()].y), dop(mins(e[1][(i + 1) % e[1].size()], e[1][i]), mins(e[1][(i + 1) % e[1].size()], e[1][(i + 2) % e[1].size()]))};}for (int i = 0; i < e[1].size(); i++){s[i + e[1].size()] = s[i];}for (int i = 0; i < e[2].size(); i++){t[i] = {(e[2][i].x - e[2][(i + 1) % e[2].size()].x) * (e[2][i].x - e[2][(i + 1) % e[2].size()].x) + (e[2][i].y - e[2][(i + 1) % e[2].size()].y) * (e[2][i].y - e[2][(i + 1) % e[2].size()].y), dop(mins(e[2][(i + 1) % e[2].size()], e[2][i]), mins(e[2][(i + 1) % e[2].size()], e[2][(i + 2) % e[2].size()]))};}get_nxt();cout << (kmp() ? "YES" : "NO");
}signed main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int tp = 1;// cin >> t;while (tp--)solve();return 0;
}
http://www.risenshineclean.com/news/42163.html

相關(guān)文章:

  • 哪個(gè)網(wǎng)站的圖片可以做素材永久觀看不收費(fèi)的直播
  • 魏縣做網(wǎng)站網(wǎng)站排名推廣工具
  • 普象工業(yè)設(shè)計(jì)網(wǎng)站上海最新事件
  • 上海制作網(wǎng)頁宣傳seo發(fā)展前景怎么樣啊
  • 如何知道網(wǎng)站開發(fā)語言軟文營銷的成功案例
  • wordpress計(jì)算器主題優(yōu)化站點(diǎn)
  • 怎么做淘寶客的跳轉(zhuǎn)網(wǎng)站免費(fèi)的網(wǎng)頁入口
  • 上海企業(yè)網(wǎng)站建設(shè)谷歌關(guān)鍵詞挖掘工具
  • 重慶網(wǎng)站推廣轉(zhuǎn)化率鄭州seo聯(lián)系搜點(diǎn)網(wǎng)絡(luò)效果好
  • 網(wǎng)站建設(shè)及第三方支付沈陽網(wǎng)絡(luò)優(yōu)化培訓(xùn)
  • 西安高校網(wǎng)站建設(shè)整站優(yōu)化價(jià)格
  • 中國建設(shè)行業(yè)峰會(huì)官方網(wǎng)站torrentkitty磁力天堂
  • 專業(yè)網(wǎng)站制作公司招聘深圳網(wǎng)絡(luò)公司推廣平臺(tái)
  • 實(shí)驗(yàn)中心網(wǎng)站建設(shè)媒體軟文發(fā)稿
  • 電子書城網(wǎng)站開發(fā)項(xiàng)目概況網(wǎng)絡(luò)推廣引流方式
  • wordpress用哪種緩存器seo排名軟件哪個(gè)好用
  • 做淘寶必備網(wǎng)站手機(jī)seo關(guān)鍵詞優(yōu)化
  • 做網(wǎng)站是干什么用的百度營銷推廣登錄平臺(tái)
  • 網(wǎng)站建設(shè) 軟件有哪些內(nèi)容最近剛發(fā)生的新聞
  • 大連做網(wǎng)站首選領(lǐng)超科技域名注冊(cè)服務(wù)網(wǎng)站哪個(gè)好
  • 網(wǎng)站建站所用的技術(shù)自動(dòng)優(yōu)化句子的軟件
  • 長春火車站24小時(shí)人工客服電話香飄飄奶茶
  • 介紹做網(wǎng)站的標(biāo)題廈門人才網(wǎng)個(gè)人登錄
  • 韶關(guān)城鄉(xiāng)建設(shè)部網(wǎng)站首頁螺螄粉營銷策劃方案
  • 網(wǎng)站群的建設(shè)目標(biāo)濟(jì)南seo怎么優(yōu)化
  • 寧德網(wǎng)站建設(shè)維護(hù)如何優(yōu)化網(wǎng)站排名
  • wordpress主題后空白seo知識(shí)分享
  • 做網(wǎng)站底色怎么選網(wǎng)站seo排名公司
  • 蘭州互聯(lián)網(wǎng)公司seo深度解析
  • 怎樣建設(shè)網(wǎng)站公司百度app關(guān)鍵詞優(yōu)化