自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 博客迁移了

欢迎访问https://ssttkkl.github.io/不加https是进不去的转载于:https://www.cnblogs.com/ssttkkl/p/7631628.html

2017-10-06 15:42:00 100

转载 【POJ2823】Sliding Window

http://poj.org/problem?id=2823题意:你有一个长度n的序列,分别询问[1,k],[2,k+1],[3,k+2],...,[n-k+1,n]这n-k+1个区间的最大值和最小值。单调队列入门题。用两个单调队列分别维护当前最大值和最小值的最优解、次优解、……K优解。每次拓展一个数就不断将队尾的劣解出队,保持队列的单调性。然后不断将队首的过气解(即距离当前...

2017-10-04 17:54:00 114

转载 【POJ3254】Corn Fields

http://poj.org/problem?id=3254题意:给你一块n*m(0<n,m<=12)的地图,其中有的方格是肥沃的(用1表示),有的方格是贫瘠的(用0表示)。现在约翰要在肥沃的土地上放奶牛,且要求不能有两个奶牛相邻,请问有多少种方案数。状压DP入门题。首先预处理每一行不考虑贫瘠地时所有可行的放置状态,用states数组存着。然后令f(i,j)为...

2017-10-03 23:52:00 115

转载 自己写的各种模板

https://1drv.ms/f/s!Alx9IMV9ks8fgYxfUNba5t1NEZ0btgOneDrive共享链接,自己准备梯子转载于:https://www.cnblogs.com/ssttkkl/p/7623569.html

2017-10-03 12:21:00 93

转载 【WF2017】Mission Improbable

http://www.lydsy.com/JudgeOnline/problem.php?id=4950对于俯视图很好解决,把所有不是0的位置拿到剩1就可以了。对于正视图与侧视图,稍微想一下也能发现只要保持每行(和每列)箱子最多的那个位置不动就可以了。但是可能存在一行有两个以上的点都是最大值,并且其中一点所在的列的最大值也和这行的最大值相等的情况。这时候只保持这一点不变,显然...

2017-09-29 19:26:00 193

转载 【Codeforces 837D】Round Subset

http://codeforces.com/contest/837/problem/D分解质因数,即第i个数的因子2的个数为c2[i],因子5的个数为c5[i],末尾零的个数就是min{Σc2[i],Σc5[i]}。联想到二维背包,显然因子5的个数一定时,因子2的个数越多越好,于是令f(i,j,k)为前i个数选j个且因子5的个数共有k个时最多因子2的个数,得状转方程f(i,j,k...

2017-09-29 19:07:00 74

转载 【Codeforces 788C】The Great Mixing

http://codeforces.com/contest/788/problem/C显然如果有两杯一样的酒,把它们当作同一杯就好了。所以k<=1e6毫无意义。若选的x杯酒的浓度分别为a,b,c,..,z,则由题意得(a+b+c+...+z)/x=n*x,整理可得(a-n)+(b-n)+(c-n)+...+(z-n)=0。于是问题就转化成了从所有ai-n中选x个数使得和...

2017-09-29 19:06:00 106

转载 【JSOI2008】最大数

https://www.luogu.org/problem/show?pid=1198之前刚学完Splay想找题练手的时候做的,写完Splay交上去了才发现这应该是线段树裸题23333Splay解法按照要求操作即可……#include <iostream>using namespace std;int m, d, t;const int inf...

2017-09-28 13:20:00 71

转载 【tyvj P4879】骰子游戏

http://www.tyvj.cn/p/4879首先,投一个骰子,每个数字出现的概率都是一样的。也就是不算小A的话,n个人投出x个骰子需要的次数和点数无关。计数问题考虑dp,令f(i,j)为前i个人投j个同点数的骰子的方案数,容易得f(i,j)=sum{f(i-1,j-k)*f(1,k) | 0<=k<=m}.边界是f(1,j),具体是什么值呢?一个人投m个骰子...

2017-09-27 20:55:00 91

转载 Codeforces Round #436 (Div. 2)

http://codeforces.com/contest/864第一次打cf的月赛……A题意:给你一个数列,问你能不能保证里面只有两种数且个数相等。2<=n<=100,1<=ai<=100。水……没看完题就交了结果YES的时候还要输出这两种数是什么,然后就+1了……#include <iostream>#define ma...

2017-09-27 20:01:00 79

转载 【NOIP2012提高组】借教室

90分暴力解法:用线段树,初始值为该天的教室数,每个人来申请的时候在这段区间减去借走的数,然后查询最小值是否小于0,是就输出-1,否则继续。(其实在vijos是可以直接A的,他们的评测机太快了)#include <iostream>#define maxn 1000005using namespace std;void scan(int &...

