WC前新一轮写杂题:
11.28【CF809C】find a car
11.29【THUWC2017】在美妙的数学王国中畅游 【BZOJ1814】Ural 1519 formula 1
11.30【BZOJ1187】[HNOI2007]神奇游乐园
12.3【BZOJ1502】【NOI2005】月下柠檬树
12.4【BZOJ2178】圆的面积并
12.6【THUWC2017】在美妙的数学王国中畅游
12.8【BZOJ4161】shlw loves matrix I;【BZOJ4162】shlw loves matrix II
12.9【BZOJ2527】【POI2011】Meteors;【BZOJ2738】矩阵乘法;【POJ2104】矩阵乘法;【BZOJ1901】Zju2112 Dynamic Rankings
12.10【BZOJ3110】K大数查询;【ZJOI2013】KSHKM的学习小组;【BZOJ1007】【HNOI2008】水平可见直线;【BZOJ2281】【Sdoi2011】黑白棋;【XSY3030】取石子
12.11【BZOJ1968】约数研究;【BZOJ2813】奇妙的Fibonacci;【BZOJ3576】[Hnoi2014]江南乐;【BZOJ1022】[SHOI2008]小约翰的游戏John;【XSY3266】Illyasviel的图游戏;【BZOJ3601】一个人的数论
12.12【BZOJ4386】[POI2015]Wycieczki;【BZOJ3309】DZY Loves Math
12.14【BZOJ3238】【AHOI2013】差异;【XSY2361】LCP
12.17【BZOJ1396】识别子串;【BZOJ3926】【ZJOI2015】诸神眷顾的幻想乡
12.18【XSY2384】【GDOI2017】微信;【BZOJ2780】【SPOJ8093】Sevenk Love Oimaster;【XSY2117】摩尔庄园
12.19【BZOJ2806】【CTSC2012】Cheat;【CF587C】Duff in the Army;【CF666E】Forensic Examination
12.22【BZOJ2908】nand
12.26【CF633H】Fibonacci-ish II;【BZOJ1975】【SDOI2010】魔法猪学院
1.1【HDU5818】Joint Stacks
1.6【BZOJ1367】【Baltic2004】sequence
1.7【BZOJ1125】【POI2008】poc;【BZOJ2733】【HNOI2012】永无乡;【BZOJ3786】星系探索
1.10【BZOJ4864】【BJWC2017】神秘物质;【BZOJ3600】没有人的算术
1.13【BZOJ3065】带插入区间k小值
1.16【XSY3417】【THUSC2017】Chocolate;【BZOJ2731】【HNOI2012】三角形覆盖问题
坑坑坑:
虚树
仙人掌专题
【UOJ23】【UR#1】跳蚤国王下江南;【UOJ189】【集训队胡策2016】火车司机出秦川;
KM&带花树&tutte矩阵
半平面交
树分治
【BZOJ2870】最长道路;[LOJ2339]【WC2018】通道;[LOJ2553]【CTSC2018】暴力写挂;immortalCO的题单
各种分块&bitset
YNOI*N
大量平衡树&树套树&神奇数据结构
【UOJ207】共价大爷游长沙;
数学
保序回归问题(Orzmyh)
[LOJ6518]【雅礼集训2018Day11】序列
一些微小的收集?
有趣的题&神仙题:
题解(待补)
题解(待补)
文章&论文:
Hint:
稍微T了一点的时候可以用读入优化:
char buffer[6000010],*hd,*tl;inline char Getchar(){ if(hd==tl){ int len=fread(buffer,1,6000009,stdin); hd=buffer,tl=hd+len; if(hd==tl) return EOF; } return *hd++;}inline int rd(){ register int x=0,f=1; char c; do{ c=Getchar(); if(c=='-')f=-1; }while(!isdigit(c)); do{ x=(x<<1)+(x<<3)+(c^48); c=Getchar(); }while(isdigit(c)); return x*f;}
一定要记得检查数组大小!!!!!!!!!!!!!!
1<<60会爆,要用1ll<<60
线性求逆元: inv[0]=inv[1]=1; for(int i=2;i<=n;i++)inv[i]=(ll)(mod-mod/i)*inv[mod%i]%mod;
LCT里写Splay函数从上到下一条链pushdown的时候一定要记得把当前节点入栈,否则在某些时候会出错(调了3h)
top=0;st[++top]=now;//一定要加这句while(ntrt(now))st[++top]=now=t[now].fa;
遇到一个很坑的编译问题。。。比如你定义了一个结构体 struct node{ double x,double y}; ,直接拿他去乘一个double数是不会编译出错的,但是答案会很鬼♂畜。。。
又被结构体坑了一把。。。比如你这样定义了一个结构体的构造函数
struct node{ int x,y; node(int _x=0,int _y=0){ x=_x,y=_y; }};
在外面直接 node a=(node)(1,1); 就会有各种奇怪问题。。。必须要用大括号,即 node a=(node){ 1,1};或者 node a(1,1); 这样
最近写了些码农题,出了各种傻逼错。。。
树上倍增耻辱墙:
for(int i=19;i>=0;i--){ if(fa[u][i]!=fa[v][i]){ u=fa[u][i],v=fa[v][i]; ret=min(ret,min(minn[u][i],minn[v][i])); }}
像u,v,x,y这种常用变量一定不能混淆,有的外面定义过就不会CE
设置inf的时候记得考虑会不会两个inf加起来,最好设成10^9,每次都设成2147483647容易炸。。。
~和!并不完全等价!比如!0=1,~0=INT_MAX
标准大小库是 climits ,longlong最大值是 LLONG_MAX ,别问我为什么要记