自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十山尃夆

Holy ?

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 此博客已荒废

搬家入驻wordpress 链接。。。

2013-02-05 19:11:39 761 3

原创 【BZOJ1047 || HAOI2007】理想的正方形

【Description】 有一个AXB的数字矩阵,从中找出一个NXN的正方形区域使得该区域中最大值与最小值的差值最小 【Data Range】 矩阵中所有数字 20%  2 100%  2 【Analysis】 因为需要知道每N个格子最大值与最小值 所以第一想法是建1000颗线段树,然后分析下复杂度发现竟然可以过!

2013-01-31 14:22:43 1178

原创 【BZOJ1090 || SCOI2003】字符串折叠

【Description】 我们有如下几个定义: • 只包含单个大写英文字母的序列 A 是压缩序列。A 解压缩后的序列 A′为自己。 • 如果序列 A 和 B 都是压缩序列,那么序列 AB 是压缩序列,解压缩后为 A′B′。 • 如果 S 是压缩序列,那么 X(S) 也是压缩序列,其中 X 是一个比 1 大的十进制数,该序列解压缩后 为 S′重复 X 遍。 给定一个序列 A′,求一

2013-01-27 17:29:24 1564

原创 【BZOJ2396 || POJ3318】神奇的矩阵 || Matrix Multiplication

【Description】 给出三个行数和列数均为N的矩阵A、B、C,判断A*B=C是否成立。 【Data Range】 N 【Analysis】 直接AXB 再判与C是否相等是 O(N3) 的 一个基于概率的算法是随机生成一个 N乘1 的矩阵R 然后判断 A * B * R 是否等于 C * R ,而前者相当于 A * ( B * R ) 与后者一样都可以在

2013-01-27 08:20:35 1386

原创 【BZOJ1084 || SCOI2005】最大子矩阵

【Description】 一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。 【Data Range】 1≤n≤100,1≤m≤2,1≤k≤10 【Analysis】 以前做过有印象,所以做之前没看数据范围 卡了很久没想出来,最后发现 m ============================

2013-01-26 16:52:43 1428

原创 【BZOJ3000】Big Number

【题目描述】 T组数据,求N!的K进制数的位数 T 31 , K 【简要分析】 十进制下N!的位数很容易搞的 或者用 (利用Stirling公式) 在K进制意义下 考虑到N的范围如此的大,以至于我需要去找到一个O(常数)的方法来解决它(= =) 有了前面的基础,答案就很显然了 转换下得到 至此完美解决 当然答案还要加个1

2013-01-24 11:34:37 734

原创 崭新的2013

bool find(int u)//Hungary { for (int i = edge[u]; i; i = next[i]) { if (vp[point[i]] == t) continue; vp[point[i]] = t; if (!g[point[i]] || find(g[point[i]])) return g[poi

2013-01-02 17:31:37 563

原创 【BZOJ1087 || SCOI2005】互不侵犯King

【题目描述】 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。  1 【简要分析】 水题,大神请【Ctrl + W】 裸搜……咳咳,显然过不了 暴力dp也是可以过的 也容易想到用状态压缩去优化转移 然后最后再打个表,恭喜你,BZOJrank1非你莫属 有几个

2012-12-09 13:37:12 962

原创 【BZOJ1013 || JSOI2008】球形空间产生器sphere

【题目描述】 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。 省选还真是有裸题! 【简要分析】 一开始本沙茶2B地认为选少数点即可以解出球心 实际上(文艺一下) 二维三个点确定一个圆 三维四个点确定一个球 四维五个点确定一

2012-12-06 20:27:47 1303

原创 【BZOJ1011 || HNOI2008】遥远的行星

【题目描述】 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当ij=Mi*Mj/(j-i) 其中A为很小的常量,故直观上说每颗行星都只受到距离遥远的行星的作用。请计算每颗行星的受力,只要结果的相对误差不超过5%即可. 搞笑题 O(∩_∩)O 【简要分析】 看数据范围我就萎了,然后乱搞也只得10分 事实证明就是根据可以有5%的误差乱搞= = 这位仁兄推出了