2017-09-22 20:24:00 75

转载 【tyvj P4868】天天和不可描述

http://www.tyvj.cn/p/4868超级水的题,用递归来模拟,用链表保存这层的内容,每遇到一个左括号就递归一层并合并返回的链表,遇到右括号后返回。递归进入下一层时传递个参数标记读取新字符是加载链表头还是链表尾就好了。(之前合并两个链表的时候不小心用成insert慢成傻逼,后来才发现insert是拷贝元素,splice才是合并元素)#include &lt...

2017-09-21 19:13:00 67

转载 【NOIP2015提高组】子串

https://daniu.luogu.org/problem/show?pid=2679看到方案数问题直觉就能想到DP,考虑用f(i,j,k)表示A[1...i]取k个子串组成B[1...j]的方案数,发现很难转移,因为不知道之前的方案哪些是还能拼接到结尾的,产生了前效性。考虑加一维,即A[1...i]取k个子串组成B[1...j],且末尾子串还可以继续拼接的方案数为:f(...

2017-09-21 18:25:00 113

转载 【hdu3367】Pseudoforest(伪森林)

http://acm.hdu.edu.cn/showproblem.php?pid=3367题目大意伪森林就是一个无向图,这个无向图有多个连通块且每个连通块只有一个简单环。给你一个无向图,让你找这个图的一个最大生成伪森林(即边权之和最大)。题解考虑到用Kruscal算法搞最大生成树时,每次加入一条边之前都必须保证边的这两点在之前属于两个连通块,就是为了防止出现环。...

2017-09-20 21:40:00 180

转载 NOIP

2016D1玩具谜题天天爱跑步换教室D2组合数问题蚯蚓愤怒的小鸟2015D1神奇的幻方信息传递斗地主D2跳石头子串运输计划2014D1生活大爆炸版石头剪刀布联合权值飞扬的小鸟D2无线网络发射器选址寻找道路解方程2013D1转圈游戏火柴排队货车运输...

2017-09-20 19:19:00 61

转载 【NOIP2015提高组】信息传递

https://www.luogu.org/problem/show?pid=2661傻逼图论题,把我写成傻逼了。DFS找环,每个结点第二次访问时更新答案。但是图会有几个连通块,所以要分开讨论。#include <iostream>#include <cstring>#include <cmath>#define max...

2017-09-20 19:11:00 77

转载 【NOIP2012提高组】同余方程

https://www.luogu.org/problem/show?pid=1082方程可化为ax+by=1。用扩展欧几里得算法得到ax'+by'=gcd(a,b)的一组解后,可得x=x'/gcd(a,b)。由于x要在[0,b)范围,故最终答案为(x+b)%b。#include <iostream>using namespace std;long...

2017-09-20 00:11:00 216

转载 【NOI2004】郁闷的出纳员

https://daniu.luogu.org/problem/show?pid=1486由于每次调工资都是对全体员工,所以可以用一个标记来记录全体员工的工资偏移值。每次下调工资都有可能造成有员工的工资低于下界,这时需要将他们一起移除。可以用Splay来维护员工工资的集合。#include <iostream>using namespace std;n...

2017-09-16 18:41:00 66

转载 【HNOI2002】营业额统计

https://www.luogu.org/problem/show?pid=2234用Treap维护,每次查询这个数的前驱与后继哪个和它差值更小。由于查询一个数时在Treap走出的路径必定经过它的前驱与后继,故直接在走的过程统计答案就可以了。#include <iostream>#include <cmath>#include <c...

2017-09-16 17:56:00 62

转载 【luogu P1396】营救

https://www.luogu.org/problem/show?pid=1396弱化版的货车运输,用并查集维护连通块,将边按权值升序排序后依次插入直到两点连通,最后插入的边的权值就是最小的拥挤度最大值。#include <iostream>#include <vector>#include <algorithm>#defi...

2017-09-16 17:35:00 84

转载 【luogu P1471】方差

https://www.luogu.org/problem/show?pid=1471一眼就能看出是线段树/树状数组题目了。求平均不用说,线段树/树状数组维护区间和即可。方差怎么求?先变换下方差公式:可以看到区间的方差可以由区间内每个数的和与每个数的平方的和得来,用一棵线段树维护这两个东西就好了,好像写不了标记永久化。当然写两棵普通的线段树/树状数组分别维护这两个...

2017-09-16 17:24:00 100

转载 【NOIP2013提高组】货车运输

