退役了。

回到家,匆匆吃过了晚饭,不自觉地坐到了电脑前。翻开笔记本,映入眼帘的是熟悉的Dev-C++的界面,还打开着一份代码——“割顶”。 退役了,退役了。啊,我真的退役了吗。时间真是飞逝啊,三年OI一晃眼就过去了,我有点舍不得。原本以为,考完之后令人伤心愁苦的只会是怎样的花式爆零还是脑残失误,但是我却发...

2018-11-11 20:44:47

阅读数 135

评论数 1

STL-超市抽奖

本来是两个一个大根堆一个小根堆来解决的,然而STL选手(雾,星夜的蓝天)使用了multiset进行解决,没想到TLE了两个点,进行一番研究以后,他发现set+unordered_map=更快的multiset。为什么呢?在要插入时,使用unorderd_map来判断当前set中是否已经有该元素,如...

2018-10-28 15:53:53

阅读数 101

评论数 0

欧拉函数求法总结及相关例题

注意:本博客并非写给欧拉函数的初学者,而是为已经学会欧拉函数的OIer们提供一点总结。 方法一:根据公式求解单个数的欧拉函数值 根据欧拉函数的通项公式φ(x)=xΠi=1n(1−1pi)\varphi(x)=x\Pi_{i=1}^{n}(1-\frac{1}{p_{i}})φ(x)=xΠi...

2018-10-26 15:42:43

阅读数 181

评论数 0

数论-质数-樱花BZOJ2721

错误点:1.质因数分解时,当当前素数的平方已经大于被分解数a,则停止循环,否则复杂度就不是/sqrta/sqrt{a}/sqrta。 改进点1:在做筛的时候记录下每一个数最小的质因数是谁,分解的时候从这个数开始,可以很大地加快分解速度。 改进点2:对n!做分解质因数有另外更加快速的算法,待学习...

2018-10-23 13:53:34

阅读数 68

评论数 0

数据结构(乱搞)-Easy Problem from Rujia Liu UVA11991【自创解法】【链式向前星上倍增】

233 #include<bits/stdc++.h> #define rep(i,l,r) for(int i=(l);i<=(r);i++) #define per(i,r,l) for(int i=(r...

2018-10-21 19:13:28

阅读数 23

评论数 0

图论-生成树-北极通讯网络(二分答案或最小生成树)【浅显易懂的思维过程】

自己想到的一种解法:二分答案 在实数域上二分d的值,检验的办法就是将距离小于等于的所有点对用并查集合并在一起(也就是在一个联通块里了),最后扫一遍算出一共有多少个联通块,如果联通块的块数少于等于k,那么当前d值合法,否则不合法。 还要注意一个小细节,当最后只有一个联通块的时候实际上全图就已经联...

2018-10-10 19:59:18

阅读数 223

评论数 0

OI各类算法中的常见题型

以下给出OI学习过程中各种算法常见的一些题型,供复习时参考。 按难度和常见程度排序(我眼中的)。 一、生成树相关问题: 最小生成树 次小生成树 求最小瓶颈路 增量最小生成树 各种生成树计数 含给定边的生成树 边分为不同的几类,第i种边一定要选a[i]条的生成树 ...

2018-10-03 20:26:15

阅读数 219

评论数 0

总结:OI中问题求解策略

在做OI的题目的时候有时候会遇见一些无从下手的题目,让人非常的头疼,在此凭借自己一点的经验总结应对方法如下。 在遇到想不出解法的题目时的做法(重要性从大到小排序): 看懂题目所给的样例 观察和计算来得出问题具有哪些小性质 通过思考部分分进而得到正解 规定一个计算的顺序 观察它是否具...

2018-10-02 16:32:33

阅读数 46

评论数 0

国庆集训D1T2 小W的房间

因为没有边权,所以广搜+哈希判重(以减少不必要的搜索)。 用状态压缩的方式存储钥匙的状态。 因为哈希哈希得不够好T了,95分。 哈希的时候要注意分析到底哪一些信息是有用的,哪一些信息是没有用的,从而将更多冗余的点压缩在一起,从而降低运行时间。 具体地说 1.其实对于每个node来说,st...

2018-10-01 16:46:44

阅读数 96

评论数 0

瞎搞-贪心-NOIP前44天-入门-家庭作业【并查集优化】

