日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

51Nod 斜率最大

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 51Nod 斜率最大 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

平面上有N個點,任意2個點確定一條直線,求出所有這些直線中,斜率最大的那條直線所通過的兩個點。
(點的編號為1-N,如果有多條直線斜率相等,則輸出所有結果,按照點的X軸坐標排序,正序輸出。數據中所有點的X軸坐標均不相等,且點坐標為隨機。)

Input

第1行,一個數N,N為點的數量。(2 <= N <= 10000)
第2 - N + 1行:具體N個點的坐標,X Y均為整數(-10^9 <= X,Y <= 10^9)

Output

每行2個數,中間用空格分隔。分別是起點編號和終點編號(起點的X軸坐標 < 終點的X軸坐標)

Input示例

5
1 2
6 8
4 4
5 4
2 3

Output示例

4 2

Solution

  • 貪心:先按這 N 個點按 x 排序,找相鄰兩個比較即可。

  • 為什么呢?假設三個點排序后順序是ABC,那么有兩種情況:

  • ABC共線,則 k(AB)=k(BC)=k(AC)

  • ABC不共線,則ABC將形成一個三角形,那么 k(AC)<Max(k(AB),k(BC))

  • 說明跨點的一定不會比相鄰的更優,貪心地找是正確的。時間復雜度 O(N?log?N)

  • 統計答案時也是,用鏈表存著共線的點,

  • 新加入一個點,如果也共線,就從鏈表中逐個匹配,再將自己也加入鏈表中。

Code

#include<cstdio> #include<cstring> #include<algorithm> #include<vector> using namespace std; const int N=10001; typedef pair<int,int> PI; int num; int next[N],rk[N]; PI a[N],f[N]; double ans=-1e9; inline int read() {int X=0,w=1; char ch=0;while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();return X*w; } inline double get(int x,int y) {return (a[x].second-a[y].second)*1.0/(a[x].first-a[y].first); } inline bool cmp(int x,int y) {return a[x].first<a[y].first; } int main() {int n=read();for(int i=1;i<=n;i++) a[rk[i]=i].first=read(),a[i].second=read();sort(rk+1,rk+1+n,cmp);for(int i=1;i<n;i++){double x=get(rk[i],rk[i+1]);if(x>ans){ans=x;f[num=1]=make_pair(rk[i],rk[i+1]);memset(next,0,sizeof(next));next[rk[i+1]]=rk[i];}elseif(x==ans){for(int j=next[rk[i]];j;j=next[j])f[++num]=make_pair(j,rk[i+1]);}}for(int i=1;i<=num;i++)if(a[f[i].first].first>a[f[i].second].first) swap(f[i].first,f[i].second);for(int i=1;i<=num;i++) printf("%d %d\n",f[i].first,f[i].second);return 0; }

總結

以上是生活随笔為你收集整理的51Nod 斜率最大的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 四川话毛片少妇免费看 | 日韩色影院 | 成人欧美一区二区三区在线播放 | 日韩精品一区二区三区在线播放 | 影音先锋在线看片资源 | 男人日女人在线观看 | 日批在线 | 韩日av网站 | av一区不卡| 牛牛影视一区二区三区 | v片在线免费观看 | 中文字幕免费在线观看 | 成人免费短视频 | 射精一区二区 | 亚欧精品在线 | 国产福利视频网站 | 日本一区二区在线不卡 | 午夜污污 | 久久免费视频3 | 亚洲精品入口 | 久久精品视频在线免费观看 | 国产成人无码精品久久久久 | 国产乱性 | 久久久久亚洲av成人人电影 | 中文字幕av亚洲精品一部二部 | 成人免费xxxxx在线观看 | 亚洲第一偷拍 | 亚洲国产亚洲 | 国产成人自拍在线 | 美女在线一区 | 另类综合在线 | 人成精品 | 中文字幕免费视频观看 | 中国女人一级片 | 成人区人妻精品一区二区不卡视频 | 国产乱淫片视频 | 天堂网在线最新版www中文网 | 人妖videosex高潮另类 | 黑人巨大精品欧美黑寡妇 | 成年人色片 | 久草资源网 | 日韩av电影手机在线观看 | 国产做受69 | 久久亚洲网站 | 成人女同av免费观看 | 精品动漫一区 | 成人区人妻精品一区二区不卡视频 | 欧洲在线一区 | 国产人妻精品一区二区三区不卡 | 偷偷色噜狠狠狠狠的777米奇 | 潮喷失禁大喷水无码 | videosex抽搐痉挛高潮 | 免费日本特黄 | 国产精品久久久久久亚洲伦 | 日日干夜夜爽 | 中文字幕乱码一区二区 | 一本到免费视频 | 国产精品一国产精品 | 国产激情一区二区三区四区 | 天天干天天弄 | 高清国产一区 | 一二三区精品 | h网址在线观看 | 在线a视频| 五月激情婷婷丁香 | 另一种灿烂生活 | www网站在线观看 | 日韩精品久久一区二区 | 国产成人精品二区三区亚瑟 | 国产又黄又粗又爽 | 嫩草视频一区二区三区 | 天堂中文在线免费观看 | 88av.com| 日本不卡在线播放 | 四虎黄色网 | 亚洲无码精品免费 | 欧美性做爰免费观看 | 九色91丨porny丨丝袜 | 午夜av一区 | 91尤物在线| 中文在线免费视频 | 丁香六月啪啪 | av大片网站 | 亚洲欧美精品aaaaaa片 | 免费观看视频在线观看 | 鲁鲁狠狠狠7777一区二区 | 日韩中文字幕在线 | 日本激情一区二区 | 夜夜操av| 96久久精品| a级片国产 | 91麻豆精品国产91久久久久久 | 麻豆高清免费国产一区 | 日在线视频 | 97超碰在线免费 | 久草视频免费看 | 美女被揉胸视频 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 人人妻人人澡人人爽欧美一区双 |