自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bbbblzy的博客

一只在学c++的蒟蒻!

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

原创 板子QWQ(考前复习)

LCA(倍增)//LCA板子(倍增) //queue<int>q//d[]表示深度 //fa[i][j]表示i向上跳2^j步的节点 void bfs(){ q.push(1); d[1]=1; while(q.size()) { int x=q.front();q.pop(); for(int i=link[x];i;i=e[

2017-11-10 08:46:59 377 1

原创 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数

1.gcdint gcd(int a,int b){ return b?gcd(b,a%b):a;}2.扩展gcd )extend great common divisorll exgcd(ll a,ll b,ll &x,ll &y){ if(!b){x=1;y=0;return a;} else { ll...

2017-09-26 20:52:59 531 2

原创 那些年我犯过的c++黄涵级别的错误

(1)if 语句判断的时候“==” 写成“=” 还一直以为没毛病的 浪费了一堆时间 (我有一句妈卖批不知当讲不当讲) 谨记!!!!!!!! (2)有一大堆for循环的时候 {}太多了 如果没有一一对应起来的话 你会发现你一直少} 很气 (3) 返回true的时候 函数 定义了int 一直死循环 无奈……. (4)将一些内置的如什么int 什么的当作 变量….. (5)赋值反了 ……. ...

2017-09-12 16:37:00 359 6

原创 普通平衡树(treap)

前言您需要写一种数据结构,来维护一些数,其中需要提供一下的操作: 1.插入数值x 2.删除数值x(如果有多个,只删除一个) 3.查询数值x的排名(如有多个相同的数,应输出最小的排名) 4.查询排名为x的数值 5. 求数值x的前驱(小于x最大的数) 6.求数值x的后继(大于x最小的数)首先我们引入一种数据结构叫二叉查找树(BST)。该树满足一下性质: 对于树的任意一个节点 ...

2018-07-21 20:08:59 6045 2

原创 最长递增子序列(题解)

题目描述给定正整数序列 x1∼xnx1∼xnx1∼xn,以下递增子序列均为非严格递增。 计算其最长递增子序列的长度s。 计算从给定的序列中最多可取出多少个长度为 s的递增子序列。 如果允许在取出的序列中多次使用x1和xn,则从给定序列中最多可取出多少个长度为 s的递增子序列。输入格式文件第 1行有 1个正整数 n,表示给定序列的长度。接下来的1行有n个正整数 x1∼xn。...

2018-07-17 21:10:17 799

原创 养猪(题解)

题目描述尼克在一家养猪场工作,这家养猪场共有M间锁起来的猪舍,由于猪舍的钥匙都给了客户,所以尼克没有办法打开这些猪舍,客户们从早上开始一个接一个来购买生猪,他们到达后首先用手中的钥匙打开他所能打开的全部猪舍,然后从中选取他要买的生猪,尼克可以在此期间将打开的猪舍中的猪调整到其它开着的猪舍中,每个猪舍能存放的猪的数量是没有任何限制的。买完猪后客户会将他打开的猪舍关上。 好在尼克事先知道每位客户...

2018-07-11 21:07:00 1542

原创 晚餐(题解)

题目描述农夫JOHN为牛们做了很好的食品,但是牛吃饭很挑食. 每一头牛只喜欢吃一些食品和饮料而别的一概不吃.虽然他不一定能把所有牛喂饱,他还是想让尽可能多的牛吃到他们喜欢的食品和饮料. 农夫JOHN做了F (1 <= F <= 100) 种食品并准备了D (1 <= D <= 100) 种饮料. 他的N (1 <= N <= 100)头牛都以决定了是否愿意...

2018-07-10 20:22:54 684

原创 奶牛的聚会(题解)

题目描述N(3<=N<=200)头奶牛要办一个新年晚会。每头牛都会烧几道菜。一共有D(5<=D<=100)道不同的菜肴。每道菜都可以用一个1到D之间的数来表示。 晚会的主办者希望能尽量多的菜肴被带到晚会,但是每道菜的数目又给出了限制。每头奶牛可以带K(1<=K<=5)道菜,但是必须是各不相同的(例如,一头牛不能带三块馅饼,但是可以带上一块馅饼,一份面包,和一...

2018-07-09 16:10:20 1794

原创 河流(题解)

题目描述  几乎整个Byteland 王国都被森林和河流所覆盖。小点的河汇聚到一起,形成了稍大点的河。就这样,所有的河水都汇聚并流进了一条大河,最后这条大河流进了大海。这条大河的入海口处有一个村庄——Bytetown。   在Byteland国,有n个伐木的村庄,这些村庄都座落在河边。目前在Bytetown,有一个巨大的伐木场,它处理着全国砍下的所有木料。木料被砍下后,顺着河流而被运到By...

2018-05-30 19:01:05 460

原创 荒岛野人(题解)

题目描述克里特岛以野人群居而著称。岛上有排列成环行的M个山洞。这些山洞顺时针编号为1,2,…,M。岛上住着N个野人,一开始依次住在山洞C1,C2,…,CN中,以后每年,第i个野人会沿顺时针向前走Pi个洞住下来。每个野人i有一个寿命值Li,即生存的年数。下面四幅图描述了一个有6个山洞,住有三个野人的岛上前四年的情况。三个野人初始的洞穴编号依次为1,2,3;每年要走过的洞穴数依次为3,7,2;...

2018-05-27 20:26:34 751

原创 选课(+输出方案)(题解)

题目描述学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。学校开设了N(N < 300)门的选修课程,每个学生可选课程的数量M是给定的。学生选修了这M门课并考核通过就能获得相应的学分。  在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如《Frontpage》必须在选修了《Windows操作基...

2018-05-25 20:51:00 1745

原创 广场铺砖(题解)

题目描述有一个W行H列的广场,需要用1*2小砖铺盖,小砖之间互相不能重叠,问有多少种不同的铺法? 输入格式只有一行2个整数,分别为W和H,(1<=W,H<=11) 输出格式只有1个整数,为所有的铺法数。样例数据input 2 4output5Solution状态压缩的入门题。 对于放的每一块地砖,都有两种情...

2018-05-18 21:49:27 1756 1

原创 苹果二叉树(题解)

题目描述有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点)。这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树: 2 5 \ / 3 4 \ / 1 现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果。 给定需要保留的树枝数量,求出...

2018-05-16 20:57:32 883

原创 战略游戏(题解 树形DP)

蒟蒻第一次写树形DP……有的没的在树形DP中,我们一般以节点从深到浅(子树从小到大)的顺序作为DP的“阶段”。大多时候,我们采用递归的方式实现树形DP,对于每个节点x,我们先递归他的子节点,在回溯时,再从子节点向节点x进行转移。我们来看看这道超水的树形DP题目描述Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。他要建立一个...

2018-05-16 20:08:15 1044

原创 生日礼物(题解)

题目描述  10月11日是MM的生日,Matrix67打算自己DIY一些抱枕送给MM。Matrix67手中有一块矩形花布,花布分成了M x N个小格子,有些格子的花色相同,有些格子的花色不同。为了使最终成品更美观,Matrix67希望用于DIY的布匹都是正方形的,并且满足布匹花色上下对称且左右对称。为此,他希望能计算出这块花布里一共包含有多少个上下对称且左右对称的小正方形。  举例来说...

2018-05-14 20:23:41 998

原创 棋盘分割(题解)

Description将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行) 原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。现在需要把棋盘按上述规则分割成n块矩形棋盘,并使各矩形棋盘总分的均方差最小。 ...

