自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [POJ3237]树的维护

给你由N个结点组成的树。树的节点被编号为1到N,边被编号为1到N-1。每一条边有一个权值。然后你要在树上执行一系列指令。指令可以是如下三种之一: CHANGE i v:将第i条边的权值改成v。 NEGATE a b:将点a到点b路径上所有边的权值变成其相反数。 QUERY a b:找出点a到点b路径上各边的最大权值。冲着树链剖分来的,结果发现自己太弱了操作二的标记不会打,YY了2个多小时才写完

2016-01-04 17:46:45 937

原创 单词默写题解--Trie树模板

单词默写 ★☆ 输入文件:engzam.in 输出文件:engzam.out 简单对比 时间限制:1 s 内存限制:128 MB 【问题描述】 小D前一段日子刚刚参加了一次非常苛刻的英语考试。 考试不仅包括了听力、选择、填空等基本题型,还包括了一种特殊的单词默写题。这类题目都是按照以下形式给出的: 在本学期你所学的所有前缀是B的单词中,在课本中出现次数不

2015-08-10 11:48:51 648

原创 有道搜索框的代码--题解

[Youdao2010] 有道搜索框 ★☆ 输入文件:youdao.in 输出文件:youdao.out 简单对比 时间限制:1 s 内存限制:128 MB 【问题描述】 在有道搜索框中,当输入一个或者多个字符时,搜索框会出现一定数量的提示,如下图所示: 现在给你 N 个单词和一些查询,请输出提示结果,为了简这个问题,只需要输出以查询词为前缀的并且按字典序排列的最前面的

2015-08-10 11:45:08 1103

原创 求经过路径最少的最短路

题目保证最短路不止一条,求经过路径最少的最短路. 分析:如果数据小的话可以用floyed+Dp求出,在保证最短路的情况下更新路径少的情况即可,dis表示最短路,大盘dp[i,j]表示从i到j的最短路所需最少路径条数;但一旦数据大于300,很有超时危险,下面是一个小技巧:将边权乘以10^8后+1(注意乘以几要视数据大小而定),再用高效的spfa或堆优化的dijkstra来跑。 为什么呢?举个例子:

2015-07-22 15:55:30 676

原创 UVA细胞自动机题解

细胞自动机是指一群处在一个个有特定排列方式的格子中的细胞,它们随着离散的时间演变,每一次演变中,每个细胞都遵循一系列规则,这些规则描述了细胞的新状态和原先周围细胞状态间的关系。细胞自动机的阶数是它包含的细胞个数。这些细胞被命名为1~n。 细胞的阶数是它可能所处的状态个数。通常一个m阶细胞的合法状态是整数0,1,…,m-1. 细胞自动机的基本属性之一是它的格子分布。在这个问题中,我们考虑一种特殊的细胞

2015-07-16 11:09:22 565

原创 [USACO Oct08] 挖水井题解

农夫约翰决定给他的N(1<=N<=300)个牧场浇水,这些牧场被自然的命名为1..N。他可以给一个牧场引入水通过在这个牧场挖一口井或者修一条管道使这个牧场和一个已经有水的牧场连接。 在牧场i挖一口井的花费是w_i(1<=w_i<=100000)。修建一条水管连接牧场i和牧场j的花费是p_ij(1<=p_ij<=100000;p_ij=p_ji;p_ii=0)。 请确定农夫约翰为了完成浇灌所有的牧

2015-04-15 08:53:27 2214 1

原创 计算几何入门4--poj2187Beauty Contest

题目大意:求平面上的点的最大距离的平方造出一个凸包,利用面积的上凸性(一条线段和凸包上其他点组成的三角形的面积),用两条直线卡住凸包求最大距离#include<map>#include<set>#include<cmath>#include<queue>#include<cstdio>#include<vector>#include<cstdlib>#include<cstring>

2016-01-09 17:04:30 431

原创 计算几何入门3--poj1113Wall

裸凸包……直接上代码……#include<map>#include<set>#include<cmath>#include<queue>#include<cstdio>#include<vector>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>using namespace std;

2016-01-09 16:10:13 400

原创 计算几何入门2--poj2653Pick-up sticks

给你一坨线段,问他们是否相交不要被100000迷惑,暴力可过QAQ先判断以两条线段为对角线的矩形是否相交,如相交则可能相交,下图是个例子: 众所周知,连个线段如果相交,设a1b1与a2b2相交,那么向量b2a1、b2b1与向量a2b2的叉积的乘积为一个非正数,这就是跨立实验为什么要先判断矩形相交呢?观察下图,这两条线段是可以通过跨立实验的代码#include<map>#include<set>

