自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

转载 洛谷P3045 [USACO12FEB]牛券Cow Coupons

题目:洛谷P3045 [USACO12FEB]牛券Cow Coupons思路:贪心假设先用完所有优惠券,则只有两种决策:以原价购买未选物品中价格最低的;以最低代价退回当前用的一张优惠券,再以优惠价购买未选物品中优惠价最低的。回退(反悔)操作可以用堆实现,具体实现:用三个小根堆h1、h2、h3,分别存储未选物品的原价及编号、未选物品的优惠价及编号、已选物品退回优惠券的代价。每次...

2019-09-14 17:59:00 287

转载 洛谷P4126 [AHOI2009]最小割

题目:洛谷P4126 [AHOI2009]最小割思路:结论题在残余网络上跑tarjan求出所有SCC,记id[u]为点u所在SCC的编号。显然有id[s]!=id[t](否则s到t有通路,能继续增广)。对于任意一条满流边(u,v),(u,v)能够出现在某个最小割集中,当且仅当id[u]!=id[v];对于任意一条满流边(u,v),(u,v)必定出现在最小割集中,当且仅当id[...

2019-08-08 21:09:00 157

转载 洛谷P4174 [NOI2006]最大获利

题目:洛谷P4174 [NOI2006]最大获利思路:最大权闭合子图模型对本题来说,可以理解为:首先我们假设所有用户的收益都可以得到,把这些收益加起来,作为初始答案。但是这些收益肯定不可能不建造中转站就全部得到,我们要么建造一些中转站,要么放弃一些用户。这些都会减少总收益,所以我们要设法让减少量最小。按下述方法建图:在中转站和它能服务的用户之间连容量为inf的边。添加超级源汇...

2019-08-08 18:52:00 124

转载 洛谷P3324 [SDOI2015]星际战争

题目:洛谷P3324 [SDOI2015]星际战争思路:类似《导弹防御塔》,因为题目保证有解,花费时间小于最终答案时一定无法消灭所有敌人,只要花费时间大于等于最终答案都可以消灭所有敌人,答案满足单调性,考虑二分答案。二分答案后,转化为判定性问题。当总时间固定,每件武器的总伤害量就确定了。于是可以按网络流建模:把武器和敌人分成两部分,从源点s向武器连边,容量为该武器可以输出的总伤害...

2019-08-08 17:17:00 114

转载 洛谷P2472 [SCOI2007]蜥蜴

题目:洛谷P2472 [SCOI2007]蜥蜴思路:好久没写网络流了,简单回顾一下思路。数据范围不大,注意到每个石柱的经过次数限制,不难想到网络流。无法离开的蜥蜴数=总蜥蜴数-可以逃离的蜥蜴数蜥蜴只能在石柱之间移动,所以本质上只需考虑不同石柱间的限制,蜥蜴相当于多个源点。套路是建立超级源点,向不同源点连边。石柱的经过次数限制是经典套路拆点为边,把每个石柱拆成入点出点,之间连一...

2019-08-08 15:38:00 110

转载 洛谷P3286 [SCOI2014]方伯伯的商场之旅

题目:洛谷P3286 [SCOI2014]方伯伯的商场之旅思路数位DPdalao说这是数位dp水题,果然是我太菜了...自己是不可能想出来的。这道题在讲课时作为例题,大概听懂了思路,简单复述一下。首先根据数据范围和部分题意,不难看出是数位dp。但是和常规的数位dp不同,我们并不知道每个数字最后的集结点。于是我们不妨钦定所有石子最后都聚在最低位(第一位)。此时的总代价记作...

2019-08-06 20:39:00 92

转载 BZOJ5259/洛谷P4747: [Cerc2017]区间

BZOJ5259/洛谷P4747: [Cerc2017]区间2019.8.5 [HZOI]NOIP模拟测试13 C.优美序列思维好题,然而当成NOIP模拟题↑真的好吗...洛谷和BZOJ都有,就不设密码了。首先,手玩样例可以发现满足条件的区间是不满足单调性的,所以二分左右端点、单调队列、双指针什么的就不可能了。然后不会了...不难看出,一段满足要求的区间[L,R],符合\(v...

2019-08-06 16:48:00 131

转载 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组

2019.8.3 [HZOI]NOIP模拟测试12 C. 分组全场比赛题解:https://pan.baidu.com/s/1eSAMuXk刚看这题觉得很难,于是数据点分治k只有1和2两种,分别讨论:k=1:根据人类直觉,不难想到一种贪心策略:从前往后扫,若扫到的数能加入当前这段就加入,否则再开一段新的。于是你就WA了...题目要求字典序最小,而我们的策略会让当前段尽可能长...

2019-08-03 17:59:00 201

转载 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色

2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色全场比赛题解:https://pan.baidu.com/s/1eSAMuXk数据结构学傻的做法:对每种颜色开动态开点线段树直接维护操作一区间查询 操作二转化为单点修改常数有点大,需要稍微卡常。正解:对每种颜色开vector存储出现位置(下标),可以发现每种颜色出现位置满足单调性,操作一直接二分找到这段区间,操...

2019-08-03 17:21:00 83

转载 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)

2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)全场比赛题解:https://pan.baidu.com/s/1eSAMuXk找规律找两个节点的lca,需要能快速根据编号求出父亲的编号。斐波那契数列:1、2、3、5、8、13、21...第10对兔子的父节点:斐波那契数列中小于10的最大项为8,所以第10对兔子的父节点为10-8=2。很容...