2018-05-13 21:14:54 655

原创 创意吃鱼(题解)

题目描述可爱猫猫家里长方形大池子中有很多鱼,她开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*)。她发现,把大池子视为01矩阵(0表示对应位置无鱼,1表示对应位置有鱼)有助于决定吃鱼策略。在代表池子的01矩阵中,有很多的正方形子矩阵,如果某个正方形子矩阵的某条对角线上都有鱼,且此正方形子矩阵的其他地方无鱼,猫猫就可以从这个正方形子矩阵“对角线的一端”下口,只...

2018-05-11 21:45:34 288

原创 8的倍数——题解(容斥原理)

题目描述小x最近对数字8很感兴趣,有8进制,2008奥运会之类的。 现在小x想知道,在[x,y]区间里,有多少个数能被8整除。 小y觉得题目太简单,于是给出n个其他数,问在[x,y]区间里,有多少个数能被8整除且不能被这n个数整除分析啊啊啊啊啊,一道很水的容斥原理啦QWQ,枚举出这个n个数所有和8的lcm的情况,奇减偶加,这道题最麻烦的地方在于枚举出所有的情况,看那些超...

2018-04-16 18:56:28 1354

原创 打表练习题——反素数

题目描述如果一个自然数比所有比它小的自然数的约数个数都要多,那么我们就称这个数为一个反素数。例如,1、2、4、6、12和24都是反素数。 任务: 请写一个程序: 读入一个自然数n; 找出不大于n的最大的反素数; 将结果输出。本题需要用到的知识:约数个数定理代码(不会打表没逼逼)//By Bibi/// .-~~~~~~~~~-._ ...

