02 2019 档案
摘要:"题目链接" 如果$j include using namespace std; inline int read(){ int s = 0, w = 1; char ch = getchar(); while(ch '9'){ if(ch == ' ') w = 1; ch = getchar();
阅读全文
摘要:"题目链接" 不是双倍经验我会去$debug$一上午? 一开始我是用的$map+string$,跑的太慢了,T了4个点。 后来我手写了$string$,重载了小于号,依然用的$map$,T了2个点。 然后我加入各种卡常,发现没有用。 $\cdots$ 然后我把手写$string$改成字符串哈希,依然
阅读全文
摘要:"题目链接" 把每个星星作为左下角,做出长为$w 0.5$,宽为$h 0.5$的矩形。 $ 0.5$是因为边框上的不算。 离散化$y$坐标。 记录$2n$个$4$元组$(x,y1,y2,light)$,$light$指这颗星星的亮度,左正右负。 然后线段树每次在$[y1,y2]$上加上$light$
阅读全文
摘要:"题目链接" 简单处理一下输入,$fft$模板题。 cpp include include include include define re register using namespace std; const int MAXN = 1000010; const double PI = M_PI
阅读全文
摘要:"题目链接" $$\Huge{E_i=\sum_{j=1}^{i 1}\frac{q_j}{(i j)^2} \sum_{j=i+1}^{n}\frac{q_j}{(i j)^2}}$$ 设$A[i]=q[i]$,$B[i]=\frac{1}{i^2}$,$A\times B$就能得到第一个$\su
阅读全文
摘要:"题目链接" $\Huge\text{无图,慎入}$ $FFT$即快速傅里叶变换,用于加速多项式乘法。 如果暴力做卷积的话就是一个多项式的每个单项式去乘另一个多项式然后加起来,时间复杂度为$O(n^2)$。 $FFT$算法基本思想是把系数表达式转换成点值表达式,求出卷积的点值表达式,再转换回系数表达
阅读全文
摘要:"题目链接" 一开始不理解为什么不能直接用$Tarjan$跑出换直接求出最小值,然后想到了“简单环”,恍然大悟。 二分答案,把所有边都减去$mid$,判是否存在负环,存在就$r=mid$。 ~~别的题都卡dfs,这题卡bfs~~ cpp include include define INF 2147
阅读全文
摘要:"题目链接" 维护子树信息向来不是$LCT$所擅长的,~~所以我没搞懂qwq~~ 权当背背模板吧。 "Flash巨佬的blog" 里面写了~~虽然我没看懂~~。 cpp include define R register int define I inline void define lc c[x]
阅读全文
摘要:"题目链接" 看到这题我想到了以前做过的一题,名字记不清了,反正里面有“矩阵”二字,然后是道二分图匹配的题。 经典的行列连边网络流。 第$i$行和第$j$列连边,费用为$b[i][j] a[i][j]\times mid$,源点连行,列连汇点,跑最小费用最大流得到的最小费用取负,这个值就是最大的$\
阅读全文
摘要:01分数规划指的是这么一类问题: 有两个长度为$n$的数列$a$和$b$,要求使下式值最大 $$\frac{\sum_{i=1}^na_i\times c_i}{\sum_{i=1}^nb_i\times c_i}$$ 其中$c_i=0$或$1$ 就是对于每组$a,b$由你决定选与不选,使得选出的所
阅读全文