自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

辗转山河弋流歌

暂停更新和答疑

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

原创 【HDU3341】AC自动机状态压缩DP,或者说hash枚举DP,-------出题人卡常数都是狗!!!!!

题意:给若干种个串,再给个主串,然后把主串打乱顺序,使得包含子串尽量多(一种可以有多个,两个之间可以部分重叠)。如第一组数据,ACGT,包含AC、CG、GT,三个,输出3。第二组数据A1A2A3,包含A1A2和A2A3两个“AA”,答案为2。其实我并没有AC。我被卡常数TLE了。。。实在不想写这种没意义的东西了。贴代码,待填坑。#include #include #

2014-11-26 18:04:43 1667

原创 【BZOJ2049】【SDOI2008】Cave 洞穴勘测 LCT裸题 模版题 数组版

数组,至少目前我只写数组,不写指针。LCT这种东西我不打算讲或者什么乱七八糟的,反正这一篇是自用。同样,看这篇博客的人可以先去别的地方学LCT,然后来我这扒代码。代码:#include #include #include #include #define ls son[x][0]#define rs son[x][1]#define is(x) (x==

2014-11-25 15:48:58 1478

原创 【BZOJ2464】【中山市选2009】小明的游戏 最短路水过

题解:最短路pqspfa200ms,一眼题,另一种想出来没写的做法:二分答案,上界n+m时间复杂度O(n*m*log(n+m)),二分+深搜看能不能找到t最短路代码:#include #include #include #include #define N 505#define NN 251000#define inf 0x3f3f3f3fusing

2014-11-25 10:19:34 1767

原创 【BZOJ1036】【ZJOI2008】树的统计Count 树链剖分裸题

题解:裸的,没什么好说的。树链剖分不会的先理解一下重链轻链,然后直接扒我代码理解就行了。贴代码:#include #include #include #include #define N 30100#define inf 0x3f3f3f3fusing namespace std;struct KSD{ int u,v,next;}e[N<<1];int head

2014-11-24 19:47:40 1179

原创 【BZOJ2243】【SDOI2011】染色 树链剖分

