- 博客(8)
- 收藏
- 关注
原创 Codeforces #500 div2 D(并查集)
题目链接如下 cf #500div2 D 题意就是说在n*m的方格上,有一些方格被打上叉 若存在(x1,y1) (x2,y1) (x1,y2)被打上叉 则(x2,y2)也会被打上叉 后来被打上叉的也可以给别人打叉 问至少需要手动打几个叉才能使得所有的格子都被打上叉 这题难点在于n和m都很大,n,m<=200000, 但是已经有的叉数不大 所以可以确定一定是某种巧妙的方法可以...
2018-07-31 18:02:01 221
原创 hdu6321 (状态压缩)
昨天打的多校赛,打到一半去打cf了,然后今天看见题解发现第三题是如此简单易懂。 题目链接戳下面 hdu6321 题目大意为给你n个点(n<=10,nn<=10,nnm<=30000m<=30000m(k=1,2,3……n/2)(k=1,2,3……n/2)(k=1,2,3……n/2)以下是解题思路: 设S是点集,表示选择的边由这个点集里的点组成,由于边不相交,易知...
2018-07-31 16:33:54 550
原创 tarjan算法各种应用
Robert Tarjan,一个很牛逼的计算机科学家。tarjan算法真的是一个神奇的算法,一个简单的dfs却可以解决联通性的问题以及求最近公共祖先。首先介绍一下什么是强连通分量。 强连通:在一个有向图,对于任意两点a,b都互相可达,则称这个图是强连通的。 强连通分量:有向图的极大强连通子图。先去健身。。。。剩下的回头补...
2018-07-17 16:28:59 1344
原创 暑期集训每日小结
这篇博客争取每天更新day1 7.14 训练时间:9h 学会k-d tree 完成一篇博客 k-d tree 入门 codeforces div2 edu AC五题 被hack一题
2018-07-15 12:50:48 615
原创 k-d tree入门
暑期集训开始了 本篇博客将会简单讲一下k-d tree的原理以及实现首先大家要先了解一下二叉搜索树二叉搜索树是一个很简单常见的数据结构,他符合以下两个特征 1.一个节点若有左子树,则左子树上的点全部小于该节点;若有右子树,则右子树上的节点全部大于该节点。 2.它的左右子树也符合这个性质。大家可以发现,二叉搜索树可以对一个一维数组进行维护,每次查询时只要看需要查询的数值比当前节点大...
2018-07-14 13:24:34 4810 6
原创 2018ACM邀请赛总结
早就该写总结了,但是说说也发过了,CSDN就鸽了很久。今年的三场邀请赛都打完了,很明显能感觉到和去年的自己完全不一样了,虽然只经历了半年,但是实力却得到了显著的提高。三场邀请赛分别是西安、徐州和宁夏的,给我最大的感觉就是正式赛的五个小时过得很充裕,一直都在码代码,一直都在想题目,与去年的青岛区域赛挂机三个半小时相比,体验简直好到爆炸,当然,主要原因还是队伍的总体实力提高了,不会出现因为实力不够...
2018-06-21 16:50:48 1527 1
原创 关于sg函数异或和转移的证明
学过博弈论的都知道,当多个博弈同时进行(比如尼姆博弈)时,我们通过将其各个博弈状态的sgsgsg值求个异或和以确定其输赢情况,其中我们发现: 1.当异或和为000的时候,我们怎么转移,异或和都不为000 2.当异或和不为000的时候,我们一定至少一种转移方法可以使得异或和为000也是基于这两个结论,我们才能通过求异或和的方式确定输赢。那么如何证明这两个结论呢?证明1: 已知nnn...
2018-05-30 22:45:17 844
原创 分块入门
分块,一直以来都听过这个,但是从来没有用过,发现其实很多题目都可以用分块卡过去,突然想起来学分块的原因也是因为两周前的西安邀请赛有一题,看到网上有人说用分块可以做,而且貌似很裸? 心想要是当时会的话就金了啊。(或者把当时脑抽没想到的线段树做出来TAT)不说废话了,直接进入正题,分块,顾名思义,就是把很长的一整个区间,分成几个小的区间去处理,降低时间复杂度。(其实就和莫队思想差不多)那么我们...
2018-05-30 14:14:41 810
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人