/*
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...