Hdu 5821 Ball 貪心 模擬

2021-08-03 22:35:09 字數 695 閱讀 3797

/* 

n個數的序列,給你m次操作,

每次操作 [l,r]中的數隨意調換位置,

問能否變成目標序列。

題解在最後

*/ // anthor wwq

#include#include#include#include#includeusing namespace std;

int n1[1005];

int n2[1005];

struct node

nn[1005];

int cmp(node a,node b)

int main()

; scanf("%d%d",&n,&m);

for(int i=1;i<=n;i++) scanf("%d",&n1[i]);

for(int i=1;i<=n;i++) scanf("%d",&n2[i]);

for(int i=1;i<=n;i++)}}

while(m--)

int flag=1;

for(int i=1;i<=n;i++)

} if(flag==1) printf("yes\n");

else printf("no\n");

} return 0;}/*

給數字定個目標,排序時,按目標流動。

*/

hdu 5821 Ball 貪心(多校)

題目 題意 有n個盒子,每個盒子最多裝乙個球.球的顏色不一定相同.現在要進行m次區間操作 每次操作 l,r 後可以隨意將區間內的球重新分配回去.問經過上述操作後是否有可能達到給定的狀態.分析 官方題解 假設有4個紅球,初始時從左到右標為1,2,3,4。那麼肯定存在一種方案,使得最後結束時紅球的順序沒...

2016多校總結 hdu5821Ball

新套路get 首先要判斷a陣列可以不可以到達b陣列,如果是1 n那麼就是排序,然後看ab相不相等。但是這個是部分。這裡有兩點關鍵點 1.如果有三個1.位置在b陣列中是pa pb pc 那麼。由a b如果可以到達,那麼一定存在一種方法 是在a中依次遞增的1分別到依次遞增的b陣列。例如 1 1 0 0 ...

HDU5821 Ball 2016多校第八場01

大意 給兩串序列,不同數字表示不同的球,0表示沒有,例如 1 0 0 0 0 0 0 1 再給定一組區間,例如 1 3 3 4 依次對區間內球重新放置,問最後能否從第一行變換成第二行序列。假設有4個紅球,初始時從左到右標為1,2,3,4。那麼肯定存在一種方案,使得最後結束時紅球的順序沒有改變,也是1...