hdu5812 區間操作

2021-07-16 13:05:21 字數 949 閱讀 3166

題意:給兩個數字序列a,b,在給出m次區間,每次區間操作可以對l[i]~r[i]間的數字進行任意排列,問序列a能否在m次操作後變為序列b.

思路:貪心思想,每次操作都使a[i]盡可能的靠近它的期望位置,所以對每個操作區間按照它的期望位置排序,結果和b序列一樣那就yes。o(n^2)可以處理出每個a[i]的期望位置。

#include #include #include #include #include #include #include #include #include #include #define ll long long  

#define eps 1e-8

#define maxn 150

#define mod 110119

#define inf 0x3f3f3f3f

#define in freopen("in.txt","r",stdin);

using namespace std;

struct nodea[1005];

int b[1005];

int l[1005],r[1005];

bool vis[1005];

bool cmp(struct node x,struct node y)

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

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

int sign1=0,sign2=0;

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

}if(sign1==0) sign2=1;

} if(sign2==1)

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

sign2=0;

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

} if(sign2==1)else

} return 0;

}

hdu 1698 區間更新

基礎題 初學 include include using namespace std define lson l m rt 1 define rson m 1 r rt 1 1 const int maxn 101000 int h w n int col maxn 2 標記是否當前節點梗係 int...

hdu 4883 區間選點

昨天比賽的時候沒有做出來,本來是想用貪心的,但是貪了好久都沒有招,今天在網上搜了解題報告 好像說這是一類區間選點問題 有乙個好的做法 1 首先把題目中的時間全轉化為分鐘,那麼區間就在0 1440中間 2 對於n組人,有乙個si 和乙個ei,那麼開個陣列,cnt si d cnt ei d 3 也就是...

hdu 4883 區間選點

昨天比賽的時候沒有做出來,本來是想用貪心的,可是貪了好久都沒有招,今天在網上搜了解題報告 好像說這是一類區間選點問題 有乙個好的做法 1 首先把題目中的時間全轉化為分鐘,那麼區間就在0 1440中間 2 對於n組人,有乙個si 和乙個ei,那麼開個陣列,cnt si d cnt ei d 3 也就是...