自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GejinZ

Be serious.

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

原创 poj 3684 Physics Experient

题意:需要注意的一点  所有的球都是从 H 这个位置初速度为 0 落下的。这道题简直把我弄炸了 一个是看书的时候上面这个条件并不知道 另一个是有半径的时候为什么要加上2*R*i 后来每次睡觉满脑子都是这个鬼T_T!!后来总算大概明白了这个草尼玛的物理题 真是够了!enough!!!T_T一点都不想再看这道题了。别人的解:既然每个球不会有动能损失,我们假设每个球的半径

2015-04-30 11:06:10 590 1

原创 poj 1151 求矩形面积并 (线段树扫描线)

题意:给出n个矩形的左下角和右上角坐标,求这n个矩形所构成的面积思路:线段树扫描线这是第一次做到线段树扫描线,刚开始也不懂如果不懂,可以看:http://www.cnblogs.com/scau20110726/archive/2013/04/12/3016765.html和 http://www.faceye.net/search/69289.html我是看第

2015-04-28 02:10:44 1068 1

原创 poj 2378 树上的DP

题意:给一棵n个节点连通的树 条件 : 去掉一个节点 使剩下的每个连通分量 都不超过n/2个节点让找出所有符合上述条件的点 按照从小到大的顺序输出思路:首先建树 然后在建树的过程中,统计每个节点的子树中 最多的节点个数同时统计以此结点为根的树的 节点总数 sum[i]可以根据 n - sum[i] 算出上面一个祖先连通分量的节点个数判断即可code:

2015-04-22 21:55:38 621

原创 poj 2377

题意:最大生成树思路:最大生成树code:#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define INF 0x3f3f3f3f#define PI acos(-1.0)#define eps

2015-04-22 20:53:59 651

原创 poj 2376 贪心 区间覆盖问题

题意:给n个区间 选择尽量少的区间 覆盖1~T这个区间如果不能覆盖 输出-1思路:经典贪心 区间覆盖 将所有区间按照起点从小到大排序 取终点在最右边的那个区间code:#include#include#include#include#include#include#include#include#include#includeusing namesp

2015-04-22 20:28:02 862

原创 poj 3627 Monthly Expense

题意:我没看懂题意...有n个数字,要把他们分成m组,每组都是连续的几个数字,要求使数字和最大的组 最小解题思路:二分最小数字和 判断是否能够分成至少M组下界是max(a[1] ~a[n]) 上界是a[1] + a[2] + ....+ a[n];code:#include#include#include#include#include#include#in

2015-04-21 22:51:01 621

原创 poj 3616 (DP)

题意:给出m个区间 以及 每个区间的起点 、终点 、权值  m个区间会有重叠要求从这些区间中选择若干个区间 ,使得这些所选区间的权值和最大选择要求:1.所选区间无重叠部分  2.两个所选区间的间隔至少为r 思路:线性结构上的DP 状态定义为: d[i] 代表 从前往后选择 选择到第i个区间时 选择第i个区间的最大权值转移:d[i] = max(d[j]+w[i]); 其

2015-04-21 00:09:19 953

原创 poj 3279 Filptile (USACO 2007 Open Silver)

题意:n*m块区域,每一块有正反两面,两面分别是白色和黑色。翻转一块区域的同时, 与其相邻的四块区域也会同时被反转 问最少需要翻转的次数 ,使所有的区域都变成白色 输出其翻转方案 思路:枚举第一行的翻转状态如果已经知道了第一行的状态,那么后面几行的状态就随之确定了——(如果该区域的上面一个区域是黑色,那这个区域必然是要反转才能让他上面的区域变成白色)然后比较和记录最少的

2015-04-14 03:11:37 1220

原创 POJ 2436 USACO silver

题意:总共最多有15种疾病有n头牛,每头牛有di种疾病,分别用1-15之间的数字来表示要求选择最多头牛 使他们的疾病种数不超过K思路:枚举状态,状态是当前有哪几种病,然后判断每头牛是否能选择即可code:#include#include#includeusing namespace std;const int maxn = 40000;int cow[10

2015-04-11 17:17:35 645

原创 poj 3666 Making the Grade (线性结构上的DP )

题意:给定n个数,问你将他们修改成非增或非减序列的最小花费。最小花费的定义是 假设原数组为 a[1] a[2] a[3] .... a[n]修改后数组为 b[1] b[2] b[3] .... b[n]那么最小花费为|a[1]-b[1]|+|a[2]-b[2]|+| a[3] - b[3] |+.....| a[n] - b[n] |.思路:线性结构上的动态规划 定义状态d

