自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

花月阁

如果你现在很累,那么说明你在走上坡路!

  • 博客(25)
  • 问答 (2)
  • 收藏
  • 关注

原创 【UVA】11992 - Fast Matrix Operations(线段树模板)

线段树模板题

2014-09-29 20:40:41 709

原创 【HDU】The Ghost Blows Light(树状DP)

大体思路:先求出1 ~

2014-09-28 15:38:16 550

原创 【UVA】108 - Maximum Sum(DP矩阵)

n^3的复杂度计算最小子矩阵,用了最大连续和的DP算法。14273282108Maximum SumAcceptedC++0.0132014-09-27 #include#include#includeusing namespace std;const int INF = 1 << 30;co

2014-09-27 21:01:52 765

原创 【HDU-4277】USACO ORZ(暴搜)

直接dfs暴力,不需要减枝,利用set进行判断重复,hash一下,转化成一个longlong的数保存就好了。#include#include#include#includeusing namespace std;#define MAXD 20 + 5typedef long long LL;int n;LL array[MAXD];setvis;LL ans;void

2014-09-25 12:27:57 869

原创 【POJ】3368-Frequent values(RMQ或线段树)

RMQ和线段树都能过,而且时间都500MS左右。这道题主要还是思路的问题,特殊处理l,r所在的区间,中间的区间就用线段树区间求最值解决,想上去了代码很好实现。RMQ代码:#include#include#include#include#include#include#include#include#include#include#includeusing name

2014-09-22 19:41:00 892

原创 【hdu】Mayor's posters(线段树区间问题)

需要离散化处理,线段树的区间修改问题。需要注意的就是离散化的时候,由于给的数字是一段单位长度,所以需要特殊处理(因为线段的覆盖和点的覆盖是不一样的)比如:(1,10)(1,4) (6,10)离散化之后是 1 , 4 , 6 , 10 分别离散为 1 2 3 4覆盖的时候先覆盖1 4 之后覆盖了1 2 之后覆盖了 2 3,结果为2但是实际上应该是3134503

2014-09-17 16:17:30 875

原创 【hdu】The Donkey of Gui Zhou(搜索)

一开始的思路是,先走驴子,之后走老虎,每次走的时候记录他们的达到该位置的步数,如果一样就可以相遇,特殊处理末尾。但是没办法过,之后索性让他们一起走,一起修改移动的坐标,结果过了。。。真心不知道错哪了。。116625022014-09-16 00:43:01Accepted474031MS8300K2547 BG++KinderRiven

2014-09-16 00:52:37 1244

原创 【POJ】A Simple Problem with Integers(线段树区间修增减求和)

线段树区间修改增加问题,模板题,注意懒惰处理。134434492013010521003468Accepted4308K1610MSC++2362B2014-09-15 15:46:35#include#include#include#include#include#include#include#include

2014-09-15 15:46:25 1049

原创 【hdu】Just a Hook(线段树区间修改)

线段树模板题,练的是懒惰标记。懒惰标记,就是更新一段区间的时候,如果小区间被包含在了所需要更新的区间里面,那么直接对代表这个区间的数组元素赋值,之后做一个标记(表示这个区间的子区间都需要更新)但是不继续递归(这样可以节省很多的时候)。116571152014-09-15 14:17:26Accepted1698796MS2380K1750 BG+

2014-09-15 14:20:13 960

原创 【POJ】Buy Tickets(思路 + 线段树)

POJ线段树经典题目

2014-09-14 21:20:37 901

原创 【hdu】Billboard(线段树)

线段树的区间最大值问题,边界特殊处理一下。#include#include#include#include#include#includeusing namespace std;#define maxn 222222int tree[maxn << 2];int w,h,m,ok;void BuildTree(int L,int R,int pos){ tree[p

2014-09-13 22:03:04 839

原创 【Hdu】Minimum Inversion Number(逆序,线段树)