2012-12-06 19:41:22 1926

原创 【BZOJ2730 || HNOI2012】矿场搭建

其实现在做得挺心酸的,4月份参加省选的时候什么都不会 特别是对关于联通分量什么题目的表示不明觉厉 现在意识到其实这和学OI的时间没有什么关系 完全是自己没有用心、没有花时间罢了,然后得花现在的时间去弥补 【题目描述】 煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出

2012-12-04 19:13:40 1594

原创 【BZOJ1098 || POI-XIV-BIU】链表

【题目描述】 http://main.edu.pl/en/archive/oi/14/biu http://61.187.179.132/JudgeOnline/problem.php?id=1098 给出一个图(N个点,M条边),让你把此图分成尽可能多的集合,满足任意不在同一集合的点之间都有边相连。(N 【简要分析】 可以想到答案为原图的补图的联通块个数,证明如下:

2012-12-02 13:33:41 2019

原创 【BZOJ2753 || SCOI2012】滑雪与时间胶囊

【题目描述】 BZOJ2753 给一个有向图,根限制为1,求最多经过节点数,求有向图最小生成树。 【简要分析】 初看此题觉得是裸的最小树形图 但数据范围着实吓翻我 对于所有的数据,保证 1保证 1 “此题应该是有特殊性质的吧”,然后就往高度方向想 高度相等的点若有边相连则此边一定是无向边 然后我nc的想都不想清楚就tarjan缩了次点 虽然缩点没用但是也顺便求了第一问=

2012-12-01 10:41:17 2106

原创 C++果然还是有一个模版写起来要舒服点

我的模版肯定不适合所有人(废话) 写起来自己真正舒服最重要 cmath库的函数我能手写的一般手写所以就写成了函数模版 typedef了一些东西省时间 vector的动态申请空间这点想好好利用于是define了 stack对于给图论题做栈非常方便 然后就是平常常用的一些库,比如万恶的STL哈哈 当然,模版会不断更新的 #include #include #include #

2012-11-27 13:12:24 761

原创 【图论算法及模版】割点,割边,强联通分量,点双联通分量,边双联通分量

将学的基础知识总结下 Orz LRJ 因为都是街货,为了防止大牛D,所以仅结合资料作简单总结 联通分量:u -> v, v -> u,相互可达的节点称为连通分量 求联通分量个数只需要DFS一遍即可,也可用并查集去判联通块 割点 无向图G中,删除某点u后,若联通分量数目增加,则u为此图G中的一个割点。这意味着若在连通图中删除割点,则图变得不连通。 DFS整个图,利

2012-11-27 11:09:14 6362

原创 【最小树形图】

给定一个有向带权图G与其中的一个节点u,找出一个以u为根节点,权和最小的有向生成树,有向生成树即为树形图。 求固定根的最小树形图,由于边都是有向边所以不可以用kruskal,prim,而应该用传说中的朱刘算法!(又是中国人的算法) 首先研究下最小树形图的性质 1.  根节点必须能到达所有其他节点,否则肯定无最小树形图(dfs直接判断即可) 2.  根节点入度为0,其余节点入度都为1 3.

2012-11-26 22:26:56 1008

原创 【链表启发式合并】HNOI2009 梦幻布丁

WC2011mt特意强调了链表 其中就有这样一道题 Task pudding 【题目描述】 现在有 n 个布丁排成一排,每个布丁都有一个正整数颜色。 有 m 个操作: 第一种操作 1 x y 将所有颜色为 x 改为颜色 y。 第二种操作 2 询问当前有多少段颜色。 【输入数据】 第一行两个正整数 n,m。 下面一行,n 个正整数,表示一排的布丁。

2012-11-14 14:34:08 1074

