打醬油...
線性篩約數和就可以\(o(n)\)了...
#include #include #include #include #include #include using namespace std;
typedef long long ll;
const int n=1e6+5;
inline ll read()
while(c>='0' && c<='9')
return x*f;
}bool notp[n]; int p[n/10], lp[n]; ll si[n];
void sieve(int n)
lp[t] = p[j];
si[t] = si[i] * (1 + p[j]);}}
for(int i=1; i<=n; i++) si[i] += si[i-1];
}int n;
int main()
卡讀題...
容易發現就是求區間出現次數最多的權值
把區間眾數的分塊複製上t掉了,怒寫莫隊
#include #include #include #include #include using namespace std;
typedef long long ll;
const int n=2e5+5, mo = 998244353;
inline ll read()
while(c>='0' && c<='9')
return x*f;
}int n, q, a[n], ans[n], mp[n], pos[n], block;
struct meow
} q[n];
int c[n], d[n], l, r, now;
inline void add(int x)
inline void del(int x)
void modui()
}int main()
不會...我多項式除了算卷積什麼都不會...
update:現在會了,在另一篇文章上
題意:支援區間加,區間乘,單店詢問,撤銷某次操作
一眼感覺可以用線段樹分治做,然後寫寫寫,拍了幾組資料不對啊...
然後調了兩個小時,突然發現,因為有乘標記,每個操作不是獨立的!,這還分治什麼啊。
感覺其他的做法都很神奇
放乙個錯誤的**
#include #include #include #include #include using namespace std;
typedef long long ll;
const int n=2e5+5, mo = 998244353;
inline ll read()
while(c>='0' && c<='9')
return x*f;
}int n, m, op, l, r, d, p, ans[n];
struct meow
};typedef vectorvm;
vm a;
meow st[n]; int top;
inline void mod(ll &x)
inline int pow(ll a, int b)
namespace seg } t[n<<2];
inline void _add(int x, ll d)
inline void _mul(int x, ll d)
inline void pushdn(int x)
if(t[x].a)
} void add(int x, int l, int r, int ql, int qr, ll d)
} void mul(int x, int l, int r, int ql, int qr, ll d)
} int que(int x, int l, int r, int p) }
#undef mid
} inline void add(int l, int r, int d)
inline void mul(int l, int r, int d)
void recov(int bot)
}int q;
void cdq(int l, int r, vm &a)
else if(now.t <= mid) b.push_back(now);
else if(mid < now.s) c.push_back(now);
else
} if(l != r)
recov(bot);
}int main() );
if(op == 2) l=read(), r=read(), d=read(), a.push_back( (meow) );
if(op == 3) p=read(), a.push_back( (meow) );
if(op == 4) p=read()-1, a[p].t = i, a.push_back( (meow) );
} for(int i=0; ifor(int i=0; icdq(1, m, a);
for(int i=1; i<=q; i++)
//printf("\n\n%lld", ((ll)1e18 % mo + mo) %mo);
}
洛谷 9月月賽
題目描述 眾所周知,在一些特殊的部門,如果密碼能夠讓乙個人就解開,就會非常不安全。pic pre invoked code,預生成密碼 誕生了。這個密碼比較安全,是因為它必須由三個人保管。系統首先預先生成三個大整數a b c,計算出它們的與and 或or 和sum並儲存,然後將a b c分別告訴這三...
洛谷5月月賽
n堆石子,每次可以從第i堆中取走乙個當且僅當ni ni 1 第0堆視作0個 拿不了就輸了。問先手贏還是後手贏。奇偶性問題。不管如何分布,必定全部被拿完。include inline char gc return s inline int read while c 0 c 9 return x f i...
洛谷10月月賽R2 浴谷八連測R3 T1
qaq 我愛珂朵莉。sum i 表示1 i的東西搬到1的總花費 dis i 表示1 i距離1的總距離 q i 表示1 i東西的數量 當x l的時候 sum r sum l 1 為l r東西搬到1的花費 減去dis x q r q l 1 就是答案。當x r的時候 dis x q r q l 1 su...