https://www.luogu.org/problem/show?pid=1967思考一下,将图的所有边按边权从大到小依次加入图,则当u与v第一次连通时,刚加入的边就是使u与v两点的路径中的最小边最大的边。将图的所有边按边权从大到小依次加入图?这不就是Kruscal算法最大生成树吗!所以我们只需要对原图求最大生成树,对于每个询问求两点的路径上的最小边就可以了。虽然可以用树...

2017-09-16 17:14:00 98

转载 【NOIP2013提高组】火柴排队

https://www.luogu.org/problem/show?pid=1966Σ(ai-bi)2=Σai2+Σbi2-2Σai*bi,要使Σ(ai-bi)2最小,则需2Σai*bi最大。由排序不等式可知两列数字里第一大与第一大对应,第二大与第二大对应,……,第k大与第k大对应,……,第n大与第n大对应时,Σai*bi最大。故先将第一列每个数字映射到第二列排名相同的数字...

2017-09-16 16:59:00 69

转载 【NOIP2015提高组】跳石头

https://www.luogu.org/problem/show?pid=2678最小值最大问题,二分答案。每次检查是否能仅移走m块岩石使得所有跳跃距离均大于等于mid。#include <iostream>#include <list>#define maxn 50005const int inf = 0x7fffffff;usi...

2017-09-16 16:25:00 116

转载 【luogu P1613】跑路

https://www.luogu.org/problem/show?pid=1613看到2k就能想到倍增。用一个数组avai[i][j][k]表示点i与点j是否存在长2k的路径,则可以递推出avai[i][j][k]=any{avai[i][v][k-1]&avai[v][j][k-1]},初始值avai[i][i][0]=true。如果avai[i][j][k]==tru...

2017-09-16 16:22:00 79

转载 【luogu P2002】消息扩散

https://www.luogu.org/problem/show?pid=2002SCC缩点的模板题,缩点后统计入度为0的点的数量就完了。#include <iostream>#include <vector>#include <stack>#include <cstring>#define maxn 100...

2017-09-16 15:09:00 91

转载 【luogu P1186】玛丽卡

https://www.luogu.org/problem/show?pid=1186考虑暴力,枚举图上每一条边删去后跑Dijkstra,取M次的最大值。仔细想想就会发现删除最短路以外的边对最短路毫无影响,于是先跑出最短路,然后枚举最短路上的每一条边删去后跑Dijkstra,取这几次的最大值。#include <iostream>#include <...

2017-09-16 15:06:00 60

转载 【NOIP2009提高组】最优贸易

https://www.luogu.org/problem/show?pid=1073如果他想在i点卖出,那么就要在从1点出发到i点的路径里找个最便宜的买入,用Bellman-Ford求出这样最便宜的买入价记为minp[i]。他能获得的利润就是price[i]-minp[i]。但是并不是可以在所有的点都可以卖出,因为他最终要走到N,所以只有在和N联通的点才能卖出。用从N点出发倒着...

2017-09-16 15:02:00 110

转载 【NOIP2016提高组】换教室

https://www.luogu.org/problem/show?pid=1850题面很长,实质很水的一道期望DP题。题面自带劝退效果。首先用Floyd算出任意两点的最短路径。然后设f(i,j,0)为前i节课申请更换j节,且不申请第i节时的最小期望;设f(i,j,1)前i节课申请更换j节,且申请第i节时的最小期望。可得下面这个超长的状转方程:f(i,j,0)=min{ ...

2017-09-16 11:39:00 86

转载 【NOIP2015提高组】运输计划

https://daniu.luogu.org/problem/show?pid=2680使完成所有运输计划的时间最短,也就是使时间最长的运输计划耗时最短。最大值最小问题考虑用二分答案,每次check(mid)检查时间最长的运输计划耗时是否小于等于mid,二分出使得check(mid)==true的最小mid值。check函数怎么写是本题的难点。耗时小于mid的运输计划不会影响c...

2017-09-16 11:22:00 164

转载 【NOIP2016提高组】蚯蚓

https://www.luogu.org/problem/show?pid=2827首先考虑暴力:每次都是拿最长的蚯蚓,容易想到用堆。每次除拿出来的以外所有的蚯蚓都增长,容易想到用一个懒惰标记来记录所有的蚯蚓增长了多少。取最大的元素出来后加上标记的值,放元素进去的时候减去标记的值。这时已经可以骗到60分了。假设某一次取出来的元素长度为x,当前标记的值为inc,切完以后放进去的就...

2017-09-16 10:44:00 143

转载 【NOIP2014提高组】寻找道路