原创 【排列组合】HNOI

我这方面比较水就只提供两道题吧 1. HNOI2008 prison 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 此题略水,属于HNOI送分题系列,用补集的思想可以轻松过。 可能越狱的 = 总 - 不可能越狱的 code #include #incl

2012-11-06 21:03:13 1075

原创 【次小生成树】环切性质

次小生成树 求法   求出最小生成树后,建立最优顺序生成树  枚举每条不在最小生成树上的边,找出左右端点之间的最大边(即 Kruskal 生 成顺序森林上的 lca 或用倍增),求出删去最大边加入此边后的权值(环切性质)。   或者排序后加并查集,求出每条边的替代边。  取最小。  时间复杂度 o(mlogn)  蒯自hyc学长ppt poj1679判断最小生成树是否唯一 注意,

2012-11-05 20:20:08 986

原创 【左偏树】应用

最近见到有人再度提起“左偏树”这个词 我就重新写了一遍,不过是用与以前不同的动态结构写的,同时也决定以后写这个用动态结构! 而且也学习了内存池免去new节点这个很酷的方法! //插一下,讲下内存池 node re[maxn], *tot = re; 利用一个已经分配了地址的re数组节省new的时间 之后要新建节点则 *(++tot) = (node) {中间填初始值}; // 不

2012-11-04 20:53:46 874

原创 【dp】 Codeforces 2B

这题目序号是2B,也确实挺让我犯2B的 错误思想 记录到达某点(i,j)的路径上,0最少的个数,同时记录了2,5的个数 看似是可做了的,但实际上有很强的后效性 比如这个数据 3 2 2 2 5 2 2 1 1 25 正确答案是1,我的答案是2 因为之前选取的2,5会影响到之后能不能走某条路,后效性在此 那么应该如何解决这个问题呢 即做两遍dp 第一遍dp记录到某点2最

2012-10-31 15:07:59 747

原创 【高斯消元解XOR方程组】各种题

