- 博客(78)
- 收藏
- 关注
转载 P1776 宝物筛选_NOI导刊2010提高(02)
题目描述终于,破解了千年的难题。小FF找到了王室的宝物室,里面堆满了无数价值连城的宝物……这下小FF可发财了,嘎嘎。但是这里的宝物实在是太多了,小FF的采集车似乎装不下那么多宝物。看来小FF只能含泪舍弃其中的一部分宝物了……小FF对洞穴里的宝物进行了整理,他发现每样宝物都有一件或者多件。他粗略估算了下每样宝物的价值,之后开始了宝物筛选工作:小FF有一个最大载重为W的采集车,洞穴里...
2019-09-19 14:21:00
200
转载 割点和桥
一,一些基本概念点双联通:在无向图中如果存在两个节点u,v连通,无论删去哪条边都不能使u,v不连通,则称u,v边双联通。边双联通:在无向图中如果存在两个节点u,v连通,无论删去那个点都不能使u,v不连通,则称u,v点双联通。割点:删去该点,图分裂为多个联通块。割边(桥):删去该边,图分裂为多个联通块。二,割点的求法法一:可以假装割掉每个点,然后dfs...
2019-09-08 17:31:00
237
转载 数位DP
问题:求某个区间[L,R]中满足某种限制条件的数的个数。暴力的思路:我们可以枚举[L,R]区间内部所有的数,依次判断每个数是否合法,若合法,就记下。显然,如果数据范围较大,达到1018甚至更大的级别的时候,这种暴力的算法无论时间还是空间都无法解决此类问题,所以我们引入数位DP。所谓数位DP,就是换一种枚举的方式,这种枚举的方式是基于数位(个位,百位,千位...)进行的,与...
2019-08-30 00:16:00
210
转载 洛谷P3183 [HAOI2016]食物链
题目描述如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数。物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3......am-1 bm-1am bm其中ai bi表示能量从物种ai流向物种bi,注意单独的一种孤立生物不算一条食物链。输入格式第一行两个整数n和m,接下来m行每行两个整数...
2019-08-29 21:33:00
234
转载 DAG上的DP
拓扑图 dp 通常是在拓扑图上求关于 所有路径的某种信息之和 。当然这里的“和”的运算法则可以是加法或是取 max 和 min 。或者其他定义的运算。按拓扑序 沿着有向边 转移就可以了。update:经历了蓝屏未保存后的重写(嘤嘤嘤)DAG上的dp是动态规划的基础,动态规划的本质就是一个DAG,状态性相当于DAG上的点,有向边相当于DAG的转移。许许多多动态规划问题都能建...
2019-08-29 20:52:00
630
转载 KMP算法
KMP算法是一种高效的字符串匹配算法。KMP算法的特点是给定一个主串,给定一个匹配串,问匹配串在主串中出现的次数,匹配串在主串中出现的位置等。首先我们先看一种暴力的方法——按位对比,若匹配失败从头再来。我们用两个指针,一个指针i指在主串,一个指针j指在匹配串,如果s1[i+1]!=s2[j+1],根据暴力的思想就从头开始匹配,i=匹配开头+1,j=1;显然这么不优,这...
2019-08-29 19:22:00
157
转载 字符串Hash
字符串Hash用于判断两个字符串是否相同。字符串Hash的哈希函数构造:设长度为m的字符串c为H(c)H(c)=(c1*basem-1+c2*basem-2+...+cm*basem-m)%mod;其中c一般取1-26或1-52;base取自己喜欢的质数,比如131;mod取2147583647或者我们可以使用unsigned long longunsigned l...
2019-08-29 17:31:00
87
转载 洛谷P1807 最长路_NOI导刊2010提高(07)
题目描述设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j。设w(i,j)为边的长度,请设计算法,计算图G中<1,n>间的最长路径。输入格式输入文件longest.in的第一行有两个整数n和m,表示有n个顶点和m条边,接下来m行中每行输入3个整数a,b,v(表示从a点到b点有条边,边的长度为v)。输出...
2019-08-29 01:26:00
96
转载 洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom
Description求图中大于1的强连通分量的个数Input第一行 n个顶点 条边2-2+m-1行 每条有向边的起点终点Output个数题解:tarjan缩点求强连通分量,最后统计一下大于一的强连通分量的个数。 1 #include<cstdio> 2 #include<iostream> 3 #include&...
2019-08-29 00:23:00
106
转载 洛谷P2071 座位安排
题目背景公元二零一四年四月十七日,小明参加了省赛,在一路上,他遇到了许多问题,请你帮他解决。题目描述已知车上有N排座位,有N*2个人参加省赛,每排座位只能坐两人,且每个人都有自己想坐的排数,问最多使多少人坐到自己想坐的位置。输入格式第一行,一个正整数N。第二行至第N*2+1行,每行两个正整数Si1,Si2,为每个人想坐的排数。输出格式...
2019-08-28 11:16:00
146
转载 二分图最大匹配,匈牙利算法
关于二分图匹配的一些知识:匹配:选取一些边,使得任意两条边没有公共点(每个点至多属于一条边)最大匹配:选取边数尽可能多完美匹配:所有点都在匹配中(每个点恰好属于一条边)匹配边:选中的边非匹配边:没有选中的边匹配点:和选中边相连的点非匹配点:和选中边不相连的点匈牙利算法:匈牙利算法的算法核心是寻找增广路径,每找到一条增广路径都能使答案加一。增广路径:可以用1,3,5...
2019-08-28 11:03:00
72
转载 差分约束系统
差分约束系统是一种特殊的不等式组,它包含N个变量x1......xn,以及M组限制条件,每组限制条件都是由两个变量作差小于一个常数组成的,形如X1-X2<=Ck(其中Ck为常数)。这类问题我们可以建一个有向图用最短路来解决。对于X1-X2<=Ck我们只需要从点1向点2连一条有向边,边权为Ck,从任一点开始跑最短路,如果不存在负环,那么单源最短路的解即为原题的一组解...
2019-08-26 19:11:00
92
转载 二分图判定
一,二分图的定义首先,二分图是一个图,这个图的特殊点在于这个图的点可以分成两个集合,并且这个图只在两个集合间有连边,二分图内部没有连边。二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B)并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图...
2019-08-25 20:49:00
324
转载 倍增求LCA
倍增求LCA一,首先回顾一下什么是倍增算法,倍增算法就是改善一下一步一步跳的缓慢,改为跳2^k 步从而达到加快速度的目的,倍增算法一般要先预处理一个数组,代表从从某个点开始跳2^k 个数到达哪里,比如ST表的ST[i][j]代表从第i个数向后2^j 个数,树上倍增求LCA的f[i][j]表示i的第2^j 个祖先是谁。二,最近公共祖先LCA概念篇1,祖先:与x处于同一条重链且深度小于点...
2019-08-25 17:42:00
101
转载 洛谷P2024 [NOI2001]食物链
题目描述动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B吃 C,C 吃 A。现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是“1 X Y”,表示 X 和 Y 是同类。第二种说法是“2 X Y”...
2019-08-25 11:09:00
157
转载 洛谷P1525 [NOIP2010]关押罪犯
题目描述SS城现有两座监狱,一共关押着NN名罪犯,编号分别为1-N1−N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为cc的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为cc的冲突事件。每年年末,...
2019-08-25 11:06:00
104
转载 洛谷P1197 [JSOI2008]星球大战
题目描述很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道...
2019-08-25 10:59:00
135
转载 洛谷P1551 亲戚
题目背景若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。题目描述规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入格式第一行:三个整数n,m,p,(n<=5000,m<=5000,p<...
2019-08-25 10:53:00
105
转载 BZOJ1113: [Poi2008]海报PLA
DescriptionN个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们.Input第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的长与宽.其值在[1,1000000000]2 1/2 PosteringOutput最少数量的海报数.题解:先假设一共盖住一个矩形需要一张海报,那么需要n张海...
2019-08-23 11:57:00
129
转载 单调栈
1,何为单调栈顾名思义就是一个栈内元素满足单调性的栈,分为单调增栈与单调减栈。2,怎样维护一个单调栈(1)当新元素在单调性上优于栈顶时(单增栈新元素比栈顶大,单减栈新元素比栈顶小),压栈,栈深+1;(2)当新元素在单调性与栈顶相同(新元素于栈顶相同)或劣于栈顶时(单增栈新元素比栈顶小,单减栈新元素比栈顶大),弹栈,栈深-1;3,单调栈的实现还是以单调增栈为例。...
2019-08-23 11:52:00
64
转载 洛谷P1233 木棍加工
题目描述一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的。棍子可以被一台机器一个接一个地加工。机器处理一根棍子之前需要准备时间。准备时间是这样定义的:第一根棍子的准备时间为1分钟;如果刚处理完长度为L,宽度为W的棍子,那么如果下一个棍子长度为Li,宽度为Wi,并且满足L>=Li,W>=Wi,这个棍子就不需要准备时间,否则需要1分钟的准备时间;计算处理完...
2019-08-22 15:25:00
178
转载 洛谷P1091 合唱队形
题解:要让出去的人最少,我们很容易会想到让留下的人更多。要让队列单调的不等关系,我们很容易就想到了最长上升子序列。问题是找到转折点,所以我们就做一遍最长上升子序列,再做一遍最长下降子序列,然后枚举每个点当转折点的答案大小即为留在队伍里最多的人,用总人数减去即为答案。 1 #include<cstdio> 2 #include<iostre...
2019-08-22 11:24:00
79
转载 洛谷P1020 导弹拦截
题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是\le 50000≤50000的正整数),计算这套系统最多...
2019-08-22 11:14:00
159
转载 Diworth定理
一个序列中下降子序列的最少划分数个数等于最长上升子序列的长度。一个序列中上升子序列的最少划分数个数等于最长下降子序列的长度。每句中的前后两者互为偏序关系。转载于:https://www.cnblogs.com/Hoyoak/p/11392865.html...
2019-08-22 10:28:00
691
转载 线性动态规划
动态规划入门动态规划是一种策略,之前也写过好几篇入门的文章,但都觉得不太深刻,最近做了不少背包dp觉得又有了些新的体会,想整理一下。动态规划是一种多阶段决策策略,什么是多阶段,就是原问题被划分成了若干个子问题,这些子问题的类型与原问题类似,只是规模更小,对于每个子问题的决策叫做多阶段决策。动态规划满足最优子结构和无后效性,什么是最优子结构,动态规划的决策一般都依赖于以...
2019-08-21 11:13:00
126
转载 整除理论
整除也是一片新天地呢qwq整除的定义:设n为非负整数,d为正整数,如果n/d为整数。则称d整除n,记作d|n。任何正整数都整除0。约数:设n为非负整数,d为正整数,如果存在d|n,则称d为n的约数。最大公约数(GCD):设a为正整数,b为正整数,a和b的所有约数中,相同且最大的那个称为a,b的最大公约数,记作gcd(a,b)。最大公约数的性质:...
2019-08-21 05:11:00
781
转载 洛谷P1440 求m区间内的最小值
题目描述一个含有n项的数列(n<=2000000),求出每一项前的m个数到它这个区间内的最小值。若前面的数不足m项则从第1个数开始,若前面没有数则输出0。输入格式第一行两个数n,m。第二行,n个正整数,为所给定的数列。输出格式n行,第i行的一个数ai,为所求序列中第i个数前m个数的最小值。题解:单调队列队首维护区间最值即可,注意...
2019-08-20 23:09:00
156
转载 洛谷 P1865 A % B Problem
题目描述区间质数个数输入格式一行两个整数 询问次数n,范围m接下来n行,每行两个整数 l,r 表示区间输出格式对于每次询问输出个数 t,如l或r∉[1,m]输出 Crossing the line题解:先预处理出区间质数个数,然后利用前缀和思想输出即可。 1 #include<cstdio> 2 #includ...
2019-08-20 22:36:00
99
转载 CF776B Sherlock and his girlfriend
DescriptionSherlock has a new girlfriend (so unlike him!). Valentine's day is coming and he wants to gift her some jewelry.He boughtnpieces of jewelry. Thei-th piece has price equal toi...
2019-08-20 20:41:00
299
转载 POJ2262 Goldbach's Conjecture
DescriptionIn 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the following conjecture:Every even number greater than 4 can bewrit...
2019-08-20 19:02:00
108
转载 BZOJ1607: [Usaco2008 Dec]Patting Heads 轻拍牛头(筛法思想)
Description今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶牛相邻.N号奶牛与1号奶牛相邻.农夫约翰用很多纸条装满了一个桶,每一张包含了一个独一无二的1到1,000,000的数字.接着每一头奶牛i从柄中取出一张纸条Ai.每头奶牛轮...
2019-08-20 18:30:00
192
转载 质数合数相关
OI中质数也是一片神奇的天地QAQ质数:设p≠0/1,如果p除了1和p以外,没有其它的约数,那我们称p为质数。合数:设p≠0/1,如果p除了1和p以外,有其它的约数,那我们称p为合数。注意:0和1既不是质数也不是合数。质数的分布定理:我们设π(x)为不大于x的质数的个数,π(x)≈x/Inx;(调和级数)在OI中我们常常要判断一个数是不是质数,或是一个区...
2019-08-20 11:39:00
157
转载 快速幂
在OI中,我们有时需要快速算出ab,那么怎么算呢,循环乘吗,显然,当a和b都很大时,这种算法十分的耗时,因此我么引入一个简单的数学知识——快速幂。让我们先引入一个问题:给定a,b,k,要求快速求出ab%的值。快速幂就是适用于这种问题的一个方法,其主要运用了分治的思想,试想ab难求,那么我们为什么不先算出ab/2呢,显然,ab=ab/2*ab/2,这样我...
2019-08-20 10:05:00
85
转载 图上求最小环
最近做了道水题题,信息传递,题目要求就是求出有向图的最小环。做完乍一看题解有好多好多种办法,在此整理一下。我对于这道题的做法是:由于每个点最多连出一条边,所以可能存在两个环相连的情况,所以对于入度为0的点删掉就好,然后不断删不断删,直到删到图上仅有环,就一个一个求一求环的大小,取最小的那一个。 1 #include<cstdio> 2 #inclu...
2019-08-19 22:53:00
200
转载 洛谷P2370 yyy2015c01的U盘
点击跳转了解题意题解:分析一下这道题,发现价值并不是最重要的(因为只要过p就可以嘛),重要的是,最小的接口。所以应用贪心策略,我们应该优先装接口(大小)小的,然后每次装完判断一下,当前价值是否超过了p,如果超过了p,这就是最小的最大接口,如果所有的物品都装过,仍没有到达p,就无解。方法:贪心+01背包 1 #include<cstdio> 2 #i...
2019-08-19 20:10:00
190
转载 洛谷P2725 邮票 Stamps
点击跳转了解题意题解:看了第一眼以为搜一下就能过,结果写了个爆搜穷举所有邮票加法的排列,果不其然挂了就47。再仔细一看,其实看了标签这很像多重背包枚举件数,果不其然又错了,最后才发现是个完全背包,(其实看了题解)状态记下能凑成的数,就是包的大小,最大的包可以用数据范围算出来,然后值记录的是能凑出这个值用的邮票数,每次更新的是如果能用更小的邮票数凑出这个数,显然更优。...
2019-08-19 19:12:00
159
转载 洛谷P1833 樱花
点击跳转了解题意题解:很清晰看到樱花树可以看得次数有三种,一次,多次,无数次,很显然这是一道混合背包的裸题,要用到二进制优化。 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 6 usin...
2019-08-19 09:32:00
172
转载 洛谷P1853 投资的最大效益
点击跳转了解题意很明显的完全背包问题,对于每年之后的最大收益,更新一下总资产,再做完全背包,直到第n年为止。 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 6 using namespa...
2019-08-19 08:53:00
153
转载 洛谷P1504 积木城堡
点击跳转了解题意题解:背包方案总数问题,就对于每一个城堡,都跑一个01背包,看看哪些高度能搭成,最后从高到低枚举检验高度若某个高度合法输出即可,注意代码实现,有的写法可能爆数组,有的写法可能爆longlong,可惜,我都试过了,血与泪啊。 1 #include<cstdio> 2 #include<iostream> 3 #include&...
2019-08-18 22:51:00
289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人