https://www.luogu.org/problem/show?pid=2296满足条件的路径:路径上的所有点的出边所指向的点都与终点连通。反过来,不满足条件的路径:路径上至少一点的出边所指向的点不与终点连通。考虑把所有与终点不连通的点以及指向他们的点都删掉,再一遍BFS求出最短路径。具体做法:对原图的转置图(将所有边的方向翻转得到的图)从终点开始一遍搜索,把传达不到...

2017-09-16 10:17:00 111

转载 【NOIP2014提高组】解方程

https://www.luogu.org/problem/show?pid=2312对于30%的数据,n<=2,暴力带入试解。对于50%的数据,ai很大,结合高精乘法和霍纳算法暴力代入试解。高精乘法,时间复杂度是很恐怖的而且我不懂写。注意到虽然ai很大,但是m还是在int范围内的。继续考虑暴力试解。考虑到0 mod k=0 (k∈N*),那么当f(x)=0时,f(...

2017-09-15 22:34:00 52

转载 【NOIP2014提高组】飞扬的小鸟

https://www.luogu.org/problem/show?pid=1941从某一点开始飞直到飞出地图最少点击屏幕的次数,显然只和该点的坐标唯一相关,没有后效性,考虑用DP解。令f(i,j)为从点(i,j)飞出地图最少点击次数。得状态转移方程:f(i,j)=min{f(i-1,j-k*x[i-1]+k), f(i-1,j+y[i-1])}其实就是完全背包和01背包的结合。时...

2017-09-15 22:26:00 179

转载 【NOIP2014提高组】联合权值

https://www.luogu.org/problem/show?pid=1351既然是一棵树,就先转化成有根树。有根树上距离为2的点对,路径可能长下面这样:枚举路径上的中间点X。第一种情况对于点X(X的儿子数≥2),它的每一个儿子i与其他的儿子对权值和的贡献为Wi*(sum-Wi),则这个点所有儿子之间对权值和的贡献为:∑Wi*(sum-Wi),其中sum...

2017-09-15 22:14:00 106

转载 【NOIP2016提高组】愤怒的小鸟

https://www.luogu.org/problem/show?pid=2831BFS看到N这么小就可以想到搜索,求最少步数显然应该用BFS。在这题中过两猪可以唯一确定一条抛物线,每一步可以发射两只猪确定的一条抛物线(打下这条抛物线上的所有猪),也可以发射一条只经过一只猪的抛物线(只打下这只猪)。这时可以想到状压存储每个状态,并且读入所有猪时预处理一下每两只猪确定的...

2017-07-06 00:17:00 108

转载 【NOI2015】程序自动分析

https://www.luogu.org/problem/show?pid=1955并查集+离散化。先执行所有x=y问题,即合并x和y。再依次执行所有x!=y问题,即查询x和y是否处于同一集合。如果是,则有x=y且x!=y,不满足条件。如果所有的x!=y都得到满足,这组数据就可以满足。注意到i,j范围为[1,1e9],并查集数组开不了这么大的范围。又注...

2017-07-02 13:15:00 50

转载 【NOI2015】软件包管理器

https://daniu.luogu.org/problem/show?pid=2146树剖裸题。树上(指题目给的树)每个结点有安装和未安装两种状态,对应计数1和0。树链剖分到线段树后,维护计数的和。安装操作即把节点x到根的路径上所有节点的计数改为1,统计更改了多少节点并输出。删除操作即把节点x及它的所有后代节点计数改为0,统计更改了多少节点并输出。#incl...

2017-07-02 11:57:00 58

转载 【NOI2005】维护数列

https://daniu.luogu.org/problem/show?pid=2042一道伸展树维护数列的很悲伤的题目,共要维护两个标记和两个数列信息,为了维护MAX-SUM还要维护从左端开始的数列的最大和及到右端结束的数列的最大和。按照伸展树的套路,给数列左右两边加上不存在的边界节点,给每个子树的空儿子指向哨兵节点。维护最大子数列和题目说的子数列其实要求至少包含一个...

2017-07-02 11:15:00 56

转载 【NOIP2003提高组】加分二叉树

https://www.luogu.org/problem/show?pid=1040令f(i,j)表示[i,j]的二叉树中最高的分数。枚举k为根,状转方程:f(i,j)=max{f(i,k-1)*f(k+1,j)+num[k]} (i<=k<=j)做决策的时候保存最优解的根,然后模拟前序遍历递归打印。#include <iostream>...

2017-06-25 23:06:00 90

空空如也

空空如也

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

TA关注的人

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