cinema
簡化題意:
給定n
nn個數字,每個數字在n
nn個數字**現的次數是數字的價值。
之後給定兩串m
mm個數字的序列,上下一一對應,對於每乙個i,i
∈[1,
m]
i,i∈[1,m]
i,i∈[1
,m]而言,求出上面數字價值最大的i
ii,若有多個上面數字相同,給出下面數字價值最大的編號。
因為給的a,b
,c
a,b,c
a,b,
c中的數字都是在[1,
1e9]
[1,1e9]
[1,1e9
]的範圍內,所以我們要進行離散化。
思路:離散化之後就可以直接用乙個陣列進行統計。
易錯點:
在離散化的過程中要注意,陣列大小是你去重之後的大小;
在統計答案的時候,注意可能b,c中的數字原本不在你的a陣列中,這個時候要加以判斷,在加以判斷之後要保證該語言可以聽懂的科學家的個數為0【2019/9/27】更新;
要分清楚,誰是原數字,誰是去重之後的下標。
code
//離散化的練習
#include
using
namespace std;
const
int nn=
200003
;int n,m;
int a[nn]
,ld;
int d[nn]
,h[nn]
,s[nn]
;/*d陣列表示的是離散化之後的數值,h陣列表示對映關係,s陣列表示每一部電影中聽懂的人有多少*/
struct people
ans[nn]
;inline
intread()
while
(ch>=
'0'&&ch<=
'9')
return x*f;
}void
read_d()
}bool
cmp(people x,people y)
intmain()
for(
int i=
1;i<=m;
++i)
sort
(ans+
1,ans+
1+m,cmp)
;printf
("%d\n"
,ans[1]
.id)
;return0;
}
年輕不是潮牌衣服,不是髮型,也不是看流行的電影、演唱會。不管什麼年紀,年輕的標準只有乙個,那就是,改變自己的能力。 遠古離散題
因為之前做法假了或者 寫太醜了,還不如重寫一遍。之前csdn過河的 會被洛谷的hack資料hack掉qwq。有一條河,起點為 0 終點為 l l leq 10 9 其中一些位置有石頭。有乙隻青蛙一次可以跳 l,r r leq 10 的距離,如果它想從起點跳到 geq l 的點,至少需要越過多少個石頭...
離散化問題
題目傳送 uvalive 4127 the sky is the limit 大白書離散化簡單題。找了半天錯誤,居然是少輸出乙個空行。頓時感覺自己萌萌噠。其中計算幾何是套的之前留下的模板。ac include include include include include include inclu...
座標離散化
問題 在w h的格仔上畫了n條垂直或者水平的寬度為1的直線。求出這些直線將格仔劃分為了多少個區域?限制條件 1 w,h 1000000 1 n 500 輸入 首先輸入w,h,n 然後輸入對應的x1,x2,y1,y2.輸出區域的個數。輸入 10 10 5 x1 1 1 4 9 10 x2 6 10 4...