2019-08-03 17:11:00 100

转载 COGS 775 山海经

COGS 775 山海经思路:求最大连续子段和(不能不选),只查询,无修改。要求输出该子段的起止位置。线段树经典模型,每个节点记录权值和sum、左起最大前缀和lmax、右起最大后缀和rmax、最大子段和dat即可。要求输出起止位置,单独维护左右端点。注意权值相同要求l、r尽量小,所以相同时选左儿子不选右儿子,维护时考虑是否加等号。Code:#include <bits/...

2019-07-28 21:42:00 101

转载 P2824 [HEOI2016/TJOI2016]排序

题目:P2824 [HEOI2016/TJOI2016]排序思路:线段树专题讲的。讲过不只一次了,方法挺巧妙的。这道题并不是真的需要使用线段树来做排序。• 考虑这道题的特殊性质,发现我们只需要求最后一个元素的大小。• 由于是全排列,我们可以直接二分答案x,将排列中大于等于x的标记为1,小于x的元素标记为0,维护一颗支持区间覆盖、查询区间和的线段树。每次排序时,查询区间中0、...

2019-07-26 21:40:00 168

转载 P4930「FJ2014集训」采药人的路径

题目:P4930「FJ2014集训」采药人的路径思路:这篇不算题解,是让自己复习的,什么都没说清楚。很久没有写点分治了,以前为了赶课件学的太急,板子都没打对就照着题解写题,导致学得很不扎实。这道题差不多是在郭老师的指导下一点点凑出来的,还是没能自己完整写出一道题,惭愧。这道题大意是:给出一棵边权为0/1的树,求满足以下条件的路径总数:0的个数等于1的个数,且路径上存在一点到路径...

2019-07-26 20:36:00 106

转载 P4396 [AHOI2013]作业

题目:P4396 [AHOI2013]作业思路:方法一:暴力显然跑不过去用莫队优化一下就过了具体有两种写法:开值域树状数组维护第一问,用计数桶+值域树状数组维护第二问。每次移动和查询复杂度都是\(O(logn)\),总复杂度\(O(n\sqrt n logn)\),复杂度有点高,但这题时限宽,可以过。莫队的特点是修改多、查询少,与分块吻合。于是对值域分块开桶,每次移动指...

2019-07-26 15:28:00 104

转载 [BZOJ3064][Tyvj1518] CPU监控

题目:[BZOJ3064][Tyvj1518] CPU监控思路:线段树专题讲的。以下为讲课时的课件:给出序列,要求查询一些区间的最大值、历史最大值,支持区间加、区间修改。序列长度和操作数<=1e5。维护标记的线段树裸题。出这道题的目的就是为了让大家加强对于线段树标记下传的理解,以及线段树维护信息时分类讨论一定要明确。在确定了要写线段树后,先考虑要维护哪些标记。然后思考这...