MT神牛的ppt很酷 QW又无节操的蒯了道经典高斯消元的题(Orz) 于是准备给自己普及普及这方面知识 只要以后有这方面题就会写了贴上来 我认为比较重要或是难理解的东西有以下几个 1.关键元概念, 关键元决定了能够去XOR哪个方程 2.自由元与解的数目的关系,若少一个自由元,则解的数目减半(乘法原理) 3.压位存方程(有几种都很优美的实现方式, 方程右边的值为 原始状态 XO

2012-10-26 21:02:46 1414 1

原创 【容斥原理、gcd】初步

有很多很多东西 目前只搞了几道较基础的,还有数据范围增大几万倍的加强版 一. noi-2010-energy http://61.187.179.132/JudgeOnline/problem.php?id=2005    观察图后显然可得,过(0,0)~(n,m)两点的直线上的整点数为2*gcd(n,m)-1(要知道如何证明)    f[i]记录gcd值为i的点的个数,

2012-10-23 21:12:42 494

原创 【线段树+离散化】求逆序对数目

题目如下 第三题:lyp 的密码(lyp) 【题目描述】 众所周知,lyp 喜欢以用各种方式折磨别人为乐,这次,他趁 wars 不在时在他的电脑上 挂了一把神奇的锁,这把锁需要一串巨长无比的数字密码才可以解开,这 个密码由 lyp 自 己保管,这样 wars 就没法 Kingdom Rush 了。但 wars 设法从 lyp 的脑袋中挖出了有关密码 的信息,这些信息是一列非负整数{A

2012-10-18 20:37:22 2050

原创 【SPFA + DFS/BFS】最短路的一个拓展题

题目如下(By cwx) 【题目描述】 给你一张含有 n 个点 m 条边的联通无向图,记录 1 号点到每个点的最短路长度,询问 去掉与 i 号相邻的所有边后,1 号点到多少个点的最短路长度改变,若不连通则也视为改 变。 【输入数据】 第一行两个正整数 n,m, 接下来 m 行,每行三个正整数数 i,j,k,表示一条边,长度为 k。 【输出数据】 N 行,第 i 行

2012-10-17 21:36:05 1051

原创 线性筛法

又重新统一了下线性筛法模版 void linear_prime(int wt)//线性筛法筛质数 {    for(int i = 2; i <= wt ; ++i)    {       if(!b[i]) prime[++prime[0]] = i;       for(int j = 1; j <= prime[0] && i * prime[j] <= wt; ++j)

2012-10-15 08:22:03 1285

原创 【dp】币

题目献上(LYP君原创!) 1 币 (coin) 1.1 题目描述 有一排硬币堆,两个人轮流取硬币。每个选手随机取最左边或者最右边的一堆硬币。求先手期望取得的硬币数。 1.2 输入格式 本题有多组测试数据。 第一行一个数 T ,表示数据组数。 对于每组测试数据,第一行一个正整数 n ,表示有多少堆硬币。 第二行 n 个非负整数,依次表示每一堆硬币的个数。 1.3 输出格式 对于每组测试数据,

2012-10-13 22:11:51 1136

原创 最大团的求法

先膜拜+感谢owen,QW。 今天用了很多的时间研究了一道状态压缩搜索题。 求最大团的个数及方案数。 组队(mc) 【问题描述】 小秋秋想出去玩了。。 小秋秋有许多朋友,有一些小秋秋的朋友相互之间也是朋友。。。 小秋秋觉得自己带不是朋友的两个朋友出去玩会出现尴尬。。。(好纠结) 小秋秋想知道自己最多可以带多少朋友出去玩以及带人最多的方案数。。 【输入文件】(input

2012-10-11 22:20:34 1348

原创 “将A串变为B串”类动态规划题(已修改解释)

今天考试感觉要被虐爆了 就我的感觉来说,后两题绝对是省队水平 Orz Owen第四题考场50‘ 不过成绩也不是很差 得益于AC了第一题吧 先给出一道很久以前刷的题目 字符串是数据结构和计算机语言里很重要的数据类型,在计算机语言中,对于字符串我们有很多的操作定义,因此我们可以对字符串进行很多复杂的运算和操作。实际上,所有复杂的字符串操作都是由字符串的基本操作组成。例如,把子串 a 替换

2012-10-10 14:58:29 4709 3

原创 关于一类动态规划题的总结

关于一类DP题目的总结 1 题面:N个数字(有正有负)排成一排,选出连续一段使得和最大 N S[i]表示前i个数的和 Ans = max{ S[i] –S[j] }, i>j>=0 Ans = max{ S[i] –min{S[j]} }, i>j>=0 边扫描边记录一个min值 时间复杂度O(N)   2 题面:N个数字(有正有负)排成一排,选出不重叠的连续两段

2012-10-08 21:33:41 805

原创 排列

题目是莫涛神牛出的 题目描述 对于一个排列Ai,定义 F(A) = 满足Ai>i的i的个数,如F(2 3 1)=2。 Your Task 求F(A)=M的1..N的排列的个数。 输入文件 一行两个整数 N M。 输出文件 一行包含一个整数表示所求数目对 10^9+7 取模的结果。 样例输入 3 1 样例输出 4 样例解释 满足要求的 4 个

2012-10-04 14:40:20 439

原创 调整思想的运用

丢一道利用调整思想解的好题 【题目描述】 long long ago,D国受到了一条恶龙的袭击,为了保卫人民的生命财产安全,D国第一勇士盾盾挺身而出,与这条恶龙决一死战。 这个战斗的过程可以看成由n个回合组成,对于每一个回合,盾盾先行动,恶龙再行动。战斗一开始时,盾盾有A点血,恶龙有B点血。 盾盾有3个技能: ATTACK:盾盾会向恶龙发起进攻,对恶龙造成X点伤害 DEFEND:盾盾

2012-10-03 20:46:00 1410 4

原创 线段树~总结下吧

为什么我比较喜欢线段树呢 因为线段树容易写,万一写错了还容易调试 能以优秀的效率完成一些比较水的操作 如: 单点更新(增减, 替换等)O(logn) 查询区间(最值,求和等 )O(logn) 但只能查询区间的话明显是不够的 而修改区间用单点更新的方法复杂度就不再优了 于是我们引进一种lazy标记, 也可以叫可持续化 这个时候再谈修改区间, 无论是替换, 增减, 求和, 异或就无压

2012-10-02 13:54:52 924

原创 并查集小拓展

估计要明晚才写得完,于是暂时持续更新。 所谓拓展,肯定和简单地用并查集去维护联通性不同。 较为简单的联通性问题如: http://blog.csdn.net/z635457712a/article/details/7919198 1. 维护一种相对的信息,用不规范的说法就是带权值的并查集 Lyp 的战斗记录 众所周知,我们的 lyp 神犇外号叫 Altman,的确,在另一个平行宇宙,l

2012-10-01 21:59:08 640

原创 一些数论题

以后有心情就贴上来

2012-09-28 22:22:06 477 2

原创 还记得那一年倒水的广搜题嘛~

mok 题目描述 N个杯子,第i个容量为Vi,一开始所有杯子装满水,每次可以 1) 将一个杯子中的水倒掉。 2) 将杯子A中的水全部倒入杯子B(如果不会溢出的话)。 3) 用杯子A中部分的水填满杯子B(如果够的话)。 问能否通过若干次倒水得到目标状态。 输入文件 第一行N 表示杯子个数 第二行N个数 表示每个杯子的容量 第三行N个数 表示目标状态中每个杯子的水量 输出文件