利用线段树在nlogn的时间复杂度内求一段数的逆序。由于给的序列是由0 ~ n -1组成的,求出初始的逆序之后可以递推出移动之后的逆序数。#include#include#include#includeusing namespace std;typedef long long LL;const int maxn = 5555;int tree[maxn << 2];int

2014-09-13 20:07:59 781

原创 【hdu】I Hate It(线段树,结点修改求区间最大值)

线段树的模板题,还是二分递归。#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long LL;#define MAXD 10#def

2014-09-12 20:17:33 1002

原创 【hdu】敌兵布阵(线段树,更加结点,区间求和)

最近开始刷线段树,主要围绕notonlysuccess的线段树总结刷,自

2014-09-12 19:55:33 475

原创 【UVA】10318-Security Panel(DFS 回溯)

比较经典的减枝回溯

2014-09-09 19:56:33 817

原创 【UVA】10534 - Wavio Sequence(LIS最长上升子序列)

这题一看10000的数据量就知道必须用nlog(n)的时间复杂度。所以特意去看了最长上升子序列的nlog(n)的算法。如果有2个位置,该位置上的元素为A[i]和A[j],并且他们满足以下条件:1.dp[i] = dp[j]    (dp[x]代表以x结尾的最长上升子序列长度)2.A[i] 3.i 那么毫无疑问,选择dp[i] 一定优于选择dp[j]那么我们可以利用g[i

2014-09-06 22:17:47 691

原创 【UVA】10652-Board Wrapping(凸包问题)

又增加了2个模板。#include #include #include #include #include #include #include #include #include #include using namespace std;const double eps = 1e-10;#define MAXD 3000#define _PI acos(-1.0)s

2014-09-05 20:37:33 496

原创 【UVA】10739 - String to Palindrome(动态规划)

比较水的动态规划dp[i][j] 将原串 i ~ j 之内的字符转化为回文字符所需要的最小操作次数其中删除操作和添加操作本质上是一样的。三个状态转移方程:dp[i][j] = min(dp[i][j] ,dp[i + 1][j]);dp[i][j] = min(dp[i][j] ,dp[i + 1][j - 1]);dp[i][j] = min(dp[i][j] ,dp

2014-09-04 18:09:17 748

原创 【UVA】10651-Pebble Solitaire(直接递归或者记忆化)

动态规划

2014-09-04 17:18:08 774

原创 【UVA】620-Cellular Structure(递推)

读错题了一开始。一个细胞每次可以进行3中增值方式,给你一个最终形态,问你达到这个形态之前的那个到这个最终形态是通过哪一种方式得到的。直接递推就可以了,小优化就是如果这个字符串长度为偶数,那么肯定发生了变异。14144659620Cellular StructureAcceptedC++0.0092014-09-04 0

2014-09-04 15:52:29 735

原创 【UVA】10404-Bachet's Game(动态规划)

如果d[i]是必胜态,那么d[i + V[j]]一定是必败态,反之亦然。用d[i]代表棋子为i个是否为必胜态。边界条件是d[i] = 1;1413929110404Bachet's GameAcceptedC++0.6622014-09-03 09:44:48#include#include

2014-09-03 17:51:39 831

原创 [UVA]10465 - Homer Simpson(完全背包问题)

完全背包问题,xian

2014-09-03 00:36:59 533

原创 【UVA】10317 - Equating Equations(dfs + 剪枝)

真郁闷,一道普通的搜索题 我拿dp的方法去做,结果一直TLE和WA如果所有数的和为奇数,肯定没有正解。1413345410317Equating EquationsAcceptedC++0.1022014-09-02 09:01:23#include #include #include #incl

2014-09-02 17:07:05 716

原创 【UVA】1346 - Songs(贪心)

根据题意可以得到,长度小,并且频率低的排到前面,所以设 k = l  / q;之后sort排序就可以141286751346SongsAcceptedC++0.0292014-09-01 11:30:14#include #include #include #include #inclu

2014-09-01 19:33:00 742

原创 【UVA】11796 - Dog Distance(相对运动)

几何、向量计算

2014-09-01 17:21:26 930

空空如也

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

TA关注的人

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