自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 HDU 4578(线段树

题目:要求支持四种区间操作:1.区间加上一个数,2.区间乘上一个数,3.区间全部变成一个数,4.区间求和(要求支持平方和,立方和.思路:这题有些恶心啊.....幸而交上去1A,不然我感觉真得难以debug.....注意下传标记时三种操作的顺序.(常数有点大...估计是多余的mod造成的...//priority_queue#pragma comment(linke...

2016-02-13 01:00:00 121

转载 CF 600F( 二分图

题目:给一个二分图,对每条边进行染色,求一种使得相邻边颜色都不同并且所用颜色最少的染色方案.思路:颜色最少个数大于等于度最大的点的度数,然后要构造出一种染色方案.构造方法类似于二分匹配的搜索算法.对于每个点,记录与这个点相连的对应颜色的点,然后每次取最小的没有使用的颜色,如果颜色有冲突,对于两个点x,y,有cx没有在x的邻边出现,cy没有在y的邻边出现,把xy染成cx,然后冲突的边染...

2015-12-01 16:22:00 195

转载 hdu 5517 Triple(二维树状数组)

HDU 5517题目:给出一种有三个元素的顺序,这个数据定义一种偏序,当且仅当一个三元数的所有元素都大于等于另一个时这个数比另一个大.求这个一个集合中不比任何数小的三元数有多少个.思路:首先排序去重,此时第一维有序,不用考虑,然后只有不存在比当前数的另外两维都大的数时当前数是可选的,用二位树装数组维护这个信息即可./** @author: Cwind*/...

2015-11-10 19:07:00 146

转载 HDU HDOJ5412(树套树or整体二分

题目:要求支持带修改维护区间第k大的值。所谓的动态区间第k大。思路:题解说的是树状数组套treap,然而没想通树状数组怎么维护。。。线段树的话就是把所有的值离散化一下,离线建个关于值的线段树,每个节点是一个treap,treap里的值用位置做关键字,然后做区间查询,复杂度是O(nlogn*logn)。基本也是经典的树套树做法。。。。然后赛后写了两遍都没过。。。。。今天心血来潮再挑战一...

2015-11-07 01:31:00 111

转载 Aizu Aoj 2266 (费用流

题目(原文是日语):  Google Code Jam区域赛上,坐在右前方的男人ID叫lyrically。东京大学时代的记忆中,记得有个朋友也用类似的ID。不过我的朋友都是萌妹子,我记忆中的 lyrically不仅算法扎实,封装也很强,能一下子给出问题的正解。比如,对我们写得不好的程序也能优化到AC的程度。她说,程序优化时,对缓存池的 利用特别重要。那么问题来了,现在请你优化下面...

2015-11-06 11:51:00 140

转载 Polya计数

hdu4633题目:用k种颜色给一个魔方染色,可以染每个面的9个小矩形,12条棱,8个顶点(总之就是有74个能染的地方),空间旋转后一样的视为相同,问有多少种不同的染色方案。思路:裸的polya计数,但是这个立方体的对称群本来就很容易弄错。。。《组合数学》里有个例题提到立方体的对称群有24个元素,分别是:(1)恒等变换。(2)以两个相对面的中心相连作为对称轴,旋转(i)9...

2015-11-03 00:34:00 134

转载 南阳CCPC补题:UESTC 1225(dp……另附对拍器)+UESTC 1220(最短路,费用流)+UESTC 1219(高斯消元)...

1225题目:有一栋楼,每层楼上有t个人打网球,有p个人游泳,但是每层只能建一种健身设施。每个人的花费是他到最近的对应设施的楼层距离。问最小总花费。思路:dp[i][j][k]表示做到第i层的时候选j,和j不同的设施最近在第k层的最小花费,那么如果该层选得和上面一样那么k不变,这个好转移。如果和上一层不一样,那么k层到当前层i的玩家会有一部分重新分布(他们的选择显然以中点为准),...

2015-10-30 20:03:00 94

转载 URAL 1057+HDU 2089(数位dp

URAL 1057题目:求区间[l,r]内能表示成k个b的各不相同的幂的数有多少个。思路:首先把上限数字换算成b进制,然后因为我们要求的不会有多个相同的幂,所以大于1的位直接把后面补齐为1。然后就是一个典型的数位dp。/** @author: Cwind*////#pragma comment(linker, "/STACK:102400000,1024...

2015-10-26 23:13:00 107

转载 bzoj2038(莫队算法

题目:给出一个数列,要求快速查询区间lr内相同数字的对数。思路:对于每次询问暴力跑,但是我们注意到由于可以复用之前的结果,所以不同的计算顺序计算量可能不同,直观上来说,两个查询点的曼哈顿距离越短,需要计算的量就越小。于是我们可以找出一个最佳计算顺序,就是平面点阵的最短哈密顿回路。由于这是np的,所以可以用最小曼哈顿生成树代替。再简化一下,可以使用分快处理的方法得到比较快的速度。这...

2015-10-21 16:07:00 104

转载 LightOJ1258(线性回文串

题目:给出一个序列,求最少在后面加多少字符形成一个回文串。思路:裸的manacher,注意枚举的起点和终点。/** @author: Cwind*////#pragma comment(linker, "/STACK:102400000,102400000")#include <iostream>#include <map>...

2015-10-15 22:42:00 89

转载 Poj3683(2-set

poj3683题目:有若干个活动可以选择两个时间段中的一个举行,询问使得所有活动不冲突的分配方案。思路:2set裸题,sset需要先进行强联通分量分解,然后需要进行一次拓扑排序,但是如果强联通分量分解时使用两次dfs的方式,那么可以省去这一步。/** @author: Cwind*////#pragma comment(linker, "/STACK:1...

2015-10-14 19:24:00 75

转载 LightOJ 1427(AC自动机

题目:给出若干模板串和一个母串,求每个模板串在母串中出现的次数.思路:AC自动机+后缀链接(last数组)/** @author: Cwind*////#pragma comment(linker, "/STACK:102400000,102400000")#include <iostream>#include <map>...

2015-10-13 23:24:00 116

转载 UVA 11990(BIT套treap

题目:给出一个1到n的全排列,m个询问,每次删除一个数,输出此时总的逆序对数.思路:树状数组每个节点都是treap,通过bit套treap来查询每个点前面有多少个比该点小的数...思路还是比较简单的,但是写了挺长时间,现在一个很严重的缺点就是代码量一大就没有定力,然后直接gg.....以后要多写代码题尽力克服这个问题.../** @author: Cwind...

2015-10-13 21:45:00 119

转载 网络流汇总....

1 Poj 1149(最大流建图题目:有m个猪圈,n个顾客,n个顾客依次到达,每个顾客可以打开若干个猪圈,可以选择给当前顾客卖不超过b头猪,并且当前打开的猪圈中的猪可以任意调整。问最多能卖多少猪。思路:首先是直观的建图,由于有顺序关系,所以考虑给每个顾客建一层图,那么节点数就是n×m,这个数目太大。可以注意到原图中有很多OO权的边,比如可以相互转移的猪圈之间的边。这些边是可以化简...

2015-10-06 23:58:00 114

转载 10月——备战区域赛

1 HDU4812(树分治题目:求一颗树上的一条路径,其上所有点的值之积为k。思路:裸的树分治,写的时候感觉肯定能迅速过掉,,,,结果做了大半天。。。越来越觉得自己出数据的能力是极为重要的!!!/** @author: Cwind*////#pragma comment(linker, "/STACK:102400000,102400000")#i...

2015-10-06 17:34:00 107

转载 去掉ubuntu的文件管理器中“位置”栏里的无用标签

每次看到那些无用的文件夹放在那总是感觉很不爽。。。首先更改/home/slyfc/.config/user-dirs.dirs 里的东西,把你不想要的删掉,注意不要删桌面,其余的随意重启后发现文件复原,原因是xdg-user-dirs-update开机重写了这个文件。那么关掉这个东西就行了,在/etc/xdg/user-dirs.conf中修改为enabled=Fals...

2015-10-06 14:16:00 243

转载 Poj 2104(主席树入门

题目:静态查询区间第k大.主席树入门题目,之前看的很多资料一上来就是动态区间第k大,看得很费劲,后来找了个写得清晰的,感觉静态的还不算难,代码也不长./** @author: Cwind*///#pragma comment(linker, "/STACK:102400000,102400000")#include <iostream>#...

2015-10-04 20:42:00 107

转载 Poj 1568(极大极小搜索

题目:4*4的4子棋,给出一个局面判断是否是必胜的.思路:裸的minmax搜索,不过这题有个很重要的剪枝,当已经下了的子小于等于4时,是不可能必胜的(具体证明没有深究..这种剪枝在赛场上可以二分把...).我的写法没有这个剪枝直接就t了...(估计hash一下也能过,不想试了...)/** @author: Cwind*///#pragma comment(...

2015-10-04 17:49:00 91

转载 HDU 3507(斜率优化dp

题目:每次选取连续的若干数字的代价要求选取虽有数字的最小代价.思路:基础斜率dp题,题解见http://www.cnblogs.com/kuangbin/archive/2012/08/26/2657650.html/** @author: Cwind*/#pragma comment(linker, "/STACK:102400000,102400...

2015-09-29 00:09:00 85

转载 那些年没有AC的水题...

1 HDU 5492(dp题目:一个数字矩阵,要求找到一条路径使得经过的数字的方差最小.思路:稍微把式子变换一下,状态是走到当前格子和为k时最小平方和./** @author: Cwind*/#pragma comment(linker, "/STACK:102400000,102400000")#include <iostream>...

2015-09-28 14:09:00 91

转载 UVALive 2659+HUST 1017+ZOJ 3209+FZU 1686 (DLX

UVALive 2659题目:16*16的数独.试了一发大白模板./** @author: Cwind*///#pragma comment(linker, "/STACK:102400000,102400000")#include <iostream>#include <map>#include <algorith...

2015-09-24 22:46:00 135

转载 Codeforces Round #321 (Div. 2)-E(线段树+hash

题目:给出一个序列,有两种询问,一种是把某个区间的数全部变为一个数,一种是查询一个区间是否为以d为周期.思路:线段树维护区间的hash值,然后对于一个区间[l,r]如果[l,r-d]和[l+d,r]相等那么这个区间的周期就是d.注意cf上的自然溢出hash几乎必然被hack....hack方法见此文:http://codeforces.com/blog/entry/4898...

2015-09-23 21:09:00 74

转载 HDU 4635(强连通分量分解

题目:给出一个有向图,要求添加最多的边数,使得图仍然不强连通.思路:首先这个图在添加边之后肯定变成了两个强连通分量,现在就看怎么分.然后我们可以注意到,原图进行强连通分量分解之后必然存在一些分量的出度或入度为0,最小的分量肯定在这些分量之中.那么找出这个分量就可以得出的结果了./** @author: Cwind*///#pragma comment(lin...

2015-09-22 13:20:00 104

转载 HDU 5452(离线LCA,树形dp

题目:给出一个图和它的一个生成树,要求删除生成树上的一条边和若干其他边,使得图不连通。求能删除的最小边数。思路:考虑dp,对于树上的一条边,删除之后,还需要删除的边的数目就是从这个节点的子树连向其他子树或祖先节点的边数。那么对于一棵子树来说这个统计数目就等于其子树的数目之和减去它的子树之间的边数。减的这一部分可以在tarjan离线LCA算法中实现。/** @autho...

2015-09-21 18:26:00 53

转载 HDU 3336(kmp+dp +HDU 4300

hdu 3336题目:给出一个字符串,问该字符串的每个前缀在字符串中出现的次数之和。思路:需要对next数组有足够的理解。设dp[i]表示以i结尾的字符串中出现的总次数(答案),那么首先在next[i]到i之间的前缀不会是对应的后缀,所以该长度的串数量恰好是dp[next[i]]+1。UPD:今天又看了一下,感觉之前理解得很不到位....首先dp[i]的意义是以i结尾的后缀在...

2015-09-21 01:08:00 85

转载 开坑,填坑——莫比乌斯反演

hdu 1695题目:给出x和y的范围,要求gcd(x,y)==k的数对个数。思路:首先把范围除k,然后就是求gcd(x,y)=1的数对个数。具体莫比乌斯公式的用法还不是很懂,目前的理解是这样的:莫比乌斯公式给出了一个从和函数反演到原函数的方法。对于一个定义在正整数上的函数,其和函数F(n)定义为所有f(d)|d是n的因子的和。然后根据莫比乌斯公式,可由F求得f。但是此题...

2015-09-18 19:32:00 87

转载 poj 2976+poj3621(01分数规划

题目:每门课有实际成绩a和总成绩b,要求去掉k门课后能得到的平均成绩的最大值。思路:裸的分数规划题。一个非常经典的解决问题的思路就是把求值变为判定问题,然后进行2分,分数规划就是这类思想的一个应用。、具体讲解参考此文章:http://blog.csdn.net/hhaile/article/details/8883652/** @author: Cwind*...

2015-09-10 16:58:00 93

转载 Poj1379+poj 2539(模拟退火

题目:在矩形中有若干个点,求一个点使得所有点到该点的最小距离最大。思路:这个是2008年顾研论文上的例题,可以比较简单地用模拟退火算法求解。所谓模拟退火就是先随机出若干个点,然后以某一特定步长尝试周围的解,而后逐渐缩小步长,知道步长小于特定值,跳出。这个算法虽然简单易行,但是其正确性并不是非常有保障,(不合理的随机方法可能会降低到达正确解的概率),而且几个主要参数的选取也主要看经验,...

2015-09-10 12:03:00 112

转载 男人8题之 Tree (pku 1741)(树分治

题目:求一棵树上路径长度小于k的路径条数。思路:这是LTC的男人八题里比较简单的一道。首先如果不是树,而是链的话,我们 可以想到一种分治算法(当然链的情况不分治更快),就是对于一个中点,对答案有贡献的要么是跨越中点的路径,要么是两边的路径,那么每次从中点分开,进行 分治的话复杂度是O(nlogn),对于这个树上的情况思路也是一样的,但是树上的分治有个比较特殊的地方是这个中点不太好找,...

2015-09-08 17:36:00 144

转载 UVA 11922+11996(Splay

题目:维护一个序列,支持将一段数翻转并插到最后的操作,最后输出整个序列。思路:直接套的大白模板,第一次用splay,贴一下。。/**@author: Cwind*http://www.cnblogs.com/Cw-trip/*/#include <bits/stdc++.h>#define pb push_back#define PB...

2015-09-06 15:51:00 121

转载 SPOJ- QTREE+HDU 3966(树链剖分裸题

题目:维护一个树,支持修改边长,查询任意两点间距离。思路:学习了一下树链剖分,还是看了一阵子才看懂的(大概两个多小时orz。。。)其实总的来说并不是很难,主要是数组比较多,然后看的那篇博客大概是为了压缩代码写得比较紧凑所以看的不是很明白。树链剖分的比较有技巧性的地方是查询,如果在一条轻链上,每次往上一条边,如果是在重链上,就是区间查询。树链剖分保证任意路径上的重链和轻链条数是logn...

2015-09-05 19:46:00 117

转载 9月——都已经9月了还不好好刷题?。。

1 UVALive4513 (字符串hash题目:在一个串中找到至少出现m次的最长的串。思路:直接hash,然后二分答案。/** @author: Cwind* http://www.cnblogs.com/Cw-trip/*///#pragma comment(linker, "/STACK:102400000,102400000")...

2015-09-03 12:00:00 140

转载 POJ 2449(求k短路,A*)

题目:求s到t的第k短路。思路:网上是清一色的A*算法,所以学习了一下。所谓Astar算法其实就是启发式的bfs。这里设置了一个估价函数h,结合当前位置的最短路和到终点的估计最短路长度来选择下一个要扩展的节点(dijkstra算法对于所有的点的h值可以视为是一样的,所以下一个扩展的节点只与当前的最短路g有关)。这个h的值越接近手记最短路越好,但是不能少于实际最短路(否则会错误),假设...

2015-08-28 23:34:00 82

转载 2015多校10 1006.CRB and Puzzle HDU5411(邻接矩阵求k长路条数,矩阵快速幂

题意:有若干字符,现在要把它们连成一个字符串,每种字符后面只能接特定种类的字符,现在询问能连接出的长度小于等于m的字符串有多少种。思路:我们可以把这个转移关系看成一个图,如果字符a后面可以接b,那么从a向b连边。用邻接矩阵保存这个图。。。然后可以发现长度为m的字符串实际上是这个图中的一条长度为m(经过m个点)的路。那么可以想到一个经典结论:一个图中的k长路的条数等于这个图的邻接矩阵求...

2015-08-20 21:25:00 112

转载 OpenJudge 3765(最大权闭合图,最小割

题目大意:需要解雇若干人,解雇每个人有一个损失或收益,解雇一个人就必须结果他的所有下属,问最大收益。思路:裸最大权闭合图问题,对于权值为q的点,负权向汇点连-p的边,正权源点向其连p的边,上下级关系上级向下级连oo的边,然后求最大流最小割,最大收益即为总正点权减最小割,需要裁员的人即为残余图中从源点可达的点。参考:http://blog.csdn.net/scorpiocj/ar...

2015-08-16 11:13:00 60

转载 多校8-1010 HDU5389 (dp

题目:每个人有1~9的编号,有两个门,一帮人能进门,当且仅当这些人的编号之和与门的编号同余。问把这些人安排到两个门有多少种方法。思路:比赛的时候有点脑抽,想了好久才发现是个简单dp。。。。只需要统计每个编号的人数,然后dp[i][j]表示前i个编号的人组成j同余的方案数,然后由于每种人选9的倍数个是无影响的,所以每种选择实际上是选x个,x+9,x+18……个,那么转移状态的时候需要计...

2015-08-15 00:09:00 63

转载 570D Codeforces Round #316 (Div. 2) D(dfs序,时间戳,二分

题目:一棵树上每个节点有个字符值,询问每个节点的深度为h的子节点的字符是否能组成一个回文串。思路:首先是奇妙的dfs序和时间戳,通过记录每个节点的dfs进出时间,可以发现某个节点的子节点的进出时间均在该节点的进出时间范围内(这是很直观的dfs的性质),这样可以把树形结构转变为线性结构,方便进行各种处理。dfs一遍处理时间戳,每个节点的深度,并记录每个深度的节点都有哪些,此时每个深度的...

2015-08-14 23:55:00 65

转载 CodeForces - 570E(dp------------- Codeforces Round #316 (Div. 2)E

题目:给出一个字母矩阵,问从左上角走到右下角的走法有多少种走法能走出回文子串,只能向下或向右走。思路:正解是O(n^3)的dp,也跑了2.9s,可见这题时限是比较紧的。自然的一个想法是两头同时向中间走,这样可以保证走出的是回文串,问题在于如何dp。一共需要走O(n+m)步,而每一步从左上走过来的和右下走过来的进行匹配,以行数作为下标表示二者即可(因为距离确定的情况下只需要知道一个坐标...

2015-08-14 16:41:00 88

转载 hiho一下!

1032 最长回文子串#include <bits/stdc++.h>#define pb push_back#define se second#define fs first#define sq(x) (x)*(x)#define eps 0.000000001using namespace std;typedef long long...

2015-08-13 10:57:00 221

转载 HDU 4123(树上任意点到其他点的最远距离,rmq

题目:求出一棵树上任意一点能到的最远距离,然后若干询问,问区间内最大最小距离只差小于q的区间最长有多长。思路:最远距离通过两次dfs树形dp求得,询问需要先用st表处理一下,然后线性扫。基本是参考kuangbin的。ps:可能是我写挫了。。用vector做邻接表是1996ms过了一次,然后就是无限tle。。。。不得不改成手写链表才搞到1500ms。。。vector感觉不能随便用了...

2015-08-04 00:33:00 190

空空如也

空空如也

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

TA关注的人

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