2015-04-10 21:30:42 678

原创 hdu 2196 computer 求树上的任意最远点对 O(n)

题意:给定n个结点,他们之间用n-1条边链接(这一点说明这个图的形状 就是一棵树 无环),给你一个结点,距离此节点最远的点与这个节点之间的距离。解题思路:经典的树上最长点对问题。不过带权,但是解决方法没有区别首先找任意一个点,dfs()求出距离这个点的最远点END1 O(n)然后从END1出发 再次dfs() 求出距离END1的最远点 期间经过每一个结点时,更新dist

2015-04-10 11:37:06 1784

原创 uva 1471 Defense Lines (降低复杂度)

题意:给一个长度为n(n 思路:设f[i] 和g[i] 分别表示 以i为开始 和 以i为结束 的最长连续递增序列长度首先可以想到枚举i和j,然后计算max_len = f[i] + g[i];但是这种枚举方法的时间复杂度是O(n^2),这是在加上预处理f[i] 和g[i] 的前提下所以需要想一个更加优化的方法,避免那么多枚举:所以想到 只枚举f[i], 通过某种方法快速

2015-04-08 22:21:00 659

原创 Uva 11134 Fabled Rooks (问题分解 + 贪心放置)

题意:给你n*n的棋盘,让放置n个车 使他们之间并不能相互攻击 附加条件是 给定n个车的放置区间 用左上角和右下角的坐标来表示解题思路:首先明确 横向的约束和纵向的约束其实并不互相影响 所以可以对横向和纵向单独求解 把问题变成两个一维的区间选点问题来求解另外 在取点的时候 有贪心的思路在里面 对于n个区间 应该先选择区间中r最小的区间进行放置可放置的点可以简单认为这是因为r

2015-04-08 22:03:47 594

原创 分治法 求 逆序对数 的个数 时间复杂度为O(n*logn)

思路:分治法 归并排序的过程中,有一步是从左右两个数组中,每次都取出小的那个元素放到tmp[]数组中右边的数组其实就是原数组中位于右侧的元素。当不取左侧的元素而取右侧的元素时,说明左侧剩下的元素均比右侧的第一个元素大,即均能构成一个逆序对。假设现在左侧剩余n个元素,则逆序对数+n。另外,如果当所有右侧的元素都取完,但是左侧仍然有元素剩余时,左侧剩余的元素已经在之前的运算中加到了逆序对中

2015-04-02 21:47:45 1755

原创 uva 1328 - Period (周期串的判断 kmp)

题意:给一个长为n的字符串,问字符串的前缀是不是周期串,如果是周期串,输出前缀的最后一个字母的位置和最短周期思路:kmp字符串匹配的性质运用。对于前i个字符,如果f[i]不等于零,说明在此字符串的前缀中,有一部分[0,f[i]]和本字符串[i-f[i],i]的这一部分是相同的。如果这i个字符组成一个周期串,那么错开的一部分[f[i],i]恰好是一个循环节。(换句话说,如果满足f[i]不等于

2015-04-02 16:54:10 1230

原创 uva 1401 Fast Matrix Operations 快速矩阵操作 (线段树 区间修改和查询)

题意:给一个r行c列的全0矩阵,支持以下三种操作:1 x1 y1 x2 y2 v子矩阵(x1 y1 x2 y2)的所有元素增加v2 x1 y1 x2 y2 v子矩阵(x1 y1 x2 y2)的所有元素设为v3 x1 y1 x2 y2  查询子矩阵(x1 y1 x2 y2)的元素和、最小值、最大值。子矩阵(x1 y1 x2 y2)是指满足 x1 矩阵不超过20行,矩阵

2015-04-01 17:09:04 892

原创 uva 1401 Remember the Word ( Trie + DP )

题意:给出n(n思路:Trie,先把单词建成Trie,然后进行dp,dp[i]表示以字符串中第i个字母为开头的情况,然后每个状态只要在Trie树上找到相应的字母开头的单词,然后dp[i] = sum{dp[i + len(x)]}进行状态转移即可 这个x是n个单词中的一个,可以用Trie查询code:#include#include#includeusing namesp

2015-04-01 00:21:04 1144

吉大 各种基本ACM必备算法基础

吉大 各种基本ACM必备算法基础

2014-01-05

空空如也

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

TA关注的人

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