2019-07-26 08:56:00 110

转载 洛谷P2221 [HAOI2012]高速公路

题目:P2221 [HAOI2012]高速公路思路:这道题是在线段树专题讲的,转化的思路可能自己不太容易想到,记录一下。难度集中在转化设问上面。问题可以简化成区间\([l,r-1]\)的问题,实际上就是算所有子区间的区间和然后再除\(C(len,2)\)。我们来观察这个区间和,发现直接做貌似不太好搞,于是想到了考虑每个数对区间答案的贡献,之后可以写出\(O(n)\)修改、查询的...

2019-07-25 16:53:00 87

转载 【算法】BSGS算法

BSGS算法BSGS算法用于求解关于x的模方程\(A^x\equiv B\mod P\)(P为质数),相当于求模意义下的对数。思想:由费马小定理,\(A^{p-1}\equiv 1\mod P\),在p-1次方后开始循环,所以若原方程有解,\(x_{min}\in[0,P-1]\)。设\(x=i*m+j\),有\(A^{i*m+j}\equiv B\mod P\),移项得\({(...

2019-07-23 19:53:00 321

转载 P2532 [AHOI2012]树屋阶梯

题目:P2532 [AHOI2012]树屋阶梯思路:打表之后不难看出是裸的Catalan数。简单证明一下:对于任意一种合法方案,都可以表示为在左下角先放一个\(k*(n+1-k),k\in[1,n]\)的矩形,再在矩形的上边和右边分别放\(k-1\)阶台阶和\(n-k\)阶台阶。例如下图(从luogu题解中盗的图...):在左下角先放了一个\(2*3\)的矩形,之后在矩形上边放...

2019-07-21 21:42:00 136

转载 P3200 [HNOI2009]有趣的数列

题目:P3200 [HNOI2009]有趣的数列思路:打表可以发现是裸的Catalan数,简单证明一下:假设现在有两个vector s1、s2,s1依次存奇数位的数,s2存偶数位的数。例如:s1里存的是1,2,5;s2里存的是3,4,6;表示的就是数列1,3,2,4,5,6。根据题目要求,s1、s2都是递增的,并且最后s1、s2各存n个数。所以我们的操作就是把数字1~2n依次存...

2019-07-21 17:44:00 93

转载 BZOJ3907 网格

题目:BZOJ3907: 网格思路:显然,这道题是卡特兰数经典模型的变式。假设不考虑越界限制,从(0,0)到(n,m)的总方案数为\(C_{n+m}^n\),如果能计算出其中有哪些是不合法的,二者相减即可。我们可以用一个1和-1的串记录行走的路径,记向右走为+1,向上走为-1,则一条合法路径满足串中任意位置的前缀和均不小于0。串长为n+m,其中有n个1,m个-1,所以串的总数有\...

2019-07-21 17:27:00 181

转载 洛谷P3674 小清新人渣的本愿

题意:给定序列a,长度为n,有m次操作,opt表示该次操作类型,l,r表示操作的区间,x表示这次操作的x操作1:询问一个区间,是否可以选出两个数,满足它们的差为x。操作2:询问一个区间,是否可以选出两个数,满足它们的和为x。操作3:询问一个区间,是否可以选出两个数,满足它们的乘积为x。选出的这两个数可以是同一个位置的数。定义c为每次的x和ai中的最大值,ai >= ...

2019-05-18 08:41:00 133

转载 洛谷P4135 作诗

题意:N个数,M组询问,每次问[l,r]中有多少个数出现正偶数次。(强制在线)强制在线,不能用莫队、树状数组等优雅算法,考虑暴力分块。设分块后,f[i] [j] 表示第i块到第j块的答案。于是,对于每次询问,设p为l所在块的编号,q为r所在块的编号,先查询l到r之间整块的答案,即f[p] [q]。之后对于两边的不完整的块,暴力扫每个数,记录出现次数,与这个数在第p块和第q块之间出...

2019-05-16 23:27:00 75

转载 第十四届中北大学ACM程序设计竞赛 J.ZBT的游戏

问题描述第14届中北大学程序设计竞赛来了,集训队新买了一大堆气球,气球一共有K种颜色(1<=K<=256),气球的颜色从1-K编号。ZBT童心未泯,他发明了一种摆放气球的游戏,规则如下。一排有N个桌子,每张桌子上只有一个气球插孔,即每张桌子最多只能放一个气球。编号分别为1-N(1<=N<=100000),每张桌子一开始是空的。现在对这张桌子要进行M次操作(1...

2019-05-12 21:10:00 289

转载 洛谷P1248 加工生产调度

流水作业调度问题有\(N\)个作业要在两台机器\(M_1\)和\(M_2\)组成的流水线上完成加工。每个作业\(i\)都必须先花时间\(a_i\)在\(M_1\)上加工,然后花时间\(b_i\)在\(M_2\)上加工。确定\(N\)个作业的加工顺序,使得从作业1在机器\(M_1\)上加工开始到作业\(N\)在机器\(M_2\)上加工完为止所用的总时间最短。【算法】直观上,最优调度...

2019-05-10 00:49:00 218

转载 洛谷P1736 创意吃鱼法

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

2019-03-31 20:18:00 57

转载 洛谷P3372 【模板】线段树 1

#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long ll;const int maxn=100010;int n,m;struct SegmentTree { int l,r; ll sum,...

2019-03-31 20:17:00 42

转载 洛谷P1330 封锁阳光大学

题意:给出n个点m条边的无向图 选出一些点覆盖所有边,使得选出的点互不相邻,且剩下的点互不相邻。求最少选出点数。显然,当图中出现奇环则无解。用染色法进行判定(数据较大,dfs可能栈的深度过深,可以用BFS或并查集),当起点颜色确定后,若有解,则该图一定是二分图,染色方案唯一。染成黑白两种颜色后,取两种颜色中较小的点数作为答案。注意原图可能不连通,逐一枚举起点BFS,否则只有40分.....

2019-03-31 17:21:00 78

转载 洛谷P3275 [SCOI2011]糖果

差分约束系统对于多组形如\(B-A \geq C\) 的不等式组求出一组解,其中,\(A\) 、\(B\) 为变量,\(C\) 为常数转化为\[A+C\leq B\],注意到该形式形似于SPFA松弛过程中的三角形不等式 \[dis[u]+w(u,v)\leq dis[v]\]于是,连一条\(A\)到\(B\)的长度为\(C\)的有向边。因为建出的图可能不连通,最后规定一个源点s...

2019-03-17 00:19:00 70

转载 洛谷P1262 间谍网络

题目描述由于外国间谍的大量渗入,国家安全正处于高度的危机之中。如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B。有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报。所以,如果我们能够收买一些间谍的话,我们就可能控制间谍网中的每一分子。因为一旦我们逮捕了一个间谍,他手中掌握的情报都将归我们所有,这样就有可能逮捕新的间谍,掌握新的情报。我们的反间谍机关...

2019-03-12 19:11:00 101

转载 洛谷P2746 [USACO5.3]校园网Network of Schools

题目描述一些学校连入一个电脑网络。那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”)。注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中。你要写一个程序计算,根据协议,为了让网络中所有的学校都用上新软件,必须接受新软件副本的最少学校数目(子任务 A)。更进一步,我们想要确定通过给任意一个学校发送新软件,这个软件就会分发到网络中的所有...

2019-03-12 19:09:00 98

转载 洛谷P3387 【模板】缩点

缩点Tarjan模板dfs过程的每条边x→y树枝边(在搜索树中的边,y从未访问过),那么递归处理y;low[x]=min(low[x],low[y])后向边(y被访问过,且在栈中),low[x]=min(low[x],dfn[y])横叉边(y被访问过,但不在栈中),什么也不做对不同强连通分量重新建图,新图为DAG,在新图里拓扑排序+DP求最长链 #include ...

2019-03-07 18:50:00 97

转载 POJ1734 Sightseeing trip

Floyd求最小环裸题图中不能含有负权边,否则无最小环思路:Floyd的流程相当于不断枚举中转点k进行松弛操作,那么,把点的编号按从小到大排序,枚举到第k个中转点时,从i到j以 前k-1个点 作为中转点的最短路已确定,且一定不含环(因为不含有负权边),相当于一条链,用f(i,j)表示,原图中连接i,j两点的边用a(i,j)表示,那么若\(f(i,j)+a(i,k)+a(k,j)\...

2019-02-23 18:49:00 78

转载 POJ 3613 Cow Relays

题目大意:给定起点和终点,求经过k条边的最短路思路:倍增Floyd 矩阵快速幂优化其实,虽然被称作倍增Floyd,但和Floyd关系好像并不大?按dp思想理解,设f(k,i,j)表示经过k条边从i到j的最小花费,则\(f(k,i,j)=min(f(k-1,i,p)+f(1,p,j))\)k次Floyd显然会超时,现考虑定义新运算如下:对一张有n个点的图,用n*n的邻接矩阵来...

2019-02-23 18:26:00 70

转载 洛谷P1387 最大正方形

//暴力 二维前缀和+枚举 O(N^3)#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn=105;int n,m,ans,a[maxn][maxn],sum[maxn][maxn];int main(){ ...

2019-02-17 00:18:00 73

转载 洛谷P1436 棋盘分割

二维区间DP/记忆化搜索原题是求均方差 需要用数学知识化简 转化为求最小平方和状态:f[k][x1][y1][x2][y2] 表示把左上端点为(x1,y1)、右下端点为(x2,y2)的棋盘分割成k个部分所得的最小平方和边界:当k=1时 为(x1,y1)到(x2,y2)的和的平方目标:f[n][1][1][8][8]状态转移方程复杂,DP需要四五层循环,这里采用记忆化搜索转移过...

2019-02-16 23:52:00 145

转载 POJ1011 Sticks

小木棍dfs 剪枝把所有木棍从大到小排序 优化搜索顺序(较大的木棍更不容易凑出需要的长度,使之后的剪枝更早发生)枚举可能的原始木棍长度,(注意这里不满足单调性,不能二分答案),这里可以把最长的一根现有木棍作为枚举的下界,上界为所有木棍更总长度。答案只可能为总长度的因数,在枚举过程中其他的数可直接排除。dfs过程中,若剩下还要拼的长度比第n根碎木棍(最短的那根)还短,那么一定拼...

2019-02-12 00:43:00 58

转载 POJ2663 Tri Tiling

思路:设a[i]为N=i时的方法数.i为奇数的时候肯定为0.如果i为偶数,a[i]可以看成a[i-2]加上两个单位组成的,此时多出来的2单位有3种方法.也可以看成a[i-4]加上四个单位组成的,此时这四个单位一定是连在一起的,中间不能分割,所以只有两种放法.同理,可看成a[i-6]加上六个单位组成的,此时这六个单位也连在一起,不能分割,只有两种放法.直到所有的砖块都是连在一...

2019-02-11 00:26:00 170

转载 POJ1664 放苹果

#include <iostream>#include <cstdio>#include <cstring>using namespace std;int T,n,m;int solve(int m,int n){//m个苹果 n个盘子 if(m<=1||n<=1) return 1;//边界条件 if(m&l...

2019-02-11 00:04:00 48

转载 POJ3579 Median

题意:给出N个数,对于存有每两个数的差值的序列求中位数(一共\(C_n^2\)个),如果这个序列有偶数个元素,就取中间偏小的作为中位数。思路:注意到题目中对于每两个数求差值,所有数的排列顺序不影响结果,所以可以先对数组排序。因为答案具有单调性,所以可以二分答案ans,check函数中求出差值小于等于ans的数对数量cnt,与总方案数(差值序列元素个数)的二分之一比较(中位数),...

2019-02-10 23:58:00 145

转载 洛谷P4035 [JSOI2008]球形空间产生器

思路:高斯消元把所有已知点列出 可以得到n+1个方程形如$ (a_1-A)^2 +(b_1-B)^2 + ... +(n_1-N)^2 = dis $$ (a_2-A)^2 +(b_2-B)^2 + ... +(n_2-N)^2 = dis $$ (a_3-A)^2 +(b_3-B)^2 + ... +(n_3-N)^2 = dis $...其中 dis是一个定值 即每个点...

2019-02-09 22:53:00 94

空空如也

空空如也

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

TA关注的人

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