自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gankinghand的博客

时间不会因为你受挫折而停下,不管是伤心失落,还是微笑面对并努力,都会过去的。

  • 博客(81)
  • 收藏
  • 关注

原创 abc172e

容斥

2023-02-02 11:12:15 210

原创 小 A 的卡牌游戏

排序+dp

2023-02-01 21:40:57 112

原创 离线+线段树/树状数组

技巧总结

2023-02-01 11:03:26 265

原创 [AHOI2005] 病毒检测

题解

2022-11-11 15:33:51 76

原创 [NOI2011] 阿狸的打字机

题解

2022-10-27 18:38:15 283

原创 [NOI2002] 荒岛野人

题解

2022-10-26 19:19:30 91

原创 cf 827div 4 G

cf题解

2022-10-15 11:57:19 81

原创 poj3134 Power Calculus

poj3134

2022-09-18 11:47:12 80

原创 Addition Chains

iddfs入门

2022-09-18 10:04:22 118

原创 pat 1002 Business

pat1002题解

2022-09-12 15:43:46 51

原创 【无标题】

CF3D Least Cost Bracket Sequence题解

2022-08-08 20:54:12 51

原创 NOIP停课集训

应该是高中最后一次NOIP吧11.30今天是第一天

2020-12-04 21:00:17 149

原创 2020停课集训

10.31今天是第一天,过了这么久,又回来了。高二只有8人停课,还有一些dl没停,这让我有一些惶恐,这个选择需要很大勇气,既然已经选择,就义无反顾的冲吧。今天主要复习了二分,两种写法。区间dp要注意,枚举了长度和起点之后,要判一下终点是否会超过n。准备接下来一周的地狱赛...

2020-11-05 21:14:05 357

原创 CF165E Compatible Numbers

题意:有两个整数a,b。如果a&b=0,那么我们称a与b是相容的。比如90(1011010)与36(100100)相容。给出一个序列aa ,你的任务是对于每个ai,找到在序列中与之相容的aj 。如果找不到这样的数,输出-1。solution如果x与y相容,那么把x中的一个1拿掉,肯定也是与y相容的。如果x为1的位置,y都为1,也就是说,x的答案范围是包含y的,那么我们从大到小更新每个数...

2019-10-06 22:31:41 170

原创 jzoj6302. 提高组

感觉好像没6301难,但是思路特别巧妙。对于一个合法的序列,我们都可以用两个(没有交集)上升子序列将其覆盖,如果已经是有序的话也不影响考虑这个序列的前缀max,我们将那些对前缀max有贡献的位置(就是一个连续段开头)拉出来,一定是一个上升子序列,另一方面,设两个数ai,ai+1,ai对前缀max有贡献,且ai+1对max无贡献(ai+1<ai),那么ai+1后面的数都必须要比ai+1大...

2019-08-14 19:25:48 151

原创 【NOI2014】魔法森林

双关键字最小生成树,我们的大体思路就是,先将a从小到大排序,然后加边,如果两个端点不在同一连通块,直接连,因为lct只能维护点权,所以我们将每条边拆成点,在这道题里,我们边的编号不变,点的编号都加上m。如果在同一个连通块,那么看一下这两个点路径上最大的b值,如果路径上最大的b要大于我们当前这条边的b值就用当前边替换一下,每次判断1,n是否连通,如果能则更新答案。#include<cstdi...

2019-08-12 21:08:14 148

原创 [Sdoi2008]Cave 洞穴勘测

再次冒着巨大风险,A了一道裸得不能在裸的题,lct基本操作。贴板:#include<cstdio>#include<algorithm>#define fo(i,a,b) for (int (i)=(a);(i)<=(b);(i)++)#define lc c[x][0]#define rc c[x][1]using namespace std;con...

2019-08-11 18:48:28 103

原创 HNOI2010弹飞绵羊

话说我是冒着巨大的风险A这道题的(xc说不让上其他oj)。这题其实很简单,每个点如果他能往后跳,那就只能跳到唯一的一个,这显然是跟森林,用lct就好,维护下size。代码突然变短#include<cstdio>#include<algorithm>#define fo(i,a,b) for (int (i)=(a);(i)<=(b);(i)++)#defi...

2019-08-11 16:19:31 114

原创 LCT学习总结

并不打算详细讲,别人的博客已经讲得非常好了。FlashHu的blog正题实链剖分与树剖类似,将某一儿子的连边设为实边,其余的设为虚边,关键在于虚实是可以改变的,因此要用splay来搞。注意LCT维护对象是森林。accessaccess之后记得update,而且access之后x不一定是splay的根rotate因为这是lct所以我们的splay变得有些不一样了。void rotat...

2019-08-11 15:03:45 312

原创 4806. 【NOIP2016提高A组五校联考3】打工