2018-04-15 20:25:34 913 1

原创 2018.4.7DP练习赛

前言今天要DP练(kao)习(shi),历经10h,因为是第一天竞赛课,早上照例睡懒觉,起来已经没早饭吃了,默默的啃着牛肉棒打着比赛。作为DP的蒟蒻,我也是很慌张了。在我还没吃完的时候,已经有人A了两题了,吓得我……虽然好像是**的,啊呀不管了。T1hdu1176看完题目我是一脸懵逼,完全没有思路,是写完T2T3再回来做的。 看到题目当时就想到FJ收苹果,但发现不一样...

2018-04-08 09:54:31 245 1

原创 51nod 1129 字符串最大值(题解)

题目描述一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd。 给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值。 例如:S = “abababa” 所有的前缀如下: “a”, 长度与出现次数的乘积 1 * 4 = 4, “ab”,长度与出现次数的乘积 2 * 3 = 6, “aba”, 长度与出现次数的乘...

2018-04-06 16:43:43 309

原创 [Baltic2009]Radio Transmission--bzoj1335(题解)

题目描述给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少.题解这是一道结论题:n−next[n]n−next[n]n-next[n] 那么怎么证明呢??我们把文本T与next[n] 取出来并且开头对齐,如图: 此时相同位置的字符是相同的。 因为题目告诉我们文本串是由一个某个字符串不断自我连接...

2018-04-06 16:30:56 523

原创 bzoj 3942: [Usaco2015 Feb]Censoring(题解)

题目描述Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so they have plenty of material to read while waiting around in the barn during milking sessions. Unfortun...

2018-04-06 14:40:49 522

原创 生成函数

定义生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。 生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。 最早提出母函数的人是法国数学家LaplaceP.S.在其1812年出版的《概率的分析理论》中明确提出“生成函数的计算”,书中对生成函数思想奠基人——Eule...

2018-03-24 20:18:05 698 3

原创 分块——入门8

这个题目很考验分块的思想了,如果一个块里面都是相同的数,就给这一整个块标记,再进行处理即可//By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// __.' ~. .~ `.__/// .'// ...

2018-03-22 18:56:30 274 3

原创 分块——入门7

如果只是加法操作的话就和入门1没啥区别了,现在最大的问题就是乘法咋搞?? 首先我们要知道的是,乘法的优先级是高于加法,那么我们在做乘法的时候就要十分的小心了,所以我们在修改乘法标记的时候要把加法标记也作修改。 例如: 若当前的一个块乘以m1后加上a1,这时进行一个乘m2的操作,则原来的标记变成m1*m2,a1*m2 若当前的一个块乘以m1后加上a1,这时进行一个加a2的操作,则原来的标...

2018-03-15 13:17:08 531 1

原创 分块——入门6

这题涉及到了插入操作,如果你用的是数组,每次插入都要将后面的元素后移,这毫无疑问就爆炸了,这里就是我们c++选手的优势了,我们要用到一个STL叫vector。详细用法见:传送门用了vector之后操作的就变得十分简单了//By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// _...

2018-03-15 13:12:29 246

原创 分块——入门5

分析:这个题目超级无敌虚伪,在对整个块开方的时候你会发现你无从下手,须要知道每一个元素,才能知道他们开方后的和,也就是说,难以快速对一个块信息进行更新。其实你仔细推一推,你会发现,每次开方后向下取整,其实一个数开几次之后你会发现不是0就是1,所以我们只要对整块进行开方后判断一下是不是成为了0或1,在之后的修改中如果已经是0或1可以直接跳过……QWQ 代码://By Bibi//...

2018-03-14 18:21:08 287

原创 分块——入门3

wocwocwoc我是真的想骂人了,分块不喜欢我,分块不喜欢我!!!!! 疯狂漏打数组,看看下面的sb记录: 绝望!!!!!!!! 代码(mmp)://By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// __.' ~. .~ ...

2018-03-12 20:37:14 346

原创 分块——入门2

水题爆炸记woc这题卡了我一天,这么水的题,我真的**无语,先是发现二分写错了,然后发现建立块都写错了,我真的无语了。 上代码(舞草)://By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// __.' ~. .~ `.__...

2018-03-12 20:00:25 434

原创 分块——入门1

题目: 分析:这是分块的入门题,具体的就不谈了,在增加的时候,如果两数在同一个块内,直接加,否则就将这两个数所在的块做加法,然后将中间的块处理就好,时间复杂度O(n−−√)O(n)O(\sqrt n),可以说是很优秀了。 代码君://By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// ...

2018-03-10 20:17:41 218

原创 分块大法好!

