- 博客(26)
- 资源 (4)
- 收藏
- 关注
原创 JAVA HashMap
一些记录,很乱java8里对hashmap做了个小优化,同一个桶里的元素数量超过8的时候就把这个桶从链表改成红黑树然后我想了一下如果key没有实现Comparable接口怎么办然后翻了半天代码结果是~用System.identityHashCode做比较的= =然后小于8个结点的再拍平变成链表
2017-05-11 17:24:40
294
原创 记录一些奇妙的bug【1】
【BUG1】数据库里一个字段有默认值设置为0,但是字段没有设置为非空于是不知道谁手工update set a=NULL然后代码就抛异常了,因为代码里做了a.toString()因为测试环境数据库随便手动改啊~糟默认值的意思是,在insert的时候如果没有给这个字段设置值则插入默认值,而对于update,因为NULL也是一种值,所以字段如果不设置非空那么这条更新是可以成功执行的…
2017-05-09 15:02:32
293
原创 退役
什么都不说了,两年四块破铜退役狗哭瞎了反正就是实力不行就不说运气不好了去年总结的时候还说有拿银的实力但是因为XX原因结果XX现在看来~弱就不要找理由QAQ从此以后这个blog应该就懒得再来写点啥了吧以后有钱了也许自己买个空间买个域名啥的?
2013-11-27 10:47:42
1125
1
原创 送给不愿意写高精的孩子们
就是目前还只能整数高精= =浮点神马的我还没写过struct bignumber{ int n; int a[MM]; void clear() { n=0; memset(a,0,sizeof(a)); } void init(char *s) { clear
2013-11-04 23:15:09
1235
2
原创 HDU 4679 多校8 D题 树型DP
写得好恶心,比赛的时候别人看着我写还没什么感觉,刚才自己又写了一遍各种细节不清→ →两个DFS第一个:DP[u][0]记录以u为根的子树的直径,DP[u][1]记录以结点u的儿子为根的所有子树的直径最大值,dp[u][2]记录以结点u的儿子为根的所有子树的直径次大值L[u][0]记录以u为根的子树的所有叶子到u的最远距离,L[u][1]为次远,L[u][2]为第三远,要求三个距离来
2013-08-23 16:39:51
710
原创 请原谅我一生读题不仔细~仅以此纪念多校第十场1004
看完题~写treap去了交一发,TLE随机数太慢了?改改~再交~又T改splay?没有~离线线段树← ←TLE艾神拿代码改参数玩去了一路各种T呵呵看了下题解~嗯?和说好的不一样?回去重新读题~卧槽!!!!!!!!!!!!!!!叉姐竟然特意加粗了!我竟然还给无视了!呵呵呵呵呵呵呵我去爬跳楼塔了勿念……………………………………
2013-08-22 17:32:26
962
原创 SPOJ 375 QTREE POJ 3237 TREE 树链剖分
http://wenku.baidu.com/view/8861df38376baf1ffc4fada8先上一往篇论文,我总觉得论文说的不够详细,但是可以理解好多东西。首先,树链剖分就是把树拆成一系列链,然后用数据结构对链进行维护。通常的剖分方法是轻重链剖分,所谓轻重链就是对于节点u的所有子结点v,size[v]最大的v与u的边是重边,其它边是轻边,其中size[v]是以v为根的子树的
2013-08-05 16:47:23
1280
原创 ZOJ2112 & BZOJ1901 玩坏了的主席树
今天才发现加上回收空间的话主席树的空间是nlognlogn→ →之前总当成和树套树一样是nlogn了【你特喵在逗我在BZOJ上很久前过掉了,今天滚回来写ZOJ各种卡空间ZOJ上32768K实在是……卡死了所以,为了压缩空间,我们拆成两部分来做。首先静态建树,直接把给定的序列离散化丢到一棵树里【就像POJ2104那样玩】,这里的空间是nlogn,如果直接用树状数组去套的话空间就是nl
2013-07-30 22:26:00
4082
4
原创 CF190 DIV1 B Ciel and Duel 最大费用流
这场CF竟然挂0了好开心!这题的费用流解法真是……分两种情况讨论,一种是Ciel选择中间结束,另一种是全部打完第一种情况的话,左边是Ciel,右边是Jiro,源点连左边流量1费用0,右边连汇点流量1费用0,对于Jiro的每一张ATK,如果Ciel的卡>=Jiro的卡则连边,流量1费用C-J,跑最大费用流直到某一次的增广路的费用为负数时结束。对于第二种情况,首先Ciel的卡数要大于J
2013-07-04 13:47:13
804
原创 动态树~LCT总结
这是我开的一套动态树专题:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=25242#overview首先说一下什么是动态树。动态树可以维护一个动态的森林,支持树的合并(两棵合并成一棵),分离(把某个点和它父亲点分开),动态LCA,树上的点权和边权维护、查询(单点或者树上的一条路径),换根。这里首先推荐杨哲的集训队作业:http:
2013-06-26 20:28:32
14956
2
原创 矩阵乘+高斯消元专题小结【高斯消元】
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=20851#overviewI-P其它题太水了就不写了,这里说一下O和P。【我太懒不想写】OP这两个题是高斯消元求期望的题。对于P题,求从@点到$点的步数期望,先从@点BFS一遍找到所有可以到达的点,对于可达点每个点是一个变量。因为终点有任意多而起点只有一个,这里可以
2013-05-20 12:49:16
1094
原创 矩阵乘+高斯消元专题小结【矩阵乘法】
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=20851#overviewA-H是矩阵乘置顶里面有一个struct matrix,平时写题会比较方便。首先矩阵乘法满足结合律,于是可以用快速幂的方法求矩阵的幂。matrix expmod(int k){ matrix e;//单位矩阵 e.n=a.n; e.in
2013-05-19 15:54:26
1684
原创 BZOJ1500 维护数列 treap实现
很早以前听叉姐说treap可以写这个题,然后围观了一下神代码,然后~发现这个比用splay写起来简单很多。这里首先要改变一下treap的写法。正常的treap是每个节点维护一个权值,然后根据权值去旋转,这样我们可以把一棵treap分成两棵,方法是造一个没用的节点然后给这个结点一个极大权值,这样这个节点就是根结点,它的左右两棵子村就是把原来的树分成了两棵,这样我们就能很轻松的提取出一个区间并像s
2013-04-14 21:59:46
1932
原创 【SPOJ KQUERY】【HDU 4417】静态区间rank查询
SPOJ KQUERY:给一个数列,查询x在区间l,r上有多少数字>xHDU4417:给一个数列,查询x在区间l,r上有多少数字离线树状数组,在线主席树,都可以做到logn复杂度的查询,不过主席树的常数超级大,SPOJ那题打死都是TLE,不能直视~树状数组做法是先对所有询问按x从小到大排序,然后把原数列里代码如下:SPOJ KQUERYint z[NN],a[NN],b[N
2013-04-01 13:09:59
1991
原创 【POJ 3233】矩阵快速幂+二分求等比数列前N项和
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=20851#overview开了一套矩阵和高斯消元方面的题。POJ3233这题给一个矩阵A,然后求(A+A^2+A^3+……+A^k)%m一看到这个首先想到的是等比数列求和,但是矩阵不能除,所以要考虑另一种方案。把这个矩阵拆成两个部分,就是(A+A^2+A^3+……+A^(k
2013-03-22 10:53:37
2245
原创 我的一些define和include【每次直接补全】【有些代码里没有这部分内容看起来可能会不知道是啥】
IDX是算线段树下标用的,这样就可以写出只开2*N的线段树了新加了一个rands函数~用于生成随机数【伪【其实就是生成了一个奇葩序列【2013-05-01 加入bignumber】#include#include#include#include#include#include#include#include#include#include#include#in
2013-03-07 22:56:13
1517
原创 【搞基数据结构】【树套树】ZOJ2112 Dynamic Rankings kth_number
动态查询区间第k小,包括两个操作Q x y k和C i j,查询区间x y的第k小和把第i个数安替换成j。静态的区间k小可以用划分树或者归并树,动态的就只能树套树或者树状数组套主席树,树状数组套主席树暂时还没有写出来,这里讲一下树套树的两种写法。首先考虑到线段树可以用于区间查询,而平衡树可以查询某个数字的名次【小于或者小于等于这个数字的个数】,这样考虑到用线段树套平衡树的方式实现查询某个数字在
2013-03-07 21:16:40
4810
原创 【网络流】【再次更新模板】SAP多路增广+GAP+当前弧
果然SAP才是最爱,顺便ZKW的那个多路增广的SAP是有错误的。这次只加了GAP,没有加当前弧优化【因为不知道怎么加】,HDU4280测速结果5000+,还不是很满意,这速度还不如非递归单路增广的SAP快,但是写起来更短,以后再想想怎么加当前弧吧。【2013-1-11 21:25 加入当前弧优化,但是好像没有快的样子,不能直视了,SAP就这样告一段落吧】#pragma comment(
2013-01-11 12:14:06
1233
原创 【网络流】【更新模板】dinic多路增广+当前弧
加入当前弧优化#define INF (1<<30)#define N 101000#define M 200010#pragma comment(linker, "/STACK:32000000")int n,m,s,t; int head[N],cur[N],cnt;struct edge{ int v,w,next; }e[M];int q[N],dis[N],st
2013-01-09 00:15:31
2961
原创 【网络流】最大流总结
2012-12-25刚才把预流推进里的队列改成优先队列【手写堆,不会STL给跪了】,为啥速度变得更慢了QAQ测速用的POJ3469,普通预流推进2.7s,换成优先队列变成3.2s了不科学,求解答。2012-12-28改成STL的优先队列了,不过整体上的速度还是比SAP要慢,难道还有可以优化的地方么~求解2013-01-02我的sap是单路增广~今天看了一下多路增广但是不是很明白
2012-12-24 16:18:42
5602
4
原创 【二分】关于二分法的一些总结
这里写一些我对二分法的一些心得吧。好像大家写二分都会写得比较囧,上下界弄错~TLE什么的。先写一下整数二分的:【下面的程序都是在区间[l,r]上查找x,默认数据顺序非递减】(1)二分查找区间内某个数字的下标(存在且唯一),不存在返回-1:int search(int l,int r,int x){ int mid; while (l<=r) { mid=(l+r)>
2012-12-17 10:01:52
2628
6
原创 【2-SAT】POJ 2-SAT总结
2-SAT两篇论文《由对称性解2-SAT问题》(伍昱的WC论文)、《2-SAT解法浅析》(赵爽)我就不多说了,伍昱的论文以实例说明了2-SAT的建图方式,赵爽的论文则比较偏重理论。首先关于建图,如果两点a和b矛盾则a和非b连一条边,而不能是如果选a后可以选b则连边ab,看起来没好像什么区别但是实际上会引起错误,我一开始写2-SAT时就因为这一点一直写错,后来才把这点弄清。关于输出答案的部分,拓
2012-12-12 21:18:39
1314
原创 【SPLAY】SPOJ1470维护数列
BZOJ跪了我找了好多OJ才又找到维护数列这个题~话说SPOJ好像比较慢的样子~我找别人以前在BZOJ上AC的程序在SPOJ上竟然TLE了~加了读入优化还是TLE~囧~这算个什么事~今天把splay的数组实现改成了指针实现以后终于AC掉了~完全不知道我的splay哪里写慢了QAQ splay总体来说就是转来转去转来转去【转晕了诶】各种操作都是在旋转的基础上完成的。splay因为不需
2012-11-22 00:44:25
1572
3
原创 HDU 4454 杭州赛区现场赛B题
就是三分~囧~现场赛时把三分的下界写错了一直到最后也没过~另外还把切点都求错了~没救了没救了~刚才看到终于把题挂出来速度去重写~然后1Y~啧啧啧~做法就是求蚂蚁所在的点与圆形成的两个切线,两个切点把圆绵分成两部分,则蚂蚁爬到圆上的那一点一定在 圆心角在红色圆弧上取一个点求点到起点的距离和点到矩形的距离和,则在这段圆弧上的距离和一定是凹函数,我是选择三分角度求圆弧上的点。当天现场
2012-11-08 19:16:24
2632
1
原创 HDU 4449 Building Design【金华赛区现场赛H题】
模板题~我表示直接复制粘贴了三维凸包的模板和平面旋转的模板~模板是别人的自己没改过~所以代码看起来比较别扭~平面旋转的部分我是从http://hi.baidu.com/gdtangwu/item/ff5e56147a614b4de75e0696这里学来的~不过这个旋转有一个比较纠结的地方就是两个平面的法向量夹角是PI的时候会出现除0错误~所以旋转的时候要 if(sign(ang) != 0 &
2012-10-30 11:11:46
3019
信息学中概率类题目的分析
2018-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人