Solution首先,我们可以发现如果x要出现(且是第一次出现),那么x-1一定要在它前面出现。设Fi,j表示还剩下i个位置没有确定,前面的最大值为j。关键就是怎样用f来算答案,比如说122321,我们考虑这一个数的每一位贡献,比如我们固定前面的122,3这位可以填1或2,后面的随便填,注意要弄一个前缀最大值,比如统计十位的贡献,就有1,2,3,4这些情况。code#include...

2019-06-25 22:07:52 147

原创 ZJOI2010数字计数

设fi表示前i位,j数字出现了多少次(不考虑前导0的影响),不难发现它们其实是一样的。f[i]=f[i-1]*10+10^(i-1)那么我们怎么求出最后的答案假设我们的数为xyz我们考虑x这位,ans[0…9]+=f[i-1]*x(注意这里的x,我们是算0000…(x-1)999),如果是算到x,就可能会算多。然后我们x出现的次数就是yz+1,然后减去前导0,对于这一位前导0就是有10...

2019-02-01 21:17:20 171

原创 计划

晚上改一道虚树的题目,改到崩了心态,随便乱翻各位大佬的博客,感觉自己好弱,于是开始反思自己,做题的时候不够认真,没有思考清楚就去看题解,还不够勤奋。已经初三了,再不认真的就没有时间了。一定要更加努力了,更加专注了,时间不允许我再逃避,要认真了,要认真落实。题目:HNOI2014世界树HEOI2014大工程ZJOI2010数字计数ZJOI2010基站选址【NOIP2016模拟7.7】S...

2019-01-28 07:16:19 107

原创 jzoj4225. 【五校联考3day1】宝藏