膜分块分块大法可以说是久仰大名了,分块是一个超级暴(N)力(B)的算法,听某姓大佬说,一般的区间问题都可以用她来解决,她可以完成几乎所有的区间更新和区间查询问题,但是效率比线段树等数据结构要差一些QWQ一些名词的解释区间:数列中一段连续的元素 区间操作:将区间[a,b]进行某些操作 块:我们将数列划分成若干个不相交的区间,每个区间称为一个块 整块:在一个区间操作时,完整包...

2018-03-10 19:22:13 401

原创 点和直线

直线的参数表示:直线可以用直线上一点P0P0P_0和方向向量v表示(虽然这个向量的大小没什么用处)。直线上所有点P满足P=P0+tvP=P0+tvP=P_0+tv,其中t称为参数。如果已知直线上的两个不同点A和B,则方向向量为B−AB−AB-A,所以参数方程为A+(B−A)tA+(B−A)tA+(B-A)t。 参数方程最方便的地方在于直线、射线和线段的方程形式是一样的,区别仅仅在于参数。直线的...

2018-02-27 20:54:58 513

原创 二维几何基础

在几何中,向量是一个炒鸡重要的东西,像空气对于人,水对于鱼……QAQ 在这里就不详细介绍向量了,大家在高中数学中会学到,数学毒瘤,貌似信息也是哈哈哈下面是他们的常用定义:struct point{ double x,y; point(double x=0,double y=0) :x(x),y(y){}//构造函数,方便代码编写};typedef point ...

2018-02-27 18:43:05 213

原创 判断一个点是否在多边形内部

判断点是否在多边形中是计算几何中一个非常基本但是十分重要的算法。 下面是几个比较基本的方法: (1)面积法:将这个点与多边形的所有顶点连线,将所形成的所有三角形面和求和,如果和多边形面积相等则点在多边形内部 (2)夹角法:将这个点与多边形的所有顶点连线,如果夹角和为360°则点在多边形内部 (3)射线法:以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外,考虑...

2018-02-26 20:03:03 4150

原创 判断几个点是否在同一条直线上(计算几何)

这里就要介绍一个概念:直线方程直线方程从平面解析几何的角度来看,平面上的直线就是由平面直角坐标系中的一个二元一次方程所表示的图形。求两条直线的交点,只需把这两个二元一次方程联立求解,当这个联立方程组无解时,两直线平行;有无穷多解时,两直线重合;只有一解时,两直线相交于一点。常用直线向上方向与 X 轴正向的 夹角( 叫直线的倾斜角 )或该角的正切(称直线的斜率)来表示平面上直线(对于...

2018-02-26 19:27:23 20165

原创 FCS NOI2018 DAY1(数论)

数论与组合数学基础数论基础整除: a整除b 记做a|b 因数与倍数: a|b即a是b的因数,b是a的倍数 带余除法: 对于整数a,b(b!=0),设a除以b的商为q,余数为r,则a=bq+r,q,r为整数且0≤r≤|b| 模: a除以b余数为r,记为a modb = r 同余: a,b模p同余即a,b除以p的余数相同,记做a≡b(mod p)类比十进制运算个位数...

2018-02-08 21:52:32 824

原创 A+B的各种写法(不是cout<<a+b;)

A+B其实是一个博大精深的问题,以下是各种写法#include<bits/stdc++.h>#define INF 0x7fffffffusing namespace std;int a,b,cnt;int ans[10],h[10],head[10],father[10],bit[10],mp[3][3],w[3],c[3],f[3];struct data1{int to,next,v

2018-01-03 20:45:35 2132 1

转载 信息学竞赛OI 常用OJ

常用OJ名字+地址不定期更新,自己用,有补充的也可以给我说说哈。中文openjudge地址:openjudge.cn 说明:北大提供的一个平台,学校可申请小组; 比较好的小组: 计算概论:ica.openjudge.cn noi小组:noi.openjudge.cntyvj地址:http://www.tyvj.cn/ 老OJ,现在基本属于清北学堂了codevs地址:http://

2018-01-03 20:22:09 7145

原创 网络流

网络及网络流什么是网络?网络其实就是有向带权图。为什么要叫网络,是因为权值是容量,容量意味着可以在单位时间内经过的上限,但是可以比上限小。 有向图=点集+有向边集 一个实例:运输网络 网络定义* 一个有向图 G=(V,E); V代表点的集合,E代表边的集合。* * 有两个特别的点:源点s、汇点t;* * 图中每条边(u,v)∈E,有一个非负值的容量C(u,v)* 记为 G=(V,

2017-12-29 07:59:06 583

空空如也

空空如也

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

TA关注的人

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