2016-01-09 15:32:56 598

原创 计算几何入门1--poj1269Intersecting Lines

题目大意:给你一坨直线,求他们之间的关系计算几何入门好题,我用斜率写的,神烦#include<map>#include<set>#include<cmath>#include<queue>#include<cstdio>#include<vector>#include<cstdlib>#include<cstring>#include<iostream>#include<algor

2016-01-09 11:46:15 403

原创 Play the Dice(数学期望)

题目大意:给你一发骰子,有n个面,掷骰子到第i个面时得到ai的钱,有时某些面bi,还可以让你再掷一次骰子,问最后可以获得的钱期望是多少? 设ans为当前得到的钱的期望 则只掷一次,期望是sum=∑ai(1<=i<=n)/n; 有m/n的机会可以再来一次,m/n*sum; 又赶上m/n的机会,(m/n)^2*sum; 所以ans=sum*(1+m/n+…+(m/n)^k+…) 由无穷等比数

2016-01-05 12:50:37 517

原创 网络流做题汇总

1、poj1698Alice’s Chance(构图+最大流,比较简单) 2、poj3281Dining(构图+最大流,建图好题) 未完待续……

2015-12-17 21:15:52 428

原创 欧拉函数及其求法

欧拉函数:对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。例如euler(8)=4,因为1,3,5,7均和8互质。 Euler函数表达通式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数,x是不为0的整数。euler(1)=1(唯一和1互质的数就是1本身)。 欧拉公式

2015-08-10 15:47:57 5310

原创 NOI2004郁闷的出纳员题解

[NOI2004] 郁闷的出纳员 ★★★ 输入文件:cashier.in 输出文件:cashier.out 简单对比 时间限制:1 s 内存限制:128 MB 【问题描述】 OIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工 作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情

2015-08-10 11:38:48 671

原创 treap模板

[Tyvj 1728]普通平衡树 ★★ 输入文件:phs.in 输出文件:phs.out 简单对比 时间限制:1 s 内存限制:128 MB 【题目描述】您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名

2015-08-10 11:35:20 452

原创 最大流dinic模板

运输问题1 ★★☆ 输入文件:maxflowa.in 输出文件:maxflowa.out 简单对比 时间限制:1 s 内存限制:128 MB 【问题描述】 一个工厂每天生产若干商品,需运输到销售部门进行销售。从产地到销地要经过某些城镇,有不同的路线可以行走,每条两城镇间的公路都有一定的流量限制。请你计算,在不考虑其它车辆使用公路的前提下,如何充分利用所有的公路,使产地运输到销

2015-08-10 11:32:54 332

原创 最小费用最大流模板

运输问题4 ★★★ 输入文件:maxflowd.in 输出文件:maxflowd.out 简单对比 时间限制:1 s 内存限制:128 MB 【问题描述】 一个工厂每天生产若干商品,需运输到销售部门进行销售。从产地到销地要经过某些城镇,有不同的路线可以行走,每条两城镇间的公路都有一定的流量限制。公路设有收费站,每通过一辆车,要交纳过路费。请你计算,在不考虑其它车辆使用公路的前

2015-08-10 11:31:18 418

原创 集训目标