solution很明显,这道题就是要求,两个点之间的期望步数,那么我们知道,对于两个点x,y肯定是x走到lca再走下去到y我们设f,g分别为由x走到他父亲的期望步数,和由父亲走来的期望步数f[x]=1/deg[x]+∑u∈son[x]\sum_{u \in son[x]}∑u∈son[x]​(f[u]+f[x]+1)/deg[x]g[x]=1/deg[fa[x]]+1/deg[fa[x...

2019-01-26 20:12:26 157

原创 虚树学习小结

从一道模板题说起一道模板题:[SDOI2011]消耗战一个显然的东西,设f(x)表示x子树内的点不能通过x走到根最小代价。如果x不是特殊点,f(x)=min(m[x],∑\sum∑f(son[x])),否则f(x)=m[x](其中m[x]表示x到根路径上的最短边),然而会T但是我们发现,有很多点是根本没有卵用的。同时,有用的转移,要么是他们本身,要么是几个不存在父子关系的结点的lca,当然...

2019-01-25 22:53:49 170 1

原创 jzoj4211. 送你一颗圣诞树

很明显,如果直接弄,点数非常多我们知道,一棵树的答案=两个子树的答案+size[a]*sum(b,d)+size[b]*sum(a,c)+size[a]*size[b]*l(其中sum(x,y)表示第x个树中,每个点到y的距离值和)那么问题就是怎么求sum,现在我们假设y在组成x这棵树的左子树里(右子树同理),那么对于左子树这部分的贡献,我们递归求,对于右子树,我们求得右子树每个点到c的距离...

2019-01-25 12:37:09 368

原创 食物链&Parity game(并查集的两种妙用)

题目:【NOI2001】食物链扩展域并查集将每一个动物拆成三个点比如说x,拆成x,x+n,x+2n,分别对应x对应A,B,C三种动物并且在同一个集合里面的事件都发生或都不发生,比如x,y+n,在同一个集合里,就意味着,如果x是A,那么y就是B。接下来,我们考虑每一句话如果是同类关系,那么我们首先判断是不是会跟前面的冲突,即判断x与y是否存在捕食或被捕食的关系,就是看(x,y+n),(...

2019-01-23 20:54:47 317

原创 树剖lca(模板)

#include&lt;cstdio&gt;#include&lt;algorithm&gt;#define fo(i,a,b) for (int (i)=(a);(i)&lt;=(b);(i)++)#define Fo(i,x) for (int i=head[x];i;i=next[i])using namespace std;const int N=500000+255;int ...

2019-01-22 22:35:48 189

原创 tarjan(人工栈)

void tarjan(int y){ bool flag; tops=top=0; ss[++tops]=y; while (tops){ flag=0; int x=ss[tops]; if (!dfn[x]) { dfn[x]=low[x]=++num; cur[x]=head1[x]; s[++top]=x; vis[x]=1; } Fo...

2019-01-07 21:06:58 458 1

原创 NOIP2018总结(游记)

又是一年一度的NOIP。蒟蒻的我报了提高组。11月9日:又和运动会在同一天,为什么?学校你是故意安排的吗?于是又被鸽了一下。但还好我没有比赛项目,开幕式之后就溜了。闹剧:两个“陈冠宏”的考号一样??(广东省队名额-1?)下午六点钟出发。目的地:广州六中开始以为酒店很垃圾,后来发现好像也不是太烂。但是我只能够说,酒店的设计有点“很”人性化。那个厕所的吊帘居然是在外面控制的???其他的...

2018-11-18 11:23:35 733 1

原创 splay总结(吹水)

前言:由于博主太懒,只是整理了一下,主要还是借鉴别人的博文 推荐一篇:史上最详尽的平衡树(splay)讲解与模板 众所周知splay是序列之王,那么我们怎么用它来维护序列呢?首先我们认为splay的中序遍历即为原序列,假设我们...

2018-08-31 10:58:17 241

原创 奇妙的表示方法

考虑对于一个数,他所有出现的数的个数,我们如何把它压成一个状态,就是说我们可以用一个数来表示每个数出现了多少次。 这个问题其实比较简单,我们只需先处理一个前缀积, 比如说 0出现2次,1出现3,次,2出现5次,3出现7次 那么对应的前缀积为 1 3 12 72注意要加1,因为它还可以不选 那么假设我们现在这个状态s为67,那么它对应的状况是怎样? 67/12=5……...

2018-08-18 21:13:15 244

原创 c++set学习小结

c++的set是一个强大的容器。(c++选手福利) 下面说一下OI中常会用到的。begin(),返回set容器的第一个元素end(),返回set容器的最后一个元素clear(),删除set容器中的所有的元素empty(),判断set容器是否为空迭代器,举个例子 multiset是支持可重复出现元素的,但是set不行 下面这段程序可以帮我们实现排序。#include&l...

2018-08-17 20:48:37 244

原创 jzoj5819. 【NOIP提高A组模拟2018.8.15】 大逃杀

题意略。 我太弱了,搞了好久,才搞懂题解,心态崩ingsolution设fi,jfi,jfi,j表示以i为根的子树中,从i开始走,最后回到i,用j时间,所能拿到的最大武力值。 设gi,jgi,jgi,j表示以i为根的子树中,从i开始走,不回到i,用j时间,所能拿到的最大武力值。 设hi,jhi,jhi,j表示以i为根的子树中,从i的子树内开始走,经过i,最后还是在i的子树内,用j...

2018-08-16 17:04:42 324

原创 jzoj5813. 【NOIP提高A组模拟2018.8.14】 计算

这道题目dalao们说数据还可以加强,但是鉴于博主太菜,只会做原题数据。 首先我们只考虑第一个限制 那么分成三类 A:这些x的乘积小于nmnmn^m B:这些x的乘积等于nmnmn^m C:这些x的乘积大于nmnmn^m 容易知道A,C的数量是一样的,因为对于每一个A,一定存在一个C使得他们乘积是等于n2mn2mn^{2m} 这就是本题的重要突破口。 易知,所有情况为n2m...

2018-08-14 20:17:35 195

原创 手动开大栈

今天打题的时候发现在本机爆栈(一条链,300000),但是oj上不怕,于是上网查了一下,其实现在NOI系列赛的栈已经和和规定空间一起算,也就是说不用再打人工栈,但是本机调试怎么办? c++,工具,编译选项,在编译时加入以下命令-Wl,--stack=134217728不用打人工栈,暴爽...

2018-08-12 22:36:05 3116

原创 [HEOI2016/TJOI2016]排序

题意略。solution这道题目我们可以线段树加二分, 首先我们二分最终的答案,然后我们把这个序列变成0/1序列,具体而言,我们将大于等于mid的设为1,小于mid的设为0,排序的话,以升序为例,我们把0扔到左边,1扔到右边,降序类似,然后我们看一下最后我们要求的位置上是0还是1,同时缩小答案范围即可。 code#include&amp;lt;cstdio&amp;gt;#include...

2018-08-12 22:12:43 183

原创 [HEOI2016/TJOI2016]树

题目描述在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下两种操作:标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。)询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)你能帮帮他吗?输入输出格式输入格式: 输入第一行两个正整...

2018-08-12 21:59:10 332

原创 UVA10917 Walk Through the Forest

题意:不说。 solution: 直接用dij跑一变最短路,然后我们会得到一些可以走的边,把它们加进一个新图中即可,然后跑一遍dp就好了(因为ta是个dag)CODE#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;queue&gt;#include&lt;vector&gt;#include&lt;c...

2018-07-23 17:47:25 141

原创 Dijkstra算法模版

好吧,最近这几天发现SPFA老是被卡,于是就打了dij,挺好打的,也不长。CODE#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;queue&gt;#include&lt;vector&gt;#include&lt;cstring&gt;#define fo(i,a,b)for (int (i)=(a)...

2018-07-23 14:33:02 177

原创 权值线段树+动态开点(学习小结)

首先先上一道板题:把它看懂就OK了,其实这个跟普通的线段树也没太大区别,就是存的是出现的次数。CODE#include&lt;algorithm&gt;#include&lt;cstdio&gt; #define fo(i,a,b) for (int (i)=(a);(i)&lt;=(b);(i)++)const int N=200050;using namespace s...

2018-07-18 16:56:21 2262

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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