题解:线段树节点维护区间最左边的颜色,最右边颜色,总段,然后查询时加入所有链的段数,然后根据颜色判断哪俩链多算了一段。大水题。本来以为20min思路清晰地打完一发180行代码很屌。……俩小错误。(没有任何可以借鉴的价值)一个是EDIT(note一个是有一个地方忘了pushdown了。写了好久,调了好久,拍了好久,WA了好久。什么 状态啊。给代码、数据生成

2014-11-24 16:39:27 1405

原创 【POJ3237】Tree 树链剖分

题意:change,把第i条边权值改成vnegate,把a到b路径上所有权值取相反数(*(-1))query,询问a到b路径上所有权值的最大值树链剖分。以前一直不会,但是我恶补LCT了,所以先学一下。对于现在的水平来说,树剖太水了,自己翻资料吧,我只提供一个还算不错的代码。扒代码的时候可以用我的这个。附rand和pai。代码:#inc

2014-11-24 10:46:01 1110

原创 East!模拟赛 Round 1 题目,题解在上三篇博客。

一. 题目概况中文题目名称命星残陨云夕焱辰冥域血蛊英文题目名称ABC可执行文件名ABC输入文件名A.inB.inC.in输出文件名A.out

2014-11-22 10:32:05 1179

原创 【East!模拟赛】【Round1】【BZOJ1017】魔兽地图Dotr 树形DP

题意不多说。曰:    呃,首先显然这是一个树形DP。    然后我不会什么高大上的算法,我只能提供一种非常慢,但是能在BZ切的算法(因为是总时限并且还有O2)。题解:    不需要新建树,这个树就行。    首先这道题一眼就能想到树形背包。。但是树形背包怎么做呢?    因为需要合成,所以这里的状态F[i][j][k]并不是i节点有j个花费为k时的最大收益,而是i节点

2014-11-22 09:54:08 1720

原创 【East!模拟赛】【Round1】【BZOJ2324】营救皮卡丘 有下界的费用流

题意:不多说了。题解:begin    首先想到:我们要强制走过那些下界。    怎么强制呢?我们把费用赋为-inf!!看他走不走!    然后费用的初值就需要把这些扣掉的inf加回来。end.贴代码:#include #include #include #include #include #define N 500#define M 20100

2014-11-22 09:51:07 2670 1

原创 【East!模拟赛】【Round1】【codeforces455B】题解。

A:codeforces Round#260 div1 B [a lot of games].题解:俩人玩游戏,有若干个字符串,每一轮都是俩人轮流念一个字母,使得当前的这些字母是其中一个字符串或者其前缀,即在字典树上走,每人走一步,走不了的人输,然后有m轮,每轮输的下一轮先手,问最后一轮谁赢?题解:    显然这是一道博弈题,但是如果我们单纯地计算每一局是先手赢还是后手赢,那就要跪了。

2014-11-22 09:17:10 1402

原创 【BZOJ1056/BZOJ1862】【ZJOI2006】【HAOI2008】游戏排名系统 splay

题意:自己看。题解:splay。注意:…………………………我特么在?+数字时只读了一位,导致什么?11啊,?10啊全读成了1。今天狠下心来写拍子,才,发,现,我就是个大沙茶!先附随机数生成器,这个比较挫,能生成的数据范围比较小。#include #include #include #include #define N 50#define M 12us

2014-11-16 09:06:00 1529

原创 【POJ3272】Cow Traffic 拓扑DP

题意:给一个有向图,边严格由编号小的点到编号大的点,现在计数所有的极大路径,求每条边遍历次数的最大值。题解:正着扫一遍,倒着扫一遍,dp值相乘。#include #include #include #define N 5050#define M 50500using namespace std;struct KSD{ int v,next; long long cnt;

2014-11-07 16:42:20 1354

原创 【POJ1905】Expanding Rods 二分答案+推公式

题意:    给出L,n,c,通过公式可以得到L’。    然后L是弦长,L’是弧长,从圆心向该弦做垂线,若长为d,求半径-d。题解:    二分答案。    首先弧长通过圆心角和半径是可以计算的,那么我们可以二分答案(r-d)。    然后有(r-mid)^2+(L/2)^2=r*r,通过这个可以O(1)算出r。    这样就可以通过 弧长=(圆心角/360°)*2π

2014-11-07 09:50:33 1184

原创 【POJ3258】River Hopscotch 二分答案,贪心check

题意:第一行knm,有n+2个石头在数轴上(k是第n+2个石头离第一个的距离),要删掉m个,使两两间距的最小值最大,并求这个值。题解:排序一下,然后扫一遍贪心决定删哪些。#include #include #include #define N 50500#define inf 0x3f3f3f3fusing namespace std;int dist[N],n,m;int

2014-11-06 20:54:28 1180

原创 【POJ2325】Persistent Numbers 贪心+高精度/低精度

题意:我们可以把一个数A变成B=A的各位乘积,现在给出B,求是否可以有某个A通过计算得到B,有的话,是多少。题解:贪心。我们先分解B,若质因数有大于等于10的显然就不行了。否则则一定可以把他的各因数排在一起成为A,使A的各位乘积=B。贪心策略:把小数放前面。注意:一、不一定要质因数,10以内即可。二、需要高精度。三、A!=B代码:#include #inc

2014-11-06 16:21:48 1588

原创 【POJ1700】Crossing River 贪心,附贪心问题的一系列详细解析

题意:一群人过河,船每次只能装两人,每次过河时间为两人权值较大的那个。题解:    这种题的贪心策略往往不是很好想,这个时候我们就需要依照尽量逼近正解的思路,进行多种贪心,在每种贪心都保证正确的前提下,取多个答案的最值,这样往往就是正解,而即便可以卡,数据也很难出,并不是写个rand+debug拍上两个小时就能拍出来的。    而这种 多线程贪心 可以有两种:一、单独做每种,然后取

2014-11-05 16:48:52 1798

原创 【POJ1328】Radar Installation 贪心

题意:    有n个在x轴上方的小岛的坐标,还给出雷达的范围,现在要求在x轴上放尽量少的雷达使岛都被覆盖到,问最少数量。题解:    贪心。确定每个岛在x轴上的映射范围(此范围内有雷达则能扫到小岛),然后按右界排序,然后类似于单调队列(当然要水多了),把雷达尽量往右放。细节:注意一:    雷达不用非得在整点上,别被示意图骗了。注意二:    如果数据有误输出-1

2014-11-05 16:17:17 1093

原创 【POJ1323】Game Prediction 博弈,或者说贪心(本博客用栈处理)

题意:    输入m,n,表示有若干张卡牌,权值两两不同,且最大为m*n,交给至多m个人。    每回合所有人各出一张牌,权值最大者胜!    现在主角手里有n张牌,问他至少能赢多少局。题解:    贪心。每次出最大牌看是否可以有人压制你。    或者换一种说法,就是所有人一起坑你,而且提前知道了你出什么牌,总之就是各种坑你!所以我们不考虑能赢多少把,我们考虑有多少

2014-11-05 15:20:45 1126

原创 【POJ3636】Nested Dolls Dilworth定理(偏序集定理二)

题意:别问我,直接扒1065或者1548代码,然后改一下cmp函数为y值递减,然后最长下降子序列改成最长不上升子序列,收工。贴代码:(当然你要看这个定理可以去我的前两篇博客看)啊,这个的求最长不上升子序列必须nlogn了,n^2会TLE了~~#include #include #include #define N 50000#define inf 0x3f3f3f3fusin

2014-11-05 11:18:32 1250

原创 【POJ1065】Wooden Sticks Dilworth定理(偏序集定理2)

题意:    可以视为跟POJ1548相同,就是n个点(二维),要求分堆,每堆中点要求单调递增(A的x和y值都比B小则A题解:参见我的上一篇博客然后贴代码:#inclu

2014-11-05 10:21:31 1819

原创 【POJ1548】Robots Dilworth定理(偏序集定理2)

题意:    有一些位置有垃圾,让机器人从左上角开始走,只能往右或者往下,问最少走多少次可以清理完所有垃圾、题解:    一看就是网络流经典题,或者说是二分图—最小路径覆盖;但是现在毕竟是在做一些贪心,这道题用的是一种贪心相关定理,Dilworth定理。    这道题可以理解为部分两点之间有偏序(可走的关系),呃,可以视为当xa    比如题中的数据1,我们经过处理得到2 4

2014-11-05 09:47:19 2026

原创 【POJ1042】Gone Fishing 黑书上第一道贪心题。

题意:有n个鱼塘,t个小时,鱼塘都在一条线上,一行n数,鱼塘i初始时垂钓5分钟能得到fi条鱼;一行n数,鱼塘i每垂钓5分钟fi就减少di;一行n-1数,表示鱼塘i和上一个鱼塘的距离,第一个鱼塘没输入,距离原点0。题解:贪心,黑书里有题解 : P13。先枚举走到哪个鱼塘。然后把路上时间去掉,然后爆扫,每次取能钓到鱼数最大的池塘来钓5分钟。答案出来了,输出就行了。

2014-11-04 17:53:44 1300

原创 【VIJOS1321】魔塔 并查集+建树+栈 ※※※※※有详细题解和代码注释

可以说是算法和数据结构之间的一种完美利用,使得这道VIJOS难度六的题目得到了解答。当然,其实我是自己想出来的解法,并不知道大家都是怎么解的,所以即使做过这道题的,不妨也来看一看这种思路。

2014-11-03 21:01:49 1776

原创 【POJ3660】Cow Contest Floyd传递闭包

题意:n头牛有优劣关系,现在可以根据这些关系判定排名,求有多少头牛的排名是固定的。题解:我们可以用Floyd传递闭包,三层for循环后的代码为:map[i][j]|=(map[i][k]&map[k][j]);应该很好理解吧?    就是若有A个点能到某点,而此点又能到另B个点,那么若A+B==n-1(该点),则该点的排位确定,即前A个点之后,后B个点之前的这个唯一位置。好了,

2014-11-03 19:52:40 1106

原创 【POJ3615】Cow Hurdles 最短路,你若LCA,我仍不拦你。

NOIP2013货车运输,只不过数据范围小了许多。不到150s打完并且AC。。额,当然,我写的是Floyd。写LCA的真过分。#include #include #include #define N 305#define inf 0x3f3f3f3fusing namespace std;int n,m,q;int map[N][N];int main()

2014-11-03 16:50:57 1126

原创 【POJ3377】Ferry Lanes 最短路

我只是贴一下手写堆优化的dij模板,虽然,它,TLE了……****#include #include #include #include #define N 2001000#define inf 0x3f3f3f3f#define longlong intusing namespace std;struct Katarina{ int v,next; longlong l

2014-11-03 16:28:23 1723 1

原创 【POJ3268】Silver Cow Party 最短路

题意:一堆奶牛去某个地方,去了又回,然后求去回和的最大值。题解:两遍最短路,结束,邻接矩阵存边可以避免建反图。#include #include #include #define N 1005#define inf 0x3f3f3f3fusing namespace std;int map[N][N],n,m,s;int dist1[N],dist2[N];bool v

2014-11-03 10:14:55 972

原创 【POJ3159】Candies 裸的pqspfa模版题

不多说了,就是裸的模版题。贴代码:#include #include #include #include #include #define N 30500#define M 200000#define inf 0x3f3f3f3fusing namespace std;struct KSD{ int v,len,next;}e[M];int head[N],cnt

2014-11-03 00:53:05 1150

原创 【POJ3037】Skiing 最短路

题意:      有个n*m的滑雪场,bessie要从(1,1)滑到(n,m),问最小时间。起始有一个速度v,然后每从一个点A到一个点B(只能上下左右走,每次一格),速度就会乘上2^(权值A-权值B)。然后每次移动的耗时是当前速度的倒数。题解:      分析一下就能发现,乘乘除除后,从一个点出发时的速度都是固定的,即与从起点直接到该点的速度是一致的,那么我们就可以建成一个边权

2014-11-03 00:28:54 1436

原创 【POJ2253】Frogger 最短路,你想写LCA我不拦你

题意:多组数据,0停止。给出n个点的坐标,然后使1到2!!!!!!是到2!!不是到n!!!的最长边边长最小,并求该长。题解:懒,所以直接写个一行floyd。#include #include #include #include #define N 505using namespace std;double map[N][N];int n,x[N],y[N];int main

2014-11-02 21:01:41 867

原创 【POJ2240】Arbitrage 比值最短路 (货币兑换问题)

货币兑换问题(最短路解法)。

2014-11-02 16:55:47 996

原创 【POJ1797】Heavy Transportation 最短路

都别看,大水题。

2014-11-02 15:29:07 953

原创 【POJ1724】ROADS 某邪恶最短路

题意:p,n,m,然后m行表示入点出点长度花费。      求花费在p以内的最短路。我写的一定不是pqdij!一定不是!一定是dfs!题解:做一个pq优化的dij,然后看每次跑出来的路的花费是否完事。看代码!快看我的水代码!#include #include #include #include #include #include #include #d

2014-11-02 15:06:11 1008

原创 【POJ1125】Stockbroker Grapevine 最短路

题意:Floyd!!!直接说输入格式你们一定会做。就是说多组数据,然后每组先一个n,然后n行,一个数是有几条出边(单向边),然后每条出边俩数分别为点和边权。好了,现在求的是点x,使从x出发最远的点 最近,不懂直接看代码,风格良好!!!#include #include #include #define N 105#define inf 0x3f3f3f3fus

2014-11-01 21:41:43 877

原创 【POJ1062】昂贵的聘礼 最短路 题目描述还有数据都坑爹

题意:中文题,这里只提供题目传送门 http://poj.org/problem?id=1062题解:首先若物品1可以由物品2加上x元得到,连一条B -> A的单向边,边权为x。      然后源点向每个物品连一条物品直接价格的边。      然后枚举点权的下限和上限。      好吧,很水。但是数据范围坑爹!!!点权还能是0!!而且酋长等级不一定最高!!贴代码:#

2014-11-01 21:08:31 960

空空如也

空空如也

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

TA关注的人

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