使用并查集优化了一下贪心的查找,速度只需要那些用链表的时间的将近一半,Perfect。 #include<bits/stdc++.h> #define rep(i,l,r) for(register int i=(l)...

2018-09-17 21:00:17

阅读数 131

评论数 0

NOIP易错整理

手写哈希表: 当哈希表要处理0时,必须将哈希表的值初始化为-1,否则会引起结果出错。(变成默认0已经在哈希表里了)

2018-07-28 21:07:25

阅读数 55

评论数 0

NOIP常用模板(随便整理的,很杂)

二元组及向量运算 struct P { double x,y; P(){} P(double _x,double _y) {x=_x; y=_y;} }A[Maxn],B[Maxn]; P operator + (P A,P B) {return P(A.x+B....

2018-07-18 21:01:51

阅读数 324

评论数 0

NOIP同类算法对比

素数筛: 埃氏筛与欧拉筛: 1。数据规模1亿及以上,欧拉筛的速度基本为埃氏筛的两倍。 2。数据规模5千万,欧拉筛550ms左右,埃氏筛900ms左右。 3。数据规模3千万,欧拉筛400ms左右,埃氏筛500ms左右。 4。数据规模2千万,两筛均为300ms左右。 5。数据规模2千万以下,埃氏...

2018-07-18 20:56:28

阅读数 163

评论数 0

【解题报告】公司聚会

题目来源:vijos1418. 参考自:raoyu的题解 其实这是一个在树上的01背包问题。这道题与经典的公司聚会不同,因为上司的定义由父结点改为了所有祖先。这样问题也由树形dp变为了01背包。由于题目中有一个非常重要的条件,“员工的编号会大于他的直接上司的编号”,我们可以直接循环而不用建立树...

2017-07-11 16:50:32

阅读数 231

评论数 0

【解题报告】舞会

题目来源:vijos1706.这题比较简单。对于任意一棵以v为根的子树,要么上司v上去,要么v的下属们上去,显然搞笑值是负的的家伙们只要坐着看就好了(笑)。设f[v,1]为以v为根节点的子树有下属上台的最大搞笑值,f[i,2]为以v为根节点的子树只有上司上台的最大搞笑值。则状态转移方程如下: f...

2017-07-11 16:46:01

阅读数 178

评论数 0

【解题报告】选课

题目来源:vijos1180. 树形DP,设f[v,num]为以v为根的子树选取num门课所能得到的最大学分。为了方便分配这num门课程,我们将题目所给的多叉树转换为二叉树。 参考资料:原理、代码 .转为二叉树后,实际上任意节点i的左孩子(包括左孩子的孩子)是i真正的子节点,而i的右孩子(包括...

2017-07-11 16:25:26

阅读数 221

评论数 0

【解题报告】小胖守皇宫

【树形DP】小胖守皇宫题目来源:Vijos1144。根据题意,此题要求求最优值,并且按照从叶向根这个决策顺序来看,后面的决策不会影响到前面的决策(对此句有疑问可接着往下看),满足无后效性。因此姑且套用动态规划来一做。动态规划的核心是状态转移方程。正所谓状态转移方程,我们就需要先知道有哪一些状态。由...

2017-07-08 21:30:33

阅读数 342

评论数 0

赛前板子-割点【洛谷P3388】

注意如果题目要求割点的个数的话,一定不能在tarjan算法中去统计,会导致单个点被重复统计多次,导致答案比实际多。应该在对所有点求完tarjan以后(因为图可能不是联通的),在记录每个点是否是割点的数组中扫描一遍去统计。 #include<bits/stdc++.h...

2018-11-09 22:19:35

阅读数 23

评论数 0

STL-甘核平

不知道为什么在map里面一边找一边删东西答案就会错呢?想不明白呀 AC代码 #include<bits/stdc++.h> #define rep(i,l,r) for(register int i=(l);i&l...

2018-11-06 14:34:43

阅读数 84

评论数 0

最短路模型-[国家集训队]墨墨的等式 洛谷P2371

跳楼机的加强版。 #include<bits/stdc++.h> #define rep(i,l,r) for(int i=(l);i<=(r);i++) #define per(i,r,l) for(int i=(r);i&...

2018-11-04 20:42:05

阅读数 24

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