>description
在乙個平面上放置有許多塗滿顏色的幻燈片,這些幻燈片都是矩形而且是半透明的,所有的幻燈片的四邊都與x軸或y軸平行。我們可以給這些幻燈片的顏色編乙個號,相同的數字對應相同的顏色。但是這些幻燈片可能會相互重疊,重疊部分的顏色就會混合變成另一種顏色,這個顏色值等於所有重疊幻燈片的顏色值之和。你的任務是找出這個平面上有多少種不同的顏色。
>input
輸入第一行為乙個整數n(1<=n<=100),n為平面上幻燈片的數量。接下來n行每行5個整數x1, y1, x2, y2, c,x1>output
輸出乙個整數,為平面上出現的不同顏色的數量。
>sample input
32 2 3 3 2
2 0 4 4 1
1 1 3 5 3
>sample output
4對於50%的資料,0<=x1,y1,x2,y2<=10^2。
對於100%的資料,0<=x1,y1,x2,y2<=10^9。
>解題思路
對於很多人,50%的資料應該都可以水過(我不是普通人)
由於100%的資料太大了,所以需要使用到離散化這個東西:
離散化,把無限空間中有限的個體對映到有限的空間中去,以此提高演算法的時空效率。
通俗的說,離散化是在不改變資料相對大小的條件下,對資料進行相應的縮小。例如:
原資料:1,999,100000,15;處理後:1,3,4,2;
原資料:,,;
處理後:,,;
……………………
根據題意,把每乙個座標中的行和列存入所有行和所有列所分別屬於的結構體,排個序,對於每乙個陣列(結構體),第乙個數原本存的內容更替為1,第二個更替為2……(如果原本存入的數與上乙個數的原型相同的話,就存與上乙個數現在存入的相同,下乙個數如果不相同的話,就按照原排序的序號存,很像成績排序那樣)
這樣,最後只用模擬很小的範圍就ok了。要注意每組資料的匹配。
>**
#include
#include
#include
using namespace std;
struct ooo
a[305
],b[
305]
;//a為行,b為列
int n,ans,t,c[
205]
,cc[
205]
[205];
//c存每張幻燈片顏色
bool yd[
10000005];
bool lil
(ooo aa,ooo bb)
bool lil2
(ooo aa,ooo bb)
int main()
t=2*n;sort
(a+1
,a+1
+t,lil)
;//按照內容大小排序
for(int i=
1;i<=t;i++
)sort
(b+1
,b+1
+t,lil)
;//同上
for(int i=
1;i<=t;i++
)sort
(a+1
,a+1
+t,lil2)
;sort
(b+1
,b+1
+t,lil2)
;//排回以前的順序(幻燈片從1~n,每張幻燈片內先左下角後右上角)
for(int k=
1;k<=t;k+=2)
//列舉幻燈片
for(int i=a[k]
.sb+
1;i<=a[k+1]
.sb;i++
)for
(int j=b[k]
.sb+
1;j<=b[k+1]
.sb;j++
)//模擬矩陣(+1是因為座標表示的是點,不是格仔!!)
cc[i]
[j]+=c[
(k+1)/
2];//累加顏色
for(int i=
1;i<=t;i++
)for
(int j=
1;j<=t;j++)if
(cc[i]
[j]>0&&
!yd[cc[i]
[j]]
)printf
("%d"
,ans)
;return0;
}
基礎幻燈片
下面列舉幾種比較常見的幻燈片實現 1 把所有層疊放著,定時器每次執行使某張圖透明度為1,其他為0,當然透明度的漸變也由定時器控制。function show ind count 20 l2 index classname current function autoplay 2000 2 最常見的方法...
Jquery簡單幻燈片
看了許多jquery的幻燈片,自己也想學著弄乙個,簡單是簡單了一點。不過研究過,還是比較安慰的啦,以下 並未在生產環境中使用過,如果您要在生產環境中使用,請慎重 slide frameid,framewidth,frameheight,ulid,isshow,intervaltime 外層物件id,...
Drupal,nivo slider幻燈片模組使
拷貝nivo slider模組資料夾下的nivo slider資料夾到sites all modules 拷貝libraries2.0資料夾下的libraries資料夾模組 to sites all modules 拷貝nivo slider3.1官方外掛程式包資料夾下的nivo slider資料夾...