
总结
gohsyi
这个作者很懒,什么都没留下…
展开
-
算法学习-莫比乌斯反演
写在前面必须把更多的精力放在文化课上了, 所以这段时间的学习和数学相关的比较多, 希望可以对文化课有帮助.莫比乌斯反演公式g(n)=∑d|nf(d)⇒f(n)=∑d|nμ(d)g(nd)g(n)=\sum_{d|n}f(d)\Rightarrow f(n)=\sum_{d|n}\mu(d)g(\frac n d)基础知识μ\mu函数 f(n)=⎧⎩⎨1,(−1)k,0,n=1n=p1∗p原创 2015-04-30 17:44:05 · 1853 阅读 · 1 评论 -
总结-数据结构
数据结构1. 树状数组写起来很方便, 用的比较多, 比线段树更实用吧. 虽然原理到现在不太清楚...往往没有裸树状数组的题目, 往往和其他算法相结合.单次修改或查询: O(logn)1. BZOJ-2716-天使玩偶angel-CDQ分治 cdq分治2. BZOJ-1878-HH的项链-SDOI2009 离线处理, 求种数3. BZOJ-3289-Mato的文件原创 2015-04-04 17:19:02 · 596 阅读 · 0 评论 -
省选归来
准备二轮省选其实可以考得更好的, 但我没有安心写暴力, 结果Day1写了四个小时的树链剖分还没过样例, Day2最后一题直接最小生成树就40分结果状压动规爆零. 同时也暴露了学过的算法还是不熟练, 以为考前看一眼然后考场上就可以凭印象写出, 但是实践证明如果算法学的不扎实, 那么考场上是绝对写不出来的, 写出来也会出BUG或者调不出来.因为一轮考的不太好, 所以二轮希望不太大了, 但我还是希望用原创 2015-04-18 10:17:19 · 844 阅读 · 3 评论 -
总结-图论
图论1. 与动态规划结合1. BZOJ-1003-物流运输trans-ZJOI2006-SPFA+DP2. BZOJ-1880-Elaxia的路线-SDOI2009-SPFA+拓扑排序2. 其他算法1. [CODEVS 1173] 最优贸易 民间解法spfa*2, 标解的拓扑排序dp现在想想可以用队列递推实现3. 网络流1. [BZOJ原创 2015-04-04 21:43:15 · 573 阅读 · 0 评论 -
总结-数学
数学比较害怕数学题, 因为数学题一般代码比较短, 一旦想到正解往往就能AC, 但是我数学水平很洼, 知道的东西也比较少. 感觉写写暴力拿部分分比较现实. 毕竟不是每个人都能找到正解.1. 组合数一般用阶乘计算, 需要求逆元. 可以用lucas定理优化时间复杂度.组合类的问题就要考虑组合数1. BestCoder-Round#33 第二题是组合数的题目2. BZOJ-10原创 2015-04-04 18:12:29 · 592 阅读 · 0 评论 -
总结-计算几何
计算几何做的题目很少, 而且模版也不熟. 所以还有这几天的时间, 把几个经典的算法弄熟弄懂, 模版能打出来就行了吧.1. 凸包2. 旋转卡壳3. 半平面交题目:1. [codevs 1249] 多边形的面积 求多边形面积, 要理解叉积的意义.2. [codevs 1298] 凸包周长 [codevs 3201] 奶牛代理商 XI 凸包周长3. [codevs 1原创 2015-04-05 10:45:32 · 1006 阅读 · 0 评论 -
总结-分治
分治分治法是一种效率很高的算法, 往往带有一个log级的复杂度.1. CDQ分治CDQ分治可以应用到带有修改操作的题目中, 对操作进行分治, 通过考虑前一半操作对后一半操作的影响达到分治的目的.应用的条件比较苛刻BZOJ-1492-货币兑换cash-NOI2007-CDQ分治 优化dpBZOJ-2716-天使玩偶angel-CDQ分治 能这样做还得益原创 2015-04-04 21:11:15 · 818 阅读 · 0 评论 -
[总结] 平衡树总结
1. treap 众所周知, treap = tree + heap 也就是 treap 是具有堆性质的平衡二叉树(BST), 而堆性质的维护就靠一个随机值和旋转操作. 可以是小根堆也可以是大根堆. 在代码实现上, 左旋和右旋有太多的相似处, 可以用一个带旋转方向参数的 rotate 操作来完成. 模板原创 2015-02-28 14:29:05 · 868 阅读 · 0 评论 -
[总结] 网络流最大流算法反向边的作用
只是我的粗浅理解:原创 2015-02-05 23:26:22 · 5672 阅读 · 6 评论 -
[总结] 网络流经典建模
1.最小路径覆盖问题2.最小覆盖集和最大独立集问题3.最小点权覆盖集和最大点权独立集问题4.有关分层图思想 (1) (2)5.负载平衡问题6.与时间有关(1) (2)原创 2015-02-03 17:32:22 · 459 阅读 · 0 评论 -
浮点数陷阱
浮点数陷阱猜猜结果是什么#include<cstdio>using namespace std;int main() { for(double i = 0; i != (double)1.0; i+=0.1) printf("%.1lf ", i); return 0;}结果是刷屏…原创 2016-08-06 11:22:10 · 477 阅读 · 1 评论