1.数论(1): 快速幂,快速乘 费马小定理 欧拉定理 拓展欧几里得 筛素数 组合数取模 乘法逆元 矩阵 2.数据结构(1): Treap,Splay(两种平衡树,会打) STL熟练运用 3.字符串(1): KMP tire树 4.图论: 最短路(3个算法),A*,次短路 树上倍增 最近公共祖先 /哈夫曼编码(今年NOI2015D2

2015-08-02 07:26:21 469

原创 poj2411Mondriaan's Dream题解

题目大意:给出h*w(1≤h、w≤11)的方格棋盘,用1*2 的长方形骨牌不重叠地覆盖这个 棋盘,求覆盖满的方案数。 输入文件包含多组数据。 每组数据有一行,两个正整数h,w。 输入结束标志为h=w=0. 对每组数据,输出一行一个正整数,即方案总数。解析详见代码:#include<cstdio>#include<cstring>#include<cstdlib>long long f

2015-08-01 17:43:12 1664 2

原创 noip知识范围

数论: 快速幂,快速乘 费马小定理 欧拉定理 拓展欧几里得 筛素数 组合数取模(这个,背背代码吧,反正比较好记) 乘法逆元 矩阵 中国剩余定理(也比较好记) 容斥原理 01分数规划 大步小步算法数据结构: 简单的就不说了 单调队列,双端队列(有个容器) 单调栈,堆(手打的,各种操作) 树状数组 线段树 树链剖分 Treap,Splay(两种平衡树,会打) LC

2015-08-01 15:06:36 1806

转载 树链剖分

原文地址:树链剖分作者:starszys “在一棵树上进行路径的修改、求极值、求和”乍一看只要线段树就能轻松解决,实际上,仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。记siz[v]表示以v为根的子树的节点数,dep[v]表示v的深度(根深度为1),top[v]表示v所在的链的顶端节点,fa[v]表示v的

2015-07-16 18:30:47 359

原创 线段树模板 cogs数列操作c

数列操作c ★★ 输入文件:shuliec.in 输出文件:shuliec.out 简单对比 时间限制:1 s 内存限制:128 MB 所有答案小于4611686018427387904 【问题描述】 假设有一列数 {Ai }(1 ≤ i ≤ n),n<=100000 ,支持如下两种操作: (1)将 A i至A j 的值均增加 D 。( i,j,D 是输入的数) (2)

2015-07-16 11:27:22 485

原创 cogs 机器人搬运 题解

Wind设计了很多机器人。但是它们都认为自己是最强的,于是,一场比赛开始了~ 机器人们都想知道谁是最勇敢的,于是它们比赛搬运一些物品。 它们到了一个仓库,里面有n个物品,每个物品都有一个价值Pi和重量Wi,但是有些物品放在一起会爆炸,并且爆炸具有传递性(a和b会爆炸、b和c会爆炸则a和c会爆炸)。机器人们可不想因此损失自己好不容易从Wind那里敲诈来的装备,于是它们想知道在能力范围内,它们最多可

2015-04-14 18:02:27 944

原创 cogs爱争吵的猴子 题解

爱争吵的猴子 ★★☆ 输入文件:monkeyk.in 输出文件:monkeyk.out 简单对比 时间限制:1 s 内存限制:128 MB 【问题描述】 在一个森林里,住着N只好斗的猴子.开始,他们各自为政,互不相干.但是猴子们不能消除争吵,但这仅仅发生在两只互不认识的猴子之间.当争吵发生时,争吵的两只猴子都会求助他们各自最强壮的朋友,并且决斗.当然,决斗之后,两只猴子及他们

2015-04-13 17:17:44 447

原创 USACO特殊的质数肋骨题解

Superprime Rib 特殊的质数肋骨 描述 农民约翰的母牛总是生产出最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。 农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数,举例来说: 7 3 3 1 全部肋骨上的数字 7331是质数;三根肋骨 733是质数;二根肋骨 73 是质数;当然,最后一根肋骨 7

2015-04-08 11:16:48 663

原创 [NOI2001] 食物链题解

动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是“1 X Y”,表示X和Y是同类。 第二种说法是“2 X Y”,表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地说出K句话,

2015-04-08 10:45:59 611

原创 最小生成树的模板

Description 给你一个具有n个点,m条边的无向连通图,求其最小生成树的权值和。 Input 第一行两个整数n(1<=n<=300)和m,分别表示图的顶点数和边数。接下来m行是每行三个整数u, v, c,表示结点u和v之间有边相连,权值为c(1≤c≤10000)。 Output 输出文件仅一个整数为最小生成树的权值和。 Sample Input 3 3 1 2 5 2 3

2015-04-08 09:05:43 566

原创 cogs1355. 读书题解

【题目描述】放暑假了,LRJ想趁假期提高一下自己的计算机水平,于是他从学校图书馆借了N本计算机科学方面的书,这N本书的编号依次为0~N-1。 读完第i本书,LRJ需要花费time[i]分钟,但是有一些书的内容是相近的,如果第i本书与第j本书内容相近,那么如果LRJ读完了第i本书,再读第j本书的时候只需要floor(time[j]/2)分钟的时间即可(其中floor()表示对括号中的式子进行下取整)

2015-04-05 18:37:49 560

转载 二分图的最大匹配问题

二分图指的是这样一种图,其所有顶点可以分成两个集合X和Y,其中X或Y中任意两个在同一集合中的点都不相连,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配。图中包含边数最多的匹配称为图的最大匹配。 二分图的最大匹配有两种求法,第一种是最大流;第二种就是我现在要讲的匈牙利算法。这个算法

2015-04-05 11:57:21 630

原创 树状数组的模板(一维和二维)

> int lowbit(int x) {> return x & (-x); } void modify(int x,int add)//一维 {> while(x<=MAXN)> {> a[x]+=add;> x+=lowbit(x);> } } int get_sum(int x) {> int ret=0;

2015-04-05 00:07:52 348

空空如也

空空如也

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

TA关注的人

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