摘要:
#include #include using namespace std; typedef complex cd; const int maxn=1e6; const double pi=acos(-1); cd a[maxn+10],b[maxn+10]; int n,m,l,x,lgl=-1,r[maxn+10]; void fft(cd x[],int d){ for(int i... 阅读全文
摘要:
BZOJ1096-[ZJOI2007]仓库建设 题意: 题解: 斜率优化dp.为啥我做过的斜率优化题没有一道是1A的???还有这道题并不难,就当我试一下mathjax吧. 我们设$tot_{i}=\sum_{j=1}^ip_j$和$sum_i=\sum_{j=1}^ix_j*p_j$, 则我们很容易 阅读全文
摘要:
BZOJ1061-[Noi2008]志愿者招募 题意: 题解: 这题解法是费用流.第一眼我看到题解的时候,我想:这TM和费用流有啥关系!然后看完之后,我的内心:还有这种操作? 我们设第i个志愿者招x[i]个,则我们可以得到一组不等式: sum(x[j])](s[j]<=j<=t[j])>=a[i]; 阅读全文
摘要:
[SHOI2008]堵塞的交通traffic 题意: 题解: 听说这题正解是线段树,然而我这个蒟蒻并看不懂线段树的做法,然后看见这题的讨论区里提到了一个叫分治并查集的东西,于是我就学了一发这个奇妙的东西并A了这道题. 分治并查集可以用来离线维护一张图的连通性.首先,我们需要离线,把所有询问读进来,对 阅读全文
摘要:
BZOJ1031-[JSOI2007]字符加密Cipher 题意: 题解: 这道题约等于后缀数组的模板题了.把字符串复制一份接在原字符串的尾部,形成一个新字符串.对这个字符串进行后缀排序,前一半的排名就是按题意排序后的结果. 第一次写后缀数组,有很多细节要注意,也调了好久,代码里面基本上是一行一个f 阅读全文
摘要:
LOJ2055-「TJOI / HEOI2016」排序 题意: 给出一个1-n的全排列,在给出m个操作,每次会将一个区间的数升序或降序排列,求最后位置q上的数是什么.(n<=1e5) 题解: 我们二分最后位置上的数,然后我们将比这个数小的数赋值为-1,比这个数大的数赋值为1,这个数赋值为0,再用一个 阅读全文
摘要:
做这道题本来只是为了作为整体二分的练手题的,结果发现在bzoj上这是权限题,于是我在一个奇怪的oj上找到了这道题. 地址为https://szkopul.edu.pl/problemset/problem/czzVm7v3I58TnPHzBgWiyELT/site/?key=statement 然后 阅读全文
摘要:
BZOJ 1026 Windy数 题意: 给你两个数l,r,求[l,r]中不含前导零且相邻两个数字之差至少为2的正整数个数。 题解: 首先很容易想到dfs(x,pre,lim),pre表示的是前一位的数字。但是如果这样就会有一个问题,举个例子,如果r=1000,对于数字15,它本身是符合要求的,但在 阅读全文
摘要:
HDU 3555 Bomb 题意: 给你x,求小于等于x的所有正整数中包含49的数的个数。 题解: 最基础的数位dp。solve(x)表示小于等于x的数中包含49的数的个数。问题就在于如何实现solve函数。为了实现solve函数,我们需要使用一个dfs函数:dfs(x,b,lim)。返回值为满足条 阅读全文