BZOJ2762 JLOI2011 不等式組

2022-05-28 02:15:13 字數 1188 閱讀 9930

n<=100000個操作:新增乙個不等式ax+b>c,刪除乙個不等式,查詢當x=k時有多少不等式組滿足要求,abs(k)<=1e6。

按a的正負來分情況,然後樹狀陣列維護即可。

a=0:b>c就全部+1否則不理,注意不要忘了把他扔進陣列裡!!!!!

a>0:x>(c-b)/a,把它向上取整,並且在-1e6,1e6範圍內加一,這麼寫:min((int)max(floor((double)(z-y)/x+1),-fix+1.0),fix)+fix,fix=1e6+一點

a<0:x

因為忘了把a=0時的情況扔進記不等式的陣列裡而wa了3次。。。。。。

很好。

1 #include2 #include

3 #include4

//#include

5 #include6 #include7

//#include

8using

namespace

std;910

intn;

11#define maxn 100011

12#define maxm 2000011

13const

int fix=1e6+3;14

struct

bit15

18void add(int x,int v)

19int query(int x)

20}t;

21int line[maxn],li=0;bool vis[maxn];int

ty[maxn];

22int x,y,z;char s[11

];23

const

double eps=1e-9;24

intmain()

2537 ty[li]=-1;38

}39else

4046

//assert(line[li]>=1 && line[li]<=t.n);47}

48else

if (s[0]=='d'

)4959}

60else

if (s[0]=='q'

)6164 printf("

%d\n

",t.query(x+fix));65}

66}67return0;

68 }

view code

bzoj 2762 樹狀陣列

題意 給出一些形如 ax b 1 新加入乙個不等式 2 刪除乙個不等式 3 詢問當x k時滿足的不等式的個數 對於每乙個不等式,通過變形就可以得到使它成立的x的範圍 那麼就變成區間修改,單點查詢,樹狀陣列維護就好 注意 1 討論a 0 a 0 a 0的情況 2 由於k有非正數,所以要加上10 6 1...

BZOJ 2764 JLOI2011 基因補全

題目 題意 給定乙個長度為n的鹼基序列s和乙個長度為m的鹼基序列t,現在希望向序列t裡補一定的鹼基使得序列s和序列t配對,配對的規則是a與t配對,c與g配對,新增鹼基的位置與數量不同的方案視為不同,求不同的方案數。0n 2000 題解 可以考慮算出序列t在序列s裡匹配的本質不同方案數,利用dp可以很...

BZOJ3192 JLOI2013 刪除物品

原題位址 自己想的奇葩做法 對於乙個優先順序為x的物品,考察該物品下方優先順序大於x物品的優先順序被分成了多少個連續段 舉個例子,如x 4,該物品下方物品的優先順序有5,6,7,9,10,13,14,19,則段數為4 則該物品需要被移動的次數k 段數 2 優先順序為x 1的物品在該物品下方?1 0 ...