摘要: 1.要学的算法: 树形dp 虚树 树上差分 树链剖分 Splay LCT fhq_treap 左偏树 笛卡尔树 块状树 kdtree 带修莫队、树上莫队 点分治 边分治 动态点分治 整体二分 CDQ分治 可持久化线段树、并查集、trie树、平衡树 莫比乌斯反演,polya 杜教筛 洲阁筛 Min_2 阅读全文
posted @ 2019-03-07 16:06 Wisdom+.+ 阅读(215) 评论(0) 推荐(0) 编辑
摘要: Capture Stars 圆的反演 #pragma GCC optimize(3) #include<bits/stdc++.h> using namespace std; #define y1 y11 #define fi first #define se second #define pi a 阅读全文
posted @ 2022-01-01 22:17 Wisdom+.+ 阅读(36) 评论(0) 推荐(0) 编辑
摘要: "Regular Number" 思路: shifit and算法 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y11 阅读全文
posted @ 2019-10-13 19:51 Wisdom+.+ 阅读(126) 评论(0) 推荐(1) 编辑
摘要: "手铐" 思路: 缩环+树形dp 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y11 define fi first d 阅读全文
posted @ 2019-10-02 12:49 Wisdom+.+ 阅读(218) 评论(0) 推荐(0) 编辑
摘要: "2279" 思路:钩子公式 代码: 阅读全文
posted @ 2019-09-30 16:45 Wisdom+.+ 阅读(170) 评论(0) 推荐(0) 编辑
摘要: "[ZJOI2009]取石子游戏" 思路: 博弈+dp,详见 "yyb博客" 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 阅读全文
posted @ 2019-09-28 15:43 Wisdom+.+ 阅读(199) 评论(0) 推荐(0) 编辑
摘要: "星器" 思路: 势能分析法。 假设每颗星星的势能为$x^2+y^2$ 那么对于一行的两颗星星$(i, j), (i, k), j using namespace std; define y1 y11 define fi first define se second define pi acos( 阅读全文
posted @ 2019-09-26 20:58 Wisdom+.+ 阅读(169) 评论(0) 推荐(0) 编辑
摘要: "The Nth Item" 思路: 先用特征根法求出通向公式,然后通向公式中出现了$\sqrt{17}$,这个可以用二次剩余求出来,然后可以O($log(n)$)求出。 但是还不够,我们先对$n$欧拉降幂,然后求base为$\sqrt{1e9}$的快速幂,预处理一些东西,就可以类似O(1)求出了。 阅读全文
posted @ 2019-09-14 21:02 Wisdom+.+ 阅读(215) 评论(0) 推荐(0) 编辑
摘要: "2154: Crash的数字表格" 思路: 莫比乌斯反演+整除分块 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y11 阅读全文
posted @ 2019-09-13 17:09 Wisdom+.+ 阅读(175) 评论(0) 推荐(0) 编辑
摘要: "3529: [Sdoi2014]数表" 思路: 莫比乌斯反演+整除分块+树状数组维护前缀和 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; d 阅读全文
posted @ 2019-09-13 15:37 Wisdom+.+ 阅读(137) 评论(0) 推荐(0) 编辑
摘要: "2820 YY的GCD" 思路: 莫比乌斯反演+整除分块 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y11 defi 阅读全文
posted @ 2019-09-13 14:37 Wisdom+.+ 阅读(166) 评论(0) 推荐(0) 编辑
摘要: "2301: [HAOI2011]Problem b" 思路: 莫比乌斯反演+整除分块 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; defi 阅读全文
posted @ 2019-09-12 17:48 Wisdom+.+ 阅读(112) 评论(0) 推荐(0) 编辑
摘要: "E. New Year and Old Subsequence" 思路:线段树维护矩阵乘法。 代码: 阅读全文
posted @ 2019-09-12 16:09 Wisdom+.+ 阅读(173) 评论(0) 推荐(0) 编辑
摘要: "5125: [Lydsy1712月赛]小Q的书架" 思路: 分治优化决策单调性dp 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; defin 阅读全文
posted @ 2019-09-10 16:48 Wisdom+.+ 阅读(190) 评论(0) 推荐(0) 编辑
摘要: "3720: Gty的妹子树" 思路:块状树 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y11 define fi f 阅读全文
posted @ 2019-09-06 14:17 Wisdom+.+ 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 模板: struct Circle_Square_Tree { const static int N = 2e4 + 10; vector G[N]; int dp[N], anc[N][18], n; LL dis[N], cir[N]; //环的大小 bool vis[N];//记录到方点的最短 阅读全文
posted @ 2019-09-05 18:18 Wisdom+.+ 阅读(179) 评论(0) 推荐(0) 编辑
摘要: "2125: 最短路" 思路:构建圆方树,然后如果两个点的lca是圆点,直接算,否则跳到环上相应的位置,再求环上两个点的最短距离。 代码1(在重链上跳): pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) inc 阅读全文
posted @ 2019-09-05 18:00 Wisdom+.+ 阅读(185) 评论(0) 推荐(0) 编辑
摘要: "1023: [SHOI2008]cactus仙人掌图" 思路:先求出非环上的最长链,然后环上用单调队列优化dp。 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using names 阅读全文
posted @ 2019-09-04 20:22 Wisdom+.+ 阅读(180) 评论(0) 推荐(0) 编辑
摘要: "4316: 小C的独立集" 思路:先将树上的转移做好。然后环上的转移就是强制最上面的的点选或者不选,然后在环上跑一遍转移就可以了。 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include us 阅读全文
posted @ 2019-09-04 16:54 Wisdom+.+ 阅读(301) 评论(0) 推荐(0) 编辑
摘要: "D Shortest Cycle" 思路:n大于某个值肯定有个三元环,否则floyd找最小环。 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; 阅读全文
posted @ 2019-08-19 18:54 Wisdom+.+ 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1.DAG 按照拓扑序从小到大处理,对于每个节点,将所有连接它的点的lca求出来,它在支配树上的父亲就是这个lca。 2.一般图 模板: vector g[N], rg[N], tg[N], G[N]; int in[N], dfn[N], rak[N], fa[N], sdom[N], idom[ 阅读全文
posted @ 2019-08-17 09:40 Wisdom+.+ 阅读(205) 评论(0) 推荐(0) 编辑