題意
給乙個10^5之內的字串(小寫字母)時限2s
輸入n,有n個操作 (n<10^5)
當操作是1的時候,輸入位置x和改變的字母
當操作是2的時候,輸入區間l和r,有多少不同的字母
思路二維樹狀陣列
#include#include#include
#include
#include
#define lowbit(x) x&(-x)
using
namespace
std;
const
int maxn=1e5+10
;char
s[maxn];
intl,n,yi,er,san;
char
c;struct
node
void updata(int x,int
y) }
int geshu(int x,int
y)
for(int i=y; i>0; i-=lowbit(i))
return sum2-sum1;
}} a[
27];
intmain()
l=strlen(s);
for(int i=0; i)
scanf("%d
",&n);
for(int i=0; i)
else
}printf(
"%d\n
",ans);}}
}return0;
}
CodeForces 732D 二分 貪心
思路 二分列舉答案,在限定時間內判斷這個時間能否完成。貪心策略是盡量晚的安排每個考試。ac include include include include include include include include include include include include include ...
CodeForces1311D 思維 二分
給你三個整數a,b,c 每一次操作你可以讓三個其中之一 1 或者 1,你可以執行無限次這樣的操作,但是你不能將他們變成非正數。你需要找到最小運算元以至於b是a的倍數,c是b的倍數。t組資料,1 t 100 每組三個數a,b,c。1 a b c 1e4 根據資料範圍,可以想到去列舉其中的乙個數,然後c...
Codeforces 1132D 二分答案 堆
傳送門 二分答案,考慮如何判定 可以用貪心的方法,每次找最快沒電的電腦,在沒電前1單位時間給它充電 正確性顯然 實現上可以維護乙個堆,儲存每個電腦電用完的時刻,每次從堆頂取出最小的乙個給它充電。設二分值為mid,對於每個電腦記錄它的充電次數num i 則沒電的時間就是 lfloor frac rfl...