2012-09-08 19:39:34 1326 1

原创 Dancing links ? Dancing links !

某次做JSOI的图论题 虐报其他人爆搜程序(废话) 原因就是利用了Dancing links基础-->>双向链表 ! 给出一个双向链表的模版 #include #include using namespace std; const int maxn = 100000 + 5; class Dancinglinks { public : void init()

2012-09-06 22:23:18 483 2

原创 超市促销 treap or hash

突然发现几月前刷的此题 本着刷道水题的想法我就用treap虐了它一遍 题目描述: 促销活动遵循以下原则:“参与本活动的顾客,应将自己的个人信息写在所付帐单背面, 并将账单投入指定的箱子。在每天的销售结束后,箱子中消费金额最大和最小的两张账单将 被选出。消费最多的顾客将得到一笔奖金,奖金的数目等于两张账单金额之差。为了避免因 为一次消费而得到多笔奖金,依照以上原则选出的两张账单将不

2012-09-04 21:19:40 912

原创 巧用队列的某题

题目描述: 有 N 个时间段,某个时间段可能包含其它时间段。 请找出能包含其它时间段最多的那个段,并计算出它包括的其它时间段有多少? 数据范围 1 <= N <= 25,000 1 <= 时间段开始和结束点 <= 2,000,000,000 输入文件(cover.in): 第 1 行:一个整数 N

2012-09-04 11:09:07 727 3

原创 哈夫曼树(haffman tree)的某题

今天本弱找到了一个过去的盲点,haffman tree。 写了几个小时才AC, 而且代码长度又被虐, 于是……。 电报公司 code 小明最近新开了一家电报公司。为了在激烈的市场竞争中获取胜利,他果断地找到传说中 X 博士,从他那里买下了传说中的新式电报机。与以往的 2 进制编码机器不同,这台新式的电报机是采用 3 进制编码的。而且,为了尽可能地节约成本,我们要采用尽量好的方

2012-09-02 22:18:41 806

SumatraPDF

非常绿色便捷的PDF阅读器,这是不需要安装的版本,福昕阅读器看不了的文档这个可以看。

2012-05-19

空空如也

